More simplified and better defined logging in services. (0.25.7)

This commit is contained in:
Johannes Findeisen 2023-08-22 21:38:33 +02:00
commit a1df843994
5 changed files with 33 additions and 39 deletions

View file

@ -20,7 +20,7 @@ from linspector.environment import Environment
from linspector.linspector import Linspector
from linspector.monitors import Monitors
__version__ = '0.25.6'
__version__ = '0.25.7'
__author__ = 'Johannes Findeisen <you@hanez.org>'

View file

@ -122,7 +122,7 @@ class Monitor:
try:
self._result = self._services[self._service].execute(self._identifier, self,
self._service, **self._args)
self._log.debug(self._result)
self._log.debug(self._databases)
for database in self._databases:
self._databases[database].insert(self._result['host'],
@ -132,6 +132,7 @@ class Monitor:
self._result['service'],
self._result['status'],
int(time.time()))
self._log.info(self._result['message'])
self._log.debug(self._tasks)
for task in self._tasks:

View file

@ -4,8 +4,15 @@ Copyright (c) 2013-2023 Johannes Findeisen <you@hanez.org>. All Rights Reserved.
See LICENSE.
"""
class Service:
def __init__(self, configuration, environment, log):
self._configuration = configuration
self._environment = environment
self._log = log
@staticmethod
def get_str(identifier, host, service, status):
log_string = ('identifier=' + identifier +
' host=' + host + ' service=' + service + ' status=' + status)
return log_string

View file

@ -21,22 +21,15 @@ class PortService(Service):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((monitor.get_host(), int(kwargs['port'])))
sock.close()
self._log.info('Connection to host ' + monitor.get_host() + ' on port ' +
kwargs['port'] + ' successful')
return {'status': 'OK',
'message': 'Connection to host ' + monitor.get_host() + ' on port ' +
kwargs['port'] + ' successful', 'host': monitor.get_host(),
'service': service}
error = 'None'
status = 'OK'
except Exception as err:
self._log.info('Connection to host ' + monitor.get_host() + ' on port ' +
kwargs['port'] + ' failed (' + str(err))
return {'status': 'ERROR',
'message': 'Connection to host ' + monitor.get_host() + ' on port ' +
kwargs['port'] + ' failed (' + str(err) +
')', 'host': monitor.get_host(),
'service': service}
error = str(err)
status = 'ERROR'
return {'error': error,
'host': monitor.get_host(),
'message': self.get_str(identifier, monitor.get_host(), service, status),
'service': service,
'status': status}

View file

@ -17,29 +17,22 @@ class IsConnectedService(Service):
def execute(self, identifier, monitor, service, **kwargs):
self._log.debug('identifier=' + identifier +
' service=' + service +
' object=' + str(self) +
' kwargs=' + str(kwargs))
try:
fc = FritzStatus(address=monitor.get_host(),
password=kwargs['password'])
error = 'None'
if fc.is_connected:
status = 'OK'
else:
status = 'ERROR'
except Exception as err:
self._log.error('identifier=' + identifier +
' host=' + monitor.get_host() +
' service=' + service +
' error=' + str(err))
return {"status": 'ERROR', "message": str(err)}
error = str(err)
status = 'ERROR'
self._log.info('identifier=' + identifier +
' host=' + monitor.get_host() +
' service=' + service +
' status=' + ('OK' if fc.is_connected else 'ERROR'))
result = {"host": monitor.get_host(),
"message": "Uplink on host " + monitor.get_host() + " " +
('UP' if fc.is_connected else 'DOWN'),
"service": service,
"status": ('OK' if fc.is_connected else 'ERROR')}
result = {'error': error,
'host': monitor.get_host(),
'message': self.get_str(identifier, monitor.get_host(), service, status),
'service': service,
'status': status}
return result