NEWS
Synology NAS Systeminformationen via SNMP Protokoll auslesen
-
Anwendungsbeschreibung
Begrifssklärung
NAS: Network Attached Storage https://de.wikipedia.org/wiki/Network_Attached_StorageKomponenten
iobroker RasPi 4
(keine SD-Karte, kein USB Stick)-
Plattform linux, Betriebssystem linux
- Architektur arm64, CPUs 4, Geschwindigkeit 1500 MHz, Modell Cortex-A72, RAM 3.7 GB
- OS: 2023-02-21-raspios-bullseye-arm64-lite.img.xz
- ETCHER FOR WINDOWS (X86|X64) (PORTABLE): https://www.balena.io/etcher#download-etcher
- Node.js v18.15.0, NPM 9.5.0
- USB3 Hub inkl Netzteil: SSD Datenträgergröße 60 GB
- log2ram https://linuxhint.com/improve-sd-card-lifespan-log2ram-raspberry-pi/
- Aktive Instanzen 19
-
Instanzen
- Admin v6.3.5
- snmp.0 v2.4.5
NAS Synology
- modelName: DS214
- version: DSM 6.2-25556
- Volume 1: Storage Pool 1
- Drive 1: WD30EFRX
- Drive 2: ST3000VN007
Ziel
Ich möchte Informationen des NAS Systems sammeln und frühzeitig auf Defekte reagieren. Dazu gehört z.B. auch die Temperaturkontrolle.Kurzbeschreibung der Lösung
In dieser Anwendung möchte ich das einfach zu verwendende SNMP Protokoll verwenden. Dazu verwende ich keine Zugrifsskontrolle auf dem NAS.Konfiguration des NAS Synology DS214
Systemsteuerung
- Terminal & SNMP
- TAB: SNMP
- ON:SNMP-Service aktivieren
- ON:SNMPv1, SNMPv2 Dienst
- Community: public
- OFF:SNMPv3 Dienst
- ON:SNMPv1, SNMPv2 Dienst
- ON:SNMP-Service aktivieren
- TAB: SNMP
Hilfe:
Link1: https://global.synologydownload.com/download/Document/Software/DeveloperGuide/Firmware/DSM/All/enu/Synology_DiskStation_MIB_Guide.pdf
Link2: https://kb.synology.com/en-us/DSM/help/DSM/AdminCenter/system_snmp?version=7Konfiguration des iobroker SNMP Adapter (snmp.0)
- Im iobroker unter "Instanzen" die Konfiguration des snmp.0 Adapter öffnen (Schraubenschlüssel), Einträge der TAB's von rechts nach links:
OPTIONEN
- Paketgröße: 20
- OFF: Kompatibilitätsmodus - Verwenden Sie die IP-Adresse für Zustands-IDs
- OFF: Rohzustände hinzufügen
- OFF: Typzustände hinzufügen
AUTORISIERUNG (SNMP V3)
- kein Eintrag
GERÄTE
| Name | IP-Adresse | IPv6 | OID-Gruppe | SNMP-Version | Community | Zeitüberschreitung | erneut versuchen | Abfrage | | YourNASName | YourNasIPAdress | OFF | nas | SNMP v1 | public | 5 | 5 | 30 |
OID-SETS
| aktiv | OID-Gruppe | OID-Name | OID | Format | beschreibbar | Optional | | ON | nas | systemGroup.temperature | .1.3.6.1.4.1.6574.1.2.0 | Text | OFF | OFF |
Format
- Text = 0
- Number = 1
Hilfe
Link1: [https://github.com/iobroker-community-adapters/ioBroker.snmp/blob/master/docs/de/snmp.md]
Link2: https://www.smarthome-tricks.de/software-iobroker/iobroker-snmp-adapter/Konfiguration über eine Datei in die snmp.0 Instanz laden
Meine lokale static NAS IP Adresse: 192.168.178.7
--> Bitte ganz am Ende des JSON files noch an Eure IP anpassen!
--> devIpAddr": "192.168.178.7",
Eventuell nach dem Laden mal den TAB wechseln. Meist fehlt ein Update der Tabelle nach dem laden- Instanzen
- snmp.0
- Klick: "Schraubenschlüssel" um an die Einstellungen zu kommen.
- Klick: oben rechts den markierten Upload Knopf.
- Dann die JSON Datei auswählen
- Klick: oben rechts den markierten Upload Knopf.
- Klick: "Schraubenschlüssel" um an die Einstellungen zu kommen.
- snmp.0
Abstract
systemGroup OBJECT-GROUP
OBJECTS { systemStatus,
temperature,
powerStatus,
systemFanStatus,
cpuFanStatus,
modelName,
serialNumber,
version,
upgradeAvailable,
controllerNumber
}JSON Datei meiner System Konfiguration
{ "oids": [ { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.systemStatus", "oidOid": ".1.3.6.1.4.1.6574.1.1.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 1 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.temperature", "oidOid": ".1.3.6.1.4.1.6574.1.2.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 1 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.powerStatus", "oidOid": ".1.3.6.1.4.1.6574.1.3.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 1 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.systemFanStatus", "oidOid": ".1.3.6.1.4.1.6574.1.4.2.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 1 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.cpuFanStatus", "oidOid": ".1.3.6.1.4.1.6574.1.1.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 1 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.modelName", "oidOid": ".1.3.6.1.4.1.6574.1.5.1.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 0 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.serialNumber", "oidOid": ".1.3.6.1.4.1.6574.1.5.2.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 0 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.version", "oidOid": ".1.3.6.1.4.1.6574.1.5.3.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 0 }, { "oidAct": true, "oidGroup": "nas", "oidName": "systemGroup.upgradeAvailable", "oidOid": ".1.3.6.1.4.1.6574.1.5.4.0", "oidWriteable": false, "oidOptional": false, "oidFormat": 0 } ], "devs": [ { "devAct": true, "devName": "ortler", "devIpAddr": "192.168.178.7", "devIp6": false, "devOidGroup": "nas", "devSnmpVers": "1", "devAuthId": "", "devTimeout": "5", "devRetryIntvl": "5", "devPollIntvl": "30" } ], "cfgVers": "2.0", "optChunkSize": "20", "optUseName": false, "optRawStates": false, "optTypeStates": false }
Und Ihr bekommt folgende Objekte / Datentypen zur weiteren Verwendung
(Ausschnitt aus dem Objektbaum)- snmp
- 0
- MeinNasName
- systemGroup
- temperature
- etc...
- systemGroup
- MeinNasName
- 0
Fehlerbehebung
Eventuell haben unterschiedliche NAS System unterschiedliche SNMP Konfigurationen. Ich kann hier nur meine Konfiguration für ein DS214 anbieten, die funktioniert. Habt Ihr andere Geräte im Einsatz? Dann einfach als Kommentar anhängen. Damit ist dann auch Anderen geholfen. Gerne auch als JSON Konfiguration zum ladenSollten im iobroker unter "Protokolle" beim starten des snmp.0 Adapter Fehler auftauchen?
- Dann im iobroker untern "Instanzen" die Konfiguration des snmp.0 Adapter öffnen (Schraubenschlüssel)
- "OID-SETS" den Schalter am Anfang der entsprechende Zeile abschalten (OFF).
- Damit wird die fehlerhafte OID ausgeschaltet.
- "OID-SETS" den Schalter am Anfang der entsprechende Zeile abschalten (OFF).
z.B.
| aktiv | OID-Gruppe | OID-Name | OID | Format | beschreibbar | Optional | | OFF | nas | systemGroup.temperature | .1.3.6.1.4.1.6574.1.2.0 | Text | OFF | OFF |
Jetzt den Adapter wieder starten und schnell das "Protokoll" beobachten.
Meist hat man aber irgendwo einen Punkt oder ein "0" vergessenHilfsmittel snmpwalk
Hier kann mal alle verfügbaren OID's und Werte eines Gerätes auslesen. Dafür wird die Stamm OID eingegeben, hier ".1.3.6.1.4.1.6574.1"
Wichtig: der Punkt gehört vor die ".1.3.6.1.4.1.6574.1Install snmpwalk with Debian
Consolesudo apt-get install snmp
Use snmpwalk
- Meine lokale static NAS IP Adresse: 192.168.178.7
- Informationen von Synology manuell dazu kopiert
Console
snmpwalk -v 2c -c public 192.168.178.7 .1.3.6.1.4.1.6574.1 systemStatus "Synology system status" Normal(1): System functionals normally. Failed(2): Volume has crashed. iso.3.6.1.4.1.6574.1.1.0 = INTEGER: 1 temperature "Synology system temperature" iso.3.6.1.4.1.6574.1.2.0 = INTEGER: 29 powerStatus "Synology power status" Normal(1): All power supplies functional normally. Failed(2): One of power supply has failed. iso.3.6.1.4.1.6574.1.3.0 = INTEGER: 1 systemFanStatus "Synology system fan status" Normal(1): All Internal fans functional normally. Failed(2): One of internal fan stopped. iso.3.6.1.4.1.6574.1.4.1.0 = INTEGER: 1 cpuFanStatus "Synology cpu fan status" Normal(1): All CPU fans functional normally. Failed(2): One of CPU fan stopped. iso.3.6.1.4.1.6574.1.4.2.0 = INTEGER: 1 modelName "The Model name of this NAS" iso.3.6.1.4.1.6574.1.5.1.0 = STRING: "DS214" serialNumber "The serial number of this NAS" iso.3.6.1.4.1.6574.1.5.2.0 = STRING: "xxxxLSNxxxxx3" version "The version of this DSM" iso.3.6.1.4.1.6574.1.5.3.0 = STRING: "DSM 6.2-25556" upgradeAvailable "This oid is for checking whether there is a latest DSM can be upgraded." Available(1): There is version ready for download. Unavailable(2): The DSM is latest version. Connecting(3): Checking for the latest DSM. Disconnected(4): Failed to connect to server. Others(5): If DSM is upgrading or downloading, the status will show others." iso.3.6.1.4.1.6574.1.5.4.0 = INTEGER: 2
Referenz
- Der Ortler : https://de.wikipedia.org/wiki/Ortler
-