Skip to content

SNMP Monitoring Results Have Metrics Missing

Marc Netterfield edited this page Apr 30, 2026 · 1 revision

SNMP Monitoring Results Have Metrics Missing

Problem

During SNMP monitoring, you don't see all of the expected metrics for your device.

Solution

First, identify what metrics are being collected. If you are using New Relic, run the following NRQL query (replacing $DEVICE_NAME as necessary):

FROM Metric SELECT
  uniques(metricName)
WHERE instrumentation.provider = 'kentik'
AND device_name = '$DEVICE_NAME'
SINCE 1 HOUR AGO LIMIT MAX

If the expected metric is not listed, work through the following checks.

Verify the device responds to the target OID

Run the snmpwalk utility from the host where your ktranslate agent is running, using the SNMP credentials configured in snmp-base.yaml.

If the test fails, the device most likely does not support that OID — a limitation controlled by the vendor.

Tip: If you are using SNMPv3, validate the v3 user configuration on the device. In most cases, device administrators must explicitly grant access to MIBs for a v3 user account.

Verify the OID is listed in the SNMP profile

Check whether the OID exists in the device's profile in the snmp-profiles repository.

  • If there is an issue with an OID that already exists in the profile, open a GitHub issue to notify the repository maintainers.
  • If the OID does not exist in the profile at all, submit a pull request to have it added.

Tip: The value of instrumentation.name on your dimensional metrics maps directly to the profile file name where metrics collection is configured.

Verify the device is matched to the correct SNMP profile

Check that the mib_profile value in snmp-base.yaml matches the correct profile file name:

devices:
  deviceOne:
    ...
    mib_profile: cisco-catalyst.yml
    ...

If you are using New Relic, confirm this with the following NRQL query (replacing $DEVICE_NAME as necessary):

FROM Metric SELECT
  latest(instrumentation.name)
WHERE instrumentation.provider = 'kentik'
AND device_name = '$DEVICE_NAME'

The SNMP profiles library is constantly updated, and your container image may not have the latest profile settings. If the mib_profile doesn't match the expected profile, you can either manually update your configuration file or run a new discovery.

Always pull the latest image before making changes:

docker pull kentik/ktranslate:v2

Alternatively, update via apt-get:

curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.deb.sh | sudo bash && \
sudo apt-get install ktranslate

Verify ktranslate is polling the device as expected

Check your logs for Warn-severity errors indicating ktranslate is having trouble collecting certain metrics.

Log filter:

collector.name:"ktranslate" message:"*OID failed to return results*"

New Relic NRQL:

FROM Log SELECT * WHERE `collector.name` = 'ktranslate' AND `message` LIKE '%OID failed to return results%'

Example log output:

KTranslate>cisco-7513 OID failed to return results, Metric Name: ipIfStatsHCInOctets, Profile: cisco-asr

This tells you the target device (cisco-7513) is not returning metrics for the ipIfStatsHCInOctets OID, which is defined in the cisco-asr SNMP profile.

Run a targeted poll to confirm what ktranslate receives:

Use the -snmp_poll_now flag to run ktranslate as a short-lived container that polls a single device. Replace TARGET_DEVICE_NAME with the value of devices.[].device_name in your configuration:

docker run -d --name ktranslate-poll_now --rm --pull=always -p 162:1620/udp \
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
kentik/ktranslate:v2 \
  -snmp /snmp-base.yaml \
  -service_name=poll_now \
  -snmp_poll_now=$TARGET_DEVICE_NAME \
  -format=new_relic_metric

View the results with:

docker logs --follow ktranslate-poll_now

Example output — device metadata success:

2022-01-03T23:08:50.583 ktranslate/poll_now [Info] KTranslate SNMP Device Metadata: Data received: {SysName:router123 SysObjectID:.1.3.6.1.4.1.9.1.46 SysDescr:Cisco Internetwork Operating System Software ...}
2022-01-03T23:08:50.585 ktranslate/poll_now [Info] nrmFormat New Metadata for router123

Example output — device statistics success:

[
  {
    "metrics": [
      {
        "name": "kentik.snmp.ifInErrors",
        "type": "count",
        "value": 0,
        "attributes": {
          "if_Speed": 2,
          "mib-name": "IF-MIB",
          "poll_duration_sec": 60,
          "if_Type": "proppointtopointserial",
          "if_AdminStatus": "up",
          "objectIdentifier": ".1.3.6.1.2.1.2.2.1.14",
          "mib-table": "if",
          "if_OperStatus": "up",
          "device_name": "router123",
          "provider": "kentik-router",
          "if_interface_name": "Se11/0/0:16",
          "instrumentation.name": "cisco-asr",
          "if_Index": "63",
          "if_Address": "10.201.0.65",
          "eventType": "KSnmpInterfaceMetric",
          "if_Netmask": "255.255.255.252",
          "if_Alias": "pkt.ds1"
        }
      }
    ]
  }
]

Clone this wiki locally