Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Synology NAS Systeminformationen via SNMP Protokoll auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Synology NAS Systeminformationen via SNMP Protokoll auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • alk
      alk last edited by alk

      Anwendungsbeschreibung
      Begrifssklärung
      NAS: Network Attached Storage https://de.wikipedia.org/wiki/Network_Attached_Storage

      Komponenten

      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

      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=7

      Konfiguration 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

      instanzen_snmp0_Settings.PNG

      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...
                objekte_snmp0_systemGroup_temperature.PNG

      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 laden 😉

      Sollten 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.

      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" vergessen 😉

      Hilfsmittel 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.1

      Install snmpwalk with Debian
      Console

      sudo 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
      1 Reply Last reply Reply Quote 1
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      479
      Online

      31.9k
      Users

      80.1k
      Topics

      1.3m
      Posts

      snmp synology temperatur auslesen
      1
      1
      833
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo