def main(): """ main() for monitord service""" service = MagmaService('monitord', mconfigs_pb2.MonitorD()) # Monitoring thread loop icmp_monitor = ICMPMonitoring(service.mconfig.polling_interval, service.loop) icmp_monitor.start() # Register a callback function for GetOperationalStates service.register_operational_states_callback( lambda: serialize_subscriber_states(icmp_monitor.get_subscriber_state( ))) # Run the service loop service.run() # Cleanup the service service.close()
def main(): """ main() for monitord service""" manual_ping_targets = {} service = MagmaService('monitord', mconfigs_pb2.MonitorD()) # Monitoring thread loop mtr_interface = load_service_config("monitord")["mtr_interface"] try: targets = load_service_config("monitord")["ping_targets"] for target, data in targets.items(): if "ip" in data: ip = IPAddress(version=IPAddress.IPV4, address=str.encode(data["ip"])) logging.debug('Adding {}:{}:{} to ping target'.format( target, ip.version, ip.address)) manual_ping_targets[target] = ip except KeyError: logging.error("No ping targets configured") obj = CpeMonitoringModule() obj.set_manually_configured_targets(manual_ping_targets) icmp_monitor = ICMPMonitoring(obj, service.mconfig.polling_interval, service.loop, mtr_interface) icmp_monitor.start() # Register a callback function for GetOperationalStates service.register_operational_states_callback( lambda: serialize_subscriber_states(icmp_monitor.get_subscriber_state( ))) # Run the service loop service.run() # Cleanup the service service.close()
def _get_serialized_subscriber_states(cpe_monitor: CpeMonitoringModule): return serialize_subscriber_states(cpe_monitor.get_subscriber_state())