Wolfgang Hottgenroth e8c276012f
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix, 3
2025-02-10 13:00:59 +01:00
2025-02-10 12:37:46 +01:00
2025-02-10 13:00:59 +01:00
2025-02-10 12:48:42 +01:00
2025-02-10 12:45:27 +01:00
2025-02-10 12:37:46 +01:00
2025-02-10 12:37:46 +01:00
2025-02-10 12:37:46 +01:00

snmp-mqtt

This project is directly derived from https://github.com/dchote/snmp-mqtt

A simple go app that reads SNMP values and publishes it to the specified MQTT endpoint at the specified interval.

In constrast to the original version, all configuration must be provided via an environment variable containing a JSON string.

The MQTT configuration is part of this JSON string.

The topic has been moved to the MQTT configuration and there is now only one topic for all endpoints and variables.

The published message on MQTT looks like this:

{"device":"172.16.3.1","label":"router","variables":{"lan-in":{"label":"lan-in","variable":".1.3.6.1.2.1.31.1.1.1.6.2","value":"979673705579"},"lan-out":{"label":"lan-out","variable":".1.3.6.1.2.1.31.1.1.1.10.2","value":"1813410276168"},"wan-in":{"label":"wan-in","variable":".1.3.6.1.2.1.31.1.1.1.6.4","value":"83591215399"},"wan-out":{"label":"wan-out","variable":".1.3.6.1.2.1.31.1.1.1.10.4","value":"83741895468"}}}
export SNMP_MQTT_CONF=$(cat config.json)
./smq

An example config.json file:

{
  "mqtt": {
    "broker": "mqtt://172.23.1.102:1883",
    "tlsEnable": "false",
    "topic": "snmp"
  },
  "interval": 10,
  "snmpEndpoints": [
    {
      "endpoint": "172.16.3.1",
      "label": "router",
      "community": "public",
      "oidTopics": [
        {
          "oid": ".1.3.6.1.2.1.31.1.1.1.6.4",
          "label": "wan-in",
          "diff": "true"
        },
        {
          "oid": ".1.3.6.1.2.1.31.1.1.1.10.4",
          "label": "wan-out",
          "diff": "true"
        },
        {
          "oid": ".1.3.6.1.2.1.31.1.1.1.6.2",
          "label": "lan-in",
          "diff": "true"
        },
        {
          "oid": ".1.3.6.1.2.1.31.1.1.1.10.2",
          "label": "lan-out",
          "diff": "true"
        }
      ]
    }
  ]
}
Description
No description provided
Readme MIT 53 KiB
Languages
Go 85.4%
Shell 13.5%
Dockerfile 1.1%