示例#1
0
    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
示例#2
0
    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
示例#3
0
    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__()