Table of Contents

SNMP Polling

You can configure MetricsHub to periodically poll any system or device through SNMP v1, v2 and v3, retrieve the value of a given OID (object identifier) or an entire SNMP table, and push OpenTelemetry metrics with the extracted values.

In the example below, we configured MetricsHub to:

  • monitor the power-cooling-prod resource using SNMP
  • track power-related metrics
  • retrieve values of a given OID
  • extract and expose the cooling.power metric.

Procedure

To achieve this use case, we:

  • Declare the resource to be monitored (power-cooling-prod)​ and its attributes (host.name, host.type)​
    resources:
      power-cooling-prod:
        attributes:
          host.name: power-cooling-prod
          host.type: other
  • Configure the SNMP protocol
        protocols:
          snmp:
            version: v2c
            community: public
            timeout: 120s
            port: 161
  • Define a monitor job (power_cooling) to track power-related metrics​
        monitors:
          power_cooling:
            simple:
  • Set up an SNMP source (PowerCooling) to retrieve the power consumed by the cooling system
              sources:
                PowerCooling:
                  type: snmpGet
                  oid: 1.3.6.1.4.1.4555.10.20.30.1.80031.5.1
  • Extract and expose the metric (cooling.power) from the SNMP response.
              mapping:
                source: ${source::PowerCooling}
                attributes:
                  id: power-cooling-prod
                metrics:
                  cooling.power: $1

Here is the complete YAML configuration:

    resources:
      power-cooling-prod:
        attributes:
          host.name: power-cooling-prod
          host.type: other
        protocols:
          snmp:
            version: v2c
            community: public
            timeout: 120s
            port: 161
        monitors:
          power_cooling:
            simple:
              sources:
                PowerCooling:
                  type: snmpGet
                  oid: 1.3.6.1.4.1.4555.10.20.30.1.80031.5.1
              mapping:
                source: ${source::PowerCooling}
                attributes:
                  id: power-cooling-prod
                metrics:
                  cooling.power: $1

Supporting Resources

No results.