diff --git a/bundles/routeros-monitoring/metadata.py b/bundles/routeros-monitoring/metadata.py index 975ee5a..61a5857 100644 --- a/bundles/routeros-monitoring/metadata.py +++ b/bundles/routeros-monitoring/metadata.py @@ -18,8 +18,8 @@ def routeros_monitoring_telegraf_inputs(metadata): "telegraf": { "config": { "inputs": { - "snmp": [ - { + "snmp": { + h({ "agents": [f"udp://{routeros_node.hostname}:161"], "version": 2, "community": "public", @@ -36,9 +36,54 @@ def routeros_monitoring_telegraf_inputs(metadata): "oid": "SNMPv2-MIB::sysName.0", "is_tag": True, }, + # MikroTik Health (scalars) + { + "name": "hw_voltage", + "oid": "MIKROTIK-MIB::mtxrHlVoltage", + }, + { + "name": "hw_temp", + "oid": "MIKROTIK-MIB::mtxrHlTemperature", + }, + { + "name": "hw_cpu_temp", + "oid": "MIKROTIK-MIB::mtxrHlCpuTemperature", + }, + { + "name": "hw_board_temp", + "oid": "MIKROTIK-MIB::mtxrHlBoardTemperature", + }, + { + "name": "hw_fan1_rpm", + "oid": "MIKROTIK-MIB::mtxrHlFanSpeed1", + }, + { + "name": "hw_fan2_rpm", + "oid": "MIKROTIK-MIB::mtxrHlFanSpeed2", + }, ], - "table": [ + # MikroTik Health (table) + { + "name": "hw", + "oid": "MIKROTIK-MIB::mtxrGaugeTable", + "field": [ + { + "name": "sensor", + "oid": "MIKROTIK-MIB::mtxrGaugeName", + "is_tag": True, + }, + { + "name": "value", + "oid": "MIKROTIK-MIB::mtxrGaugeValue", + }, + { + "name": "unit", + "oid": "MIKROTIK-MIB::mtxrGaugeUnit", + "is_tag": True, + }, + ], + }, # Interface statistics { "name": "interface", @@ -163,10 +208,10 @@ def routeros_monitoring_telegraf_inputs(metadata): ], }, ], - } - for routeros_node in repo.nodes_in_group("routeros") - ] - } - } - } + }) + for routeros_node in repo.nodes_in_group("routeros") + }, + }, + }, + }, } diff --git a/data/grafana/rows/routeros_health.py b/data/grafana/rows/routeros_health.py new file mode 100644 index 0000000..ca42a5d --- /dev/null +++ b/data/grafana/rows/routeros_health.py @@ -0,0 +1,107 @@ +{ + 'temperature': { + 'stacked': False, + 'queries': { + 'temp': { + 'filters': { + '_measurement': 'hw', + 'sensor': [ + 'temperature', + 'cpu-temperature', + 'switch-temperature', + 'board-temperature1', + 'sfp-temperature', + ], + '_field': [ + 'value', + ], + 'operating_system': 'routeros', + }, + }, + }, + 'min': 0, + 'unit': 'celsius', + 'tooltip': 'multi', + 'display_name': '${__field.labels.sensor}', + 'legend': { + 'displayMode': 'hidden', + }, + }, + 'fan': { + 'stacked': False, + 'queries': { + 'temp': { + 'filters': { + '_measurement': 'hw', + 'sensor': [ + 'fan1-speed', + 'fan2-speed', + ], + '_field': [ + 'value', + ], + 'operating_system': 'routeros', + }, + }, + }, + 'min': 0, + 'unit': 'rpm', + 'tooltip': 'multi', + 'display_name': '${__field.labels.sensor}', + 'legend': { + 'displayMode': 'hidden', + }, + }, + 'psu_current': { + 'stacked': False, + 'queries': { + 'temp': { + 'filters': { + '_measurement': 'hw', + 'sensor': [ + 'psu1-current', + 'psu2-current', + ], + '_field': [ + 'value', + ], + 'operating_system': 'routeros', + }, + 'multiply': 0.1, + }, + }, + 'min': 0, + 'unit': 'ampere', + 'tooltip': 'multi', + 'display_name': '${__field.labels.sensor}', + 'legend': { + 'displayMode': 'hidden', + }, + }, + 'psu_voltage': { + 'stacked': False, + 'queries': { + 'temp': { + 'filters': { + '_measurement': 'hw', + 'sensor': [ + 'psu1-voltage', + 'psu2-voltage', + ], + '_field': [ + 'value', + ], + 'operating_system': 'routeros', + }, + 'multiply': 0.1, + }, + }, + 'min': 0, + 'unit': 'volt', + 'tooltip': 'multi', + 'display_name': '${__field.labels.sensor}', + 'legend': { + 'displayMode': 'hidden', + }, + }, +} diff --git a/data/grafana/rows/routeros_packets.py b/data/grafana/rows/routeros_packets.py index f1e75ae..4c38b35 100644 --- a/data/grafana/rows/routeros_packets.py +++ b/data/grafana/rows/routeros_packets.py @@ -32,9 +32,9 @@ 'filters': { '_measurement': 'interface', '_field': [ - 'in_ucast_pkts', - 'in_mcast_pkts', - 'in_bcast_pkts', + 'out_ucast_pkts', + 'out_mcast_pkts', + 'out_bcast_pkts', ], 'ifType': [6], 'operating_system': 'routeros', diff --git a/groups/os/routeros.py b/groups/os/routeros.py index 7dbb19e..264f2bb 100644 --- a/groups/os/routeros.py +++ b/groups/os/routeros.py @@ -15,6 +15,7 @@ 'routeros_throughput', 'routeros_poe', 'routeros_packets', + 'routeros_health', }, 'routeros': { 'gateway': '10.0.0.1',