def test_hostname_uuid_os(self): hostname = host.hostname() assert_that(hostname, is_not(None)) uuid = host.uuid() assert_that(uuid, is_not(None)) os_name = host.os_name() assert_that(os_name, is_not(None))
def __init__(self, **kwargs): super(SystemObject, self).__init__(**kwargs) self.uuid = self.data["uuid"] self.hostname = self.data["hostname"] meta_collector_class = SystemCommonMetaCollector if host.os_name() == "linux" and host.linux_name() in ("centos",): meta_collector_class = SystemCentosMetaCollector self.collectors = [ meta_collector_class(object=self, interval=self.intervals["meta"]), SystemMetricsCollector(object=self, interval=self.intervals["metrics"]), ]
def __init__(self, **kwargs): super(SystemObject, self).__init__(**kwargs) self.uuid = self.data['uuid'] self.hostname = self.data['hostname'] meta_collector_class = SystemCommonMetaCollector if host.os_name() == 'linux' and host.linux_name() in ('centos',): meta_collector_class = SystemCentosMetaCollector self.collectors = [ meta_collector_class(object=self, interval=self.intervals['meta']), SystemMetricsCollector(object=self, interval=self.intervals['metrics']) ]
def collect(self): meta = { 'uuid': self.uuid, 'uname': None, 'boot': int(psutil.boot_time()) * 1000, 'os-type': os_name(), 'hostname': self.hostname, 'network': { 'interfaces': [], 'default': None }, 'disk_partitions': [], 'release': { 'name': None, 'version_id': None, 'version': None }, 'processor': { 'cache': {} }, 'warnings': [] } for method in ( self.uname, self.disk_partitions, self.etc_release, self.proc_cpuinfo, self.lscpu, self.network, self.ec2 ): try: method(meta) except Exception as e: exception_name = e.__class__.__name__ context.log.error('failed to collect meta %s due to %s' % (method.__name__, exception_name)) context.log.debug('additional info:', exc_info=True) self.metad.meta(meta)
def __init__(self, **kwargs): super(NginxObject, self).__init__(**kwargs) self.local_id = self.data['local_id'] self.pid = self.data['pid'] self.version = self.data['version'] self.workers = self.data['workers'] self.prefix = self.data['prefix'] self.bin_path = self.data['bin_path'] self.conf_path = self.data['conf_path'] default_config = context.app_config['containers'][self.type] self.upload_config = self.data.get('upload_config') or default_config.get('upload_config', False) self.run_config_test = self.data.get('run_test') or default_config.get('run_test', False) self.upload_ssl = self.data.get('upload_ssl') or default_config.get('upload_ssl', False) self.filters = self.data.get('filters') or [] self.config = NginxConfig(self.conf_path, prefix=self.prefix) self.config.full_parse() self.plus_status_external_url, self.plus_status_internal_url = self.get_alive_plus_status_urls() self.plus_status_enabled = True if (self.plus_status_external_url or self.plus_status_internal_url) else False self.stub_status_url = self.get_alive_stub_status_url() self.stub_status_enabled = True if self.stub_status_url else False self.processes = [] meta_collector_class = NginxCommonMetaCollector if host.os_name() == 'linux': if host.linux_name() in ('ubuntu', 'debian'): meta_collector_class = NginxDebianMetaCollector elif host.linux_name() in ('centos',): meta_collector_class = NginxCentosMetaCollector self.collectors = [ meta_collector_class( object=self, interval=self.intervals['meta'] ), NginxMetricsCollector( object=self, interval=self.intervals['metrics'] ), NginxConfigCollector( object=self, interval=self.intervals['configs'], ) ] # access logs for log_filename, format_name in self.config.access_logs.iteritems(): log_format = self.config.log_formats.get(format_name) try: self.collectors.append( NginxAccessLogsCollector( object=self, interval=self.intervals['logs'], filename=log_filename, log_format=log_format, ) ) # Send access log discovery event. self.eventd.event(level=INFO, message='nginx access log %s found' % log_filename) except IOError as e: exception_name = e.__class__.__name__ context.log.error( 'failed to start reading log %s due to %s (maybe has no rights?)' % (log_filename, exception_name) ) context.log.debug('additional info:', exc_info=True) # error logs for log_filename, log_level in self.config.error_logs.iteritems(): try: self.collectors.append( NginxErrorLogsCollector( object=self, interval=self.intervals['logs'], filename=log_filename, level=log_level ) ) # Send error log discovery event. self.eventd.event(level=INFO, message='nginx error log %s found' % log_filename) except IOError as e: exception_name = e.__class__.__name__ context.log.error( 'failed to start reading log %s due to %s (maybe has no rights?)' % (log_filename, exception_name) ) context.log.debug('additional info:', exc_info=True)