def main(): try: from clog.loggers import ScribeLogger except ImportError: print("Scribe logger unavailable, exiting.", file=sys.stderr) sys.exit(1) scribe_logger = ScribeLogger(host="169.254.255.254", port=1463, retry_interval=5) cluster = load_system_paasta_config().get_cluster() client = get_docker_client() for ( timestamp, hostname, container_id, process_name, ) in capture_oom_events_from_stdin(): try: docker_inspect = client.inspect_container(resource_id=container_id) except (APIError): continue env_vars = get_container_env_as_dict(docker_inspect) service = env_vars.get("PAASTA_SERVICE", "unknown") instance = env_vars.get("PAASTA_INSTANCE", "unknown") log_line = LogLine( timestamp=timestamp, hostname=hostname, container_id=container_id, cluster=cluster, service=service, instance=instance, process_name=process_name, ) log_to_scribe(scribe_logger, log_line) log_to_paasta(log_line) send_sfx_event(service, instance, cluster)
def check_create_default_loggers(): """Set up global loggers, if necessary.""" global loggers # important to specifically compare to None, since empty list means something different if loggers is None: # initialize list of loggers loggers = [] # possibly add logger that writes to local files (for dev) if config.clog_enable_file_logging: if config.log_dir is None: raise ValueError( 'log_dir not set; set it or disable clog_enable_file_logging' ) loggers.append(FileLogger()) # possibly add logger that writes to scribe if not config.scribe_disable: logger = ScribeLogger(config.scribe_host, config.scribe_port, config.scribe_retry_interval) loggers.append(logger) if config.clog_enable_stdout_logging: loggers.append(StdoutLogger()) if not loggers and not config.is_logging_configured: raise LoggingNotConfiguredError
def setup_sandbox(self): self.scribe_logdir = tempfile.mkdtemp() self.stream = 'foo' self.scribe_port = find_open_port() self.log_path = get_log_path(self.scribe_logdir, self.stream) self.logger = ScribeLogger('localhost', self.scribe_port, retry_interval=10, report_status=mock.Mock()) with scribed_sandbox(self.scribe_port, self.scribe_logdir): yield shutil.rmtree(self.scribe_logdir)
def main(): scribe_logger = ScribeLogger(host='169.254.255.254', port=1463, retry_interval=5) cluster = load_system_paasta_config().get_cluster() client = get_docker_client() for timestamp, hostname, container_id, process_name in capture_oom_events_from_stdin(): try: docker_inspect = client.inspect_container(resource_id=container_id) except (APIError): continue env_vars = get_container_env_as_dict(docker_inspect) service = env_vars.get('PAASTA_SERVICE', 'unknown') instance = env_vars.get('PAASTA_INSTANCE', 'unknown') log_line = LogLine( timestamp=timestamp, hostname=hostname, container_id=container_id, cluster=cluster, service=service, instance=instance, process_name=process_name, ) log_to_scribe(scribe_logger, log_line) log_to_paasta(log_line) send_sfx_event(service, instance, cluster)
def __init__(self, host, port, stream, retry_interval=0): logging.Handler.__init__(self) self.stream = stream self.logger = ScribeLogger(host, port, retry_interval) if use_zipkin(): self.logger = ZipkinTracing(self.logger)
def __init__(self, host, port, stream, retry_interval=0): logging.Handler.__init__(self) self.stream = stream self.logger = ScribeLogger(host, port, retry_interval)
def construct_scribelogger_with_mocked_tsocket(self, timeout=None): with mock.patch('thriftpy.transport.socket.TSocket', spec=TSocket): if timeout is None: yield ScribeLogger(HOST, PORT, RETRY) else: yield ScribeLogger(HOST, PORT, RETRY, logging_timeout=timeout)