From 1ba638a117d51fda9c3b23a1b24fe6dc096be18a Mon Sep 17 00:00:00 2001
From: anima
Date: Sun, 9 Feb 2025 23:44:47 +0100
Subject: [PATCH] extend temperature check with disks
---
checks/check_snmp_synology.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/checks/check_snmp_synology.py b/checks/check_snmp_synology.py
index af89977..ad833e2 100755
--- a/checks/check_snmp_synology.py
+++ b/checks/check_snmp_synology.py
@@ -8,7 +8,7 @@
- https://easysnmp.readthedocs.io/en/latest/session_api.html
"""
-__version__ = '0.8.0'
+__version__ = '0.9.0'
__author__ = 'anima'
# imports
@@ -174,7 +174,7 @@ class SNMPSynologySystemResult(nagiosplugin.Result):
#
# Synology [DSM & DSM UC] Temperature of NAS
#
-class SNMPSynologyTemperatureResource(nagiosplugin.Resource):
+class SNMPSynologyTemperatureResource(nagiosplugin.Resource, SNMPSynologyDisk):
def __init__(self, session) -> None:
self.session = session
@@ -187,7 +187,10 @@ class SNMPSynologyTemperatureResource(nagiosplugin.Resource):
baseoid = '.1.3.6.1.4.1.6574.1'
oids = dict()
result = self.session.get(baseoid + '.2.0').value
- return nagiosplugin.Metric(name='temperature', value=int(result), uom='°C', context='temperature_scalar_context')
+ yield nagiosplugin.Metric(name='temp_system', value=int(result), uom='°C', context='temperature_scalar_context')
+ disks = self.get_disks()
+ for disk in disks:
+ yield nagiosplugin.Metric(name='temp_' + disk['id'].lower().replace(' ', '_'), value=int(disk['temp']), uom='°C', context='temperature_scalar_context')
def __init__(self, session) -> None:
self.session = session