def __init__(self): """See base class.""" super(PluginPollingGenericSNMPMetrics, self).__init__() self._metrics = metrics.PanoptesMetricsGroupSet() self._config = None self._namespace = None self._device_model = None self._polling_status = None self._polling_status_metric_name = None self._enrichment_schema_version = None self._oid_maps = None self._snmpget_oid_map = None
def run(self, context): """See base class.""" self._plugin_context = context self._logger = context.logger self._device = context.data self._device_host = self._device.resource_endpoint self._device_model = self._device.resource_metadata.get( u'model', u'unknown') self._execute_frequency = int( context.config[u'main'][u'execute_frequency']) if u'enrichment_schema_version' in context.config[u'main']: self._enrichment_schema_version = context.config[u'main'][ u'enrichment_schema_version'] else: self._enrichment_schema_version = u'0.1' self._namespace = context.config[u'main'][u'namespace'] self._snmp_connection = None self._enrichment = context.enrichment self._metrics = metrics.PanoptesMetricsGroupSet() polling_status_metric_name = context.config[u'main'][ u'polling_status_metric_name'] self._polling_status = polling_status.PanoptesPollingStatus( resource=self._device, execute_frequency=self._execute_frequency, logger=self._logger, metric_name=polling_status_metric_name, context=context) self._max_repetitions = _MAX_REPETITIONS self._logger.info( u'Going to poll device "%s" (model "%s") for device metrics' % (self._device_host, self._device_model)) start_time = time.time() device_results = self.get_device_metrics() end_time = time.time() if device_results: self._logger.info( u'Done polling device "%s" in %.2f seconds, %s metrics' % (self._device_host, end_time - start_time, len(device_results))) else: self._logger.warn(u'Error polling device %s' % self._device_host) return device_results
def __init__(self): self._config = None self._plugin_context = None self._namespace = None self._logger = None self._device = None self._device_host = None self._device_model = None self._execute_frequency = None self._snmp_connection = None self._metrics = metrics.PanoptesMetricsGroupSet() self._enrichment_schema_version = None self._polling_status = None self._max_repetitions = None self._enrichment = None self._oid_maps = None self._snmpget_oid_map = None super(PluginPollingGenericSNMPMetrics, self).__init__()