From 5db2f64a541735d8e77154f6729f4f1654aa6caa Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Thu, 25 Jan 2024 12:39:35 +0100 Subject: [PATCH] modified readme --- README.md | 57 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index bc2815a..cbadbec 100644 --- a/README.md +++ b/README.md @@ -2,40 +2,61 @@ A simple go app that reads SNMP values and publishes it to the specified MQTT endpoint at the specified interval. -Please download the precompiled binary from the releases page: https://github.com/dchote/snmp-mqtt/releases +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: ``` -Usage: snmp-mqtt [options] - -Options: - --endpoints_map= SNMP Endpoints Map File [default: ./endpoints.json] - --server= MQTT server host/IP [default: 127.0.0.1] - --port= MQTT server port [default: 1883] - --topic= MQTT topic prefix [default: snmp] - --clientid= MQTT client identifier [default: snmp] - --interval= Poll interval (seconds) [default: 5] - -h, --help Show this screen. - -v, --version Show version. +{"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"}}} ``` -An example endpoints.json file: +``` +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.18.0.1", + "endpoint": "172.16.3.1", + "label": "router", "community": "public", "oidTopics": [ { "oid": ".1.3.6.1.2.1.31.1.1.1.6.4", - "topic": "router/bytesIn" + "label": "wan-in", + "diff": "true" }, { "oid": ".1.3.6.1.2.1.31.1.1.1.10.4", - "topic": "router/bytesOut" + "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" } ] } - ] + ] } -``` \ No newline at end of file +```