Exemplo n.º 1
0
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()
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
def _get_serialized_subscriber_states(cpe_monitor: CpeMonitoringModule):
    return serialize_subscriber_states(cpe_monitor.get_subscriber_state())