def start_up(): try: config.init_config() except config.cfg.ConfigFilesNotFoundError as ex: _LOG.exception(ex.message) conf = config.get_config() application = api = falcon.API() api.add_route('/', VersionResource()) #http correlation endpoint api.add_route('/v1/tenant/{tenant_id}/publish', PublishMessageResource()) #syslog correlation endpoint server = SyslogServer(("0.0.0.0", 5140), syslog.MessageHandler(conf)) server.start() syslog_server_proc = Process(target=start_io) syslog_server_proc.start() _LOG.info('Syslog server started as process: {}'.format( syslog_server_proc.pid)) celery.conf.CELERYBEAT_SCHEDULE = { 'worker_stats': { 'task': 'stats.publish', 'schedule': timedelta(seconds=publish_stats.WORKER_STATUS_INTERVAL) }, } #include blank argument to celery in order for beat to start correctly celery_proc = Process(target=celery.worker_main, args=[['', '--beat']]) celery_proc.start() _LOG.info('Celery started as process: {}'.format(celery_proc.pid)) return application
def start_up(): try: config.init_config() except config.cfg.ConfigFilesNotFoundError as ex: _LOG.exception(ex.message) conf = config.get_config() application = api = falcon.API() api.add_route('/', VersionResource()) #http correlation endpoint api.add_route('/v1/tenant/{tenant_id}/publish', PublishMessageResource()) #syslog correlation endpoint server = SyslogServer( ("0.0.0.0", 5140), syslog.MessageHandler(conf)) server.start() syslog_server_proc = Process(target=start_io) syslog_server_proc.start() _LOG.info( 'Syslog server started as process: {}'.format(syslog_server_proc.pid) ) celery.conf.CELERYBEAT_SCHEDULE = { 'worker_stats': { 'task': 'stats.publish', 'schedule': timedelta(seconds=publish_stats.WORKER_STATUS_INTERVAL) }, } #include blank argument to celery in order for beat to start correctly #celery_proc = Process(target=celery.worker_main, args=[['', '--beat']]) celery_proc = Process(target=celery.worker_main) celery_proc.start() _LOG.info( 'Celery started as process: {}'.format(celery_proc.pid) ) return application
_LOG = get_logger(__name__) if __name__ == '__main__': # Set up the zmq message caster caster = ZeroMQCaster(config.core.zmq_bind_host) ssl_options = None cert_file = config.ssl.cert_file key_file = config.ssl.key_file if None not in (cert_file, key_file): ssl_options = dict() ssl_options['certfile'] = cert_file ssl_options['keyfile'] = key_file _LOG.debug('SSL enabled: {}'.format(ssl_options)) # Set up the syslog server syslog_server = SyslogServer(config.core.syslog_bind_host, SyslogToZeroMQHandler(caster), ssl_options) syslog_server.start() # Take over SIGTERM and SIGINT signal.signal(signal.SIGTERM, stop) signal.signal(signal.SIGINT, stop) # Start I/O start_io()
_LOG = get_logger(__name__) if __name__ == "__main__": # Set up the zmq message caster caster = ZeroMQCaster(config.core.zmq_bind_host) ssl_options = None cert_file = config.ssl.cert_file key_file = config.ssl.key_file if None not in (cert_file, key_file): ssl_options = dict() ssl_options["certfile"] = cert_file ssl_options["keyfile"] = key_file _LOG.debug("SSL enabled: {}".format(ssl_options)) # Set up the syslog server syslog_server = SyslogServer(config.core.syslog_bind_host, SyslogToZeroMQHandler(caster), ssl_options) syslog_server.start() # Take over SIGTERM and SIGINT signal.signal(signal.SIGTERM, stop) signal.signal(signal.SIGINT, stop) # Start I/O start_io()
class MessageHandler(SyslogMessageHandler): def __init__(self): self.msg = b'' self.msg_head = None self.msg_count = 0 def message_head(self, message_head): self.msg_count += 1 self.msg_head = message_head def message_part(self, message_part): self.msg += message_part def message_complete(self, last_message_part): message_dict = self.msg_head.as_dict() message_dict['message'] = (self.msg + last_message_part).decode('utf-8') _LOG.debug('Message: {}'.format(json.dumps(message_dict))) self.msg_head = None self.msg = b'' if __name__ == "__main__": syslog_server = SyslogServer(("127.0.0.1", 5140), MessageHandler()) json_server = JsonStreamServer(("127.0.0.1", 9001), JsonHandler()) syslog_server.start() json_server.start() start_io()
config = config.load_config() logging_manager = get_log_manager() logging_manager.configure(config) ssl_options = None cert_file = config.ssl.cert_file key_file = config.ssl.key_file if None not in (cert_file, key_file): ssl_options = dict() ssl_options['certfile'] = cert_file ssl_options['keyfile'] = key_file _LOG.debug('SSL enabled: {}'.format(ssl_options)) # Set up the syslog server syslog_server = SyslogServer(config.core.syslog_bind_host, MessageHandler(), ssl_options) syslog_server.start() # Take over SIGTERM and SIGINT signal.signal(signal.SIGTERM, stop) signal.signal(signal.SIGINT, stop) # Start I/O start_io() except Exception as ex: _LOG.exception(ex)