def _initialize(self): """Performs monitor-specific initialization.""" # Set up tags for this file. tags = self._config.get('tags', default=JsonObject()) if not type(tags) is dict and not type(tags) is JsonObject: raise BadMonitorConfiguration('The configuration field \'tags\' is not a dict or JsonObject', 'tags') # Make a copy just to be safe. tags = JsonObject(content=tags) tags['parser'] = 'agent-metrics' self.log_config = { 'attributes': tags, 'parser': 'agent-metrics', 'path': 'linux_system_metrics.log', } collector_directory = self._config.get('collectors_directory', convert_to=str, default=SystemMetricsMonitor.__get_collectors_directory()) collector_directory = os.path.realpath(collector_directory) if not os.path.isdir(collector_directory): raise BadMonitorConfiguration('No such directory for collectors: %s' % collector_directory, 'collectors_directory') self.options = TcollectorOptions() self.options.cdir = collector_directory self.modules = tcollector.load_etc_dir(self.options, tags) self.tags = tags
def _initialize(self): """Performs monitor-specific initialization.""" # Set up tags for this file. tags = self._config.get("tags", default=JsonObject()) if type(tags) is not dict and type(tags) is not JsonObject: raise BadMonitorConfiguration( "The configuration field 'tags' is not a dict or JsonObject", "tags" ) # Make a copy just to be safe. tags = JsonObject(content=tags) tags["parser"] = "agent-metrics" self.log_config = { "attributes": tags, "parser": "agent-metrics", "path": "linux_system_metrics.log", } collector_directory = self._config.get( "collectors_directory", convert_to=six.text_type, default=SystemMetricsMonitor.__get_collectors_directory(), ) collector_directory = os.path.realpath(collector_directory) if not os.path.isdir(collector_directory): raise BadMonitorConfiguration( "No such directory for collectors: %s" % collector_directory, "collectors_directory", ) self.options = TcollectorOptions() self.options.cdir = collector_directory self.options.network_interface_prefixes = self._config.get( "network_interface_prefixes", default="eth" ) if isinstance(self.options.network_interface_prefixes, six.string_types): self.options.network_interface_prefixes = [ self.options.network_interface_prefixes ] self.options.network_interface_suffix = self._config.get( "network_interface_suffix", default="[0-9A-Z]+" ) self.options.local_disks_only = self._config.get("local_disks_only") self.modules = tcollector.load_etc_dir(self.options, tags) self.tags = tags