def main(): """Start monitord""" manual_ping_targets = {} service = MagmaService('monitord', mconfigs_pb2.MonitorD()) # Optionally pipe errors to Sentry sentry_init(service_name=service.name, sentry_mconfig=service.shared_mconfig.sentry_config) # Monitoring thread loop mtr_interface = load_service_config("monitord")["mtr_interface"] # Add manual IP targets from yml file try: targets = load_service_config("monitord")["ping_targets"] for target, data in targets.items(): ip_string = data.get("ip") if ip_string: ip = IPAddress( version=IPAddress.IPV4, address=str.encode(ip_string), ) logging.debug( 'Adding %s:%s:%s to ping target', target, ip.version, ip.address, ) manual_ping_targets[target] = ip except KeyError: logging.warning("No ping targets configured") cpe_monitor = CpeMonitoringModule() cpe_monitor.set_manually_configured_targets(manual_ping_targets) icmp_monitor = ICMPJob( cpe_monitor, service.mconfig.polling_interval, service.loop, mtr_interface, ) icmp_monitor.start() # Register a callback function for GetOperationalStates service.register_operational_states_callback( lambda: _get_serialized_subscriber_states(cpe_monitor), ) # Run the service loop service.run() # Cleanup the service service.close()
def main(): logging.basicConfig( level=logging.INFO, format='[%(asctime)s %(levelname)s %(name)s] %(message)s', ) mc = load_service_mconfig('td-agent-bit', FluentBit()) control_proxy_config = load_service_config('control_proxy') host = control_proxy_config['fluentd_address'] port = control_proxy_config['fluentd_port'] cacert = control_proxy_config['rootca_cert'] certfile = control_proxy_config['gateway_cert'] keyfile = control_proxy_config['gateway_key'] context = { 'host': host, 'port': port, 'cacert': cacert, 'certfile': certfile, 'keyfile': keyfile, 'extra_tags': mc.extra_tags.items(), 'throttle_rate': mc.throttle_rate or 1000, 'throttle_window': mc.throttle_window or 5, 'throttle_interval': mc.throttle_interval or '1m', 'files': mc.files_by_tag.items(), } if certfile and os.path.exists(certfile): context['is_tls_enabled'] = True else: context['is_tls_enabled'] = False generate_template_config('td-agent-bit', 'td-agent-bit', CONFIG_OVERRIDE_DIR, context.copy())
def main(): """ main() for monitord service""" manual_ping_targets = {} service = MagmaService('monitord', mconfigs_pb2.MonitorD()) # Optionally pipe errors to Sentry sentry_init() # Monitoring thread loop mtr_interface = load_service_config("monitord")["mtr_interface"] # Add manual IP targets from yml file 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.warning("No ping targets configured") cpe_monitor = CpeMonitoringModule() cpe_monitor.set_manually_configured_targets(manual_ping_targets) icmp_monitor = ICMPMonitoring(cpe_monitor, service.mconfig.polling_interval, service.loop, mtr_interface) icmp_monitor.start() # Register a callback function for GetOperationalStates service.register_operational_states_callback( _get_serialized_subscriber_states(cpe_monitor)) # Run the service loop service.run() # Cleanup the service service.close()
def main(): """ main() for monitord service""" service = MagmaService('monitord', mconfigs_pb2.MonitorD()) # Monitoring thread loop mtr_interface = load_service_config("monitord")["mtr_interface"] icmp_monitor = ICMPMonitoring(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 main(): logging.basicConfig( level=logging.INFO, format='[%(asctime)s %(levelname)s %(name)s] %(message)s', ) control_proxy_config = load_service_config('control_proxy') host = control_proxy_config['fluentd_address'] port = control_proxy_config['fluentd_port'] cacert = control_proxy_config['rootca_cert'] certfile = control_proxy_config['gateway_cert'] keyfile = control_proxy_config['gateway_key'] context = { 'extra_tags': _get_extra_tags().items(), 'host': host, 'port': port, 'cacert': cacert, 'certfile': certfile, 'keyfile': keyfile, } generate_template_config( 'td-agent-bit', 'td-agent-bit', CONFIG_OVERRIDE_DIR, context.copy() )