diff --git a/etc/linspector/monitors/network1/gateway.ini b/etc/linspector/monitors/network1/gateway.ini index 324799e..4f86c14 100644 --- a/etc/linspector/monitors/network1/gateway.ini +++ b/etc/linspector/monitors/network1/gateway.ini @@ -6,7 +6,7 @@ identifier = cable service = net.Fritzbox interval = 60 # default delimiters '=' and ':' should be changed to ',' to be more native -notifications = SMS:Email +notifications = phone.SMS:net.Email email_receivers = admin@example.com:fallback@example.com sms_receivers = +329084320984:+39804932409 host = 192.168.0.1 diff --git a/linspector/notifications/phone/call.py b/linspector/notifications/phone/call.py index e69de29..68545b8 100644 --- a/linspector/notifications/phone/call.py +++ b/linspector/notifications/phone/call.py @@ -0,0 +1,35 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.notifications.notification import Notification + +logger = getLogger('linspector') + + +class CallNotification(Notification): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/http/keyword.py b/linspector/services/http/keyword.py index e69de29..f76947b 100644 --- a/linspector/services/http/keyword.py +++ b/linspector/services/http/keyword.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class KeywordService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/misc/dummy.py b/linspector/services/misc/dummy.py index e69de29..ea7b038 100644 --- a/linspector/services/misc/dummy.py +++ b/linspector/services/misc/dummy.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class DummyService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/misc/random.py b/linspector/services/misc/random.py index e69de29..a8005d3 100644 --- a/linspector/services/misc/random.py +++ b/linspector/services/misc/random.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class RandomService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/misc/shell.py b/linspector/services/misc/shell.py index e69de29..04dec6d 100644 --- a/linspector/services/misc/shell.py +++ b/linspector/services/misc/shell.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class ShellService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/net/fritzbox.py b/linspector/services/net/fritzbox.py index 2005764..0c12f3a 100644 --- a/linspector/services/net/fritzbox.py +++ b/linspector/services/net/fritzbox.py @@ -22,13 +22,13 @@ OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from logging import getLogger -from linspector.monitors.monitor import Monitor +from linspector.services.service import Service logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class FritzboxMonitor(Monitor): +class FritzboxMonitor(Service): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/services/net/ping.py b/linspector/services/net/ping.py index 793ca26..4cf47f5 100644 --- a/linspector/services/net/ping.py +++ b/linspector/services/net/ping.py @@ -22,13 +22,13 @@ OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from logging import getLogger -from linspector.monitors.monitor import Monitor +from linspector.services.service import Service logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class PingMonitor(Monitor): +class PingService(Service): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/services/net/port.py b/linspector/services/net/port.py index 5b08ed9..adc34b2 100644 --- a/linspector/services/net/port.py +++ b/linspector/services/net/port.py @@ -22,13 +22,13 @@ OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ from logging import getLogger -from linspector.monitors.monitor import Monitor +from linspector.services.service import Service logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class PortType(Monitor): +class PortService(Service): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/services/net/speedtest.py b/linspector/services/net/speedtest.py index 1733769..c47cb9d 100644 --- a/linspector/services/net/speedtest.py +++ b/linspector/services/net/speedtest.py @@ -28,13 +28,13 @@ import time from logging import getLogger -from linspector.monitors.monitor import Monitor +from linspector.services.service import Service logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class SpeedtestMonitor(Monitor): +class SpeedtestService(Service): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/services/service.py b/linspector/services/service.py index b563291..ed10011 100644 --- a/linspector/services/service.py +++ b/linspector/services/service.py @@ -26,7 +26,7 @@ from logging import getLogger logger = getLogger('linspector') -class Type: +class Service: def __init__(self, configuration, environment): self.__configuration = configuration diff --git a/linspector/services/services.py b/linspector/services/services.py index 0fd30af..cfdc3e7 100644 --- a/linspector/services/services.py +++ b/linspector/services/services.py @@ -26,7 +26,7 @@ from logging import getLogger logger = getLogger('linspector') -class Types: +class Services: def __init__(self, configuration, environment): super().__init__() diff --git a/linspector/services/snmp/get.py b/linspector/services/snmp/get.py index e69de29..93e34dd 100644 --- a/linspector/services/snmp/get.py +++ b/linspector/services/snmp/get.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class GetService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/ssh/ssh.py b/linspector/services/ssh/ssh.py index e69de29..cfa542c 100644 --- a/linspector/services/ssh/ssh.py +++ b/linspector/services/ssh/ssh.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class SSHService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/tasks/storage/redis.py b/linspector/tasks/storage/redis.py index de2196f..97a11a5 100644 --- a/linspector/tasks/storage/redis.py +++ b/linspector/tasks/storage/redis.py @@ -28,7 +28,7 @@ logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class RedisPlugin(Task): +class RedisTask(Task): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/tasks/storage/sqlite.py b/linspector/tasks/storage/sqlite.py index a10f87d..b017757 100644 --- a/linspector/tasks/storage/sqlite.py +++ b/linspector/tasks/storage/sqlite.py @@ -28,7 +28,7 @@ logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class SQLitePlugin(Task): +class SQLiteTask(Task): def __init__(self, configuration, environment): super().__init__(configuration, environment)