Zum Inhalt springen

Synology DSM

Synology-NAS über die DSM-Web-API: Volumes, Storage-Pools, Plattengesundheit, Temperatur, Hyper-Backup-Tasks, Active-Backup-for-Business-Tasks, und Synology Drive und Photos. Der erste Grund, ein NAS zu überwachen, sind seine Platten: Eine Platte, die heiß wird oder deren SMART-Status sich verschlechtert, kündigt einen Ausfall lange an, bevor ein Volume ausfällt.

Alle Metriken haben das Präfix dumbmonit_synology_.

FamilieMetrikenLabels
Systemsystem_info (Modell, DSM-Version, Firmware…), uptime_seconds, temperature_celsius, temperature_warning, system_crashed, system_need_repair, storage_healthmodel, dsm_version, firmware
CPU und Speichercpu_usage_percent, cpu_user/system/other_percent, cpu_cores, memory_total/used/available/installed_bytes, memory_usage_percent, swap_usage_percent
Netzwerknetwork_rx_bytes_per_second, network_tx_bytes_per_secondinterface
Volumesvolume_status, volume_total/used/available_bytes, volume_used_percent, volume_used_warning_percent, volume_used_critical_percentvolume, fs_type, raid_type
Storage-Pools und SSD-Cachespool_status, pool_failed_disks, pool_total/used_bytes, und dieselben vier unter ssd_cache_pool oder ssd_cache, name, raid_type
Plattendisk_status, disk_smart_status, disk_temperature_celsius, disk_size_bytes, disk_bad_sector_exceeded, disk_life_below_threshold, disk_remaining_life_percent (nur SSD: die vom Laufwerk angegebene verbleibende Lebensdauer), disk_unc_count (DSMs Zähler für unlesbare Sektoren, den es gegen seinen Bad-Sector-Schwellenwert prüft), disk_infodisk, name; bei disk_info: model, serial, vendor, firmware, type, ssd
Hyper Backupbackup_tasks, backup_running, backup_last_result, backup_last_run_age_seconds, backup_last_success_age_seconds, backup_next_run_in_secondspro Task
Synology Drivedrive_up, drive_team_folders, drive_team_folder_info, drive_connections (siehe unten)drive_team_folder_info: name
Synology Photosphotos_installed (siehe unten)
Sicherheitseinstellungenupdate_available, admin_account_enabled, autoblock_enabled, firewall_enabled (0/1; stündlich gelesen, nur mit Administratorkonto, optional: fehlen, wenn DSM ablehnt)
Sammlungup, scrape_errors, scrape_duration_seconds

Active-Backup-for-Business-Metriken sind die Ausnahme: Sie haben das Präfix dumbmonit_abb_ (siehe unten).

volume_status, disk_status und disk_smart_status tragen DSMs eigenes Wort in einem Label (status, smart_status) und einen Wert auf einer Skala: 0 normal, 1 Achtung (ein vorübergehender Zustand wie repairing oder checking, oder ein von DSM eingeführtes Wort, das DumbMonit noch nicht kennt), 2 kritisch (degrade, crashed, failed…). Das Unbekannte zählt absichtlich als 1, nie als 0.

Ein teilweiser Fehlschlag bleibt eine erfolgreiche Abfrage: Schlägt das Storage-Inventar fehl, werden Systemzustand und Nutzung trotzdem veröffentlicht, und der Fehlschlag wird in scrape_errors gezählt. Nur ein Fehlschlag bei der API-Discovery oder der Verbindung verurteilt die gesamte Abfrage.

Ein Synology-Monitor: auf einen Blick, Volumes, Platten und Active Backup

Ein Synology-Monitor erhält sein eigenes Panel über den Diagrammen:

  • At a glance — CPU, Speicher (genutzt vom Total), Temperatur und Uptime, mit DSMs eigenem Storage-Urteil als Anzeige (healthy, attention, crashed, repair needed);
  • Volumes — eine Zeile pro Volume: Nutzungsbalken, genutzt vom Total, RAID-Typ und Dateisystem, der Zustand des Volumes in DSMs Wort (normal, degraded, crashed, repairing…);
  • Storage pools — eine Zeile pro Pool: RAID-Typ, der Zustand des Pools in DSMs Wort, wie viele seiner Platten DSM als ausgefallen meldet, und wie viel davon schon an Volumes vergeben ist. Hier lebt die Redundanz: Ein RAID 5, das eine Platte verliert, hält das darüberliegende Volume bei normal, während es rebuildet, daher sagt die Volume-Zeile nichts, und diese sagt alles. Ein voll an seine Volumes vergebener Pool ist der normale Endzustand, keine Warnung, daher ist diese Zahl ein Satz statt eines gefärbten Messgeräts;
  • SSD cache — eine Zeile pro Cache: sein RAID-Typ, sein Zustand und seine Größe. Der Abschnitt fehlt auf einem NAS ohne Cache. DSMs load_info trägt keinen Cache-Modus oder Hit-Rate, daher wird keines angezeigt;
  • Disks — eine Zeile pro Schacht: Modell, Größe, Temperatur, SMART-Urteil, DSMs Bad-Sector-Urteil, der Zähler unlesbarer Sektoren und, auf einer SSD, die verbleibende Lebensdauer als kleiner Balken;
  • Active Backup for Business — die Tasks, dann jedes gesicherte Gerät mit seinem Rhythmus und einem Dreißig-Tage-Streifen (siehe unten).

Alles kommt aus dem, was die Abfrage gespeichert hat: Das Öffnen der Seite fragt das NAS nie ab.

RegelSchweregradFeuert, wenn
Synology disk SMART warningadvisoryDSM meldet den SMART-Status der Platte seit 15 Minuten nicht mehr als normal.
Synology disk failedwarningDSM meldet die Platte seit 5 Minuten als crashed oder failed.
Synology disk bad sectorswarningDie Anzahl fehlerhafter Sektoren überschreitet seit 15 Minuten den in DSM gesetzten Schwellenwert.
Synology disk bad sectors growingadvisoryNeue unlesbare Sektoren in den letzten 24 Stunden (delta(…disk_unc_count[24h]) > 0).
Synology SSD wearing outadvisoryEine SSD hat seit einer Stunde weniger als 10 % ihrer bewerteten Lebensdauer übrig.
Synology volume degradedwarningEin Volume ist seit 5 Minuten degraded oder crashed.
Synology storage pool degradedwarningEin Storage-Pool oder SSD-Cache ist seit 5 Minuten degraded oder crashed. Ein RAID 5, das eine Platte verliert, zeigt sich hier zuerst: DSM hält das darüberliegende Volume bei normal, während es rebuildet.
Synology volume almost fulladvisoryEin Volume ist seit 15 Minuten zu 90 % oder mehr voll.
Synology temperature highadvisoryEine Platte ist seit 15 Minuten über 55 °C, oder DSM hat seine Temperaturwarnung gehoben.
Synology memory highadvisorySpeichernutzung seit 15 Minuten über 95 %.

Active Backup for Business (ABB) sichert PCs, physische Server, virtuelle Maschinen und Dateiserver auf das NAS. Ist das Paket installiert und läuft, liest DumbMonit seine Tasks bei jeder Abfrage; ist es das nicht, kündigt das NAS die API einfach nicht an, und nichts wird gefragt. Die Option abb schaltet die gesamte Familie aus.

Dasselbe gilt für Hyper Backup: DSM listet die APIs eines Pakets nur, während dieses Paket läuft, daher veröffentlicht ein NAS, dessen Hyper Backup gestoppt ist — oder das nur Backups über Hyper Backup Vault empfängt — keine backup_*-Metrik und meldet auch keinen Fehler. DumbMonit fragt das NAS, welche APIs es hat, bevor es irgendeine aufruft, daher ist ein fehlendes Paket Stille, nie eine fehlgeschlagene Abfrage.

MetrikWertLabels
dumbmonit_abb_tasksAnzahl der Tasks.
dumbmonit_abb_task_last_statusLetzter Lauf: 1 Erfolg, 0 fehlgeschlagen, 2 laufend, -1 unbekannt (nie gelaufen, abgebrochen, kein Backup). Ein teilweiser Erfolg zählt als fehlgeschlagen: mindestens ein Gerät wurde nicht gesichert.task, task_id, source_type, result
dumbmonit_abb_task_last_success_secondsAlter des letzten erfolgreichen Backup-Laufs, in Sekunden. Fehlt bei einem nie erfolgreichen Task.task, task_id, source_type
dumbmonit_abb_task_enabled1, wenn der Task einen Zeitplan hat und nicht pausiert ist, 0, wenn er nur von Hand läuft.task, task_id, source_type
dumbmonit_abb_task_device_countAn den Task angehängte Geräte.task, task_id, source_type

task ist der Task-Name, wie ABB ihn zeigt; source_type ist pc, vm, physical_server, file_server oder nas; result ist das rohe Ergebnis des letzten Laufs (success, partial_success, fail, cancel, no_backup, running, none).

Das Alter wird aus der nach erfolgreichen Backup-Läufen gefilterten Task-Historie genommen, nicht aus dem “letzten Ergebnis” des Tasks: Nach einer nächtlichen Versions-Bereinigung ist das letzte Ergebnis die Bereinigung, nicht das Backup. Das kostet einen Request pro Task, begrenzt auf zwanzig Tasks.

Eingebaute Regeln auf Tasks:

RegelSchweregradFeuert, wenn
Active Backup task failedwarningDer letzte Lauf schlug fehl, oder war ein teilweiser Erfolg, seit 10 Minuten. Die Benachrichtigung benennt den Task.
Active Backup too oldadvisorySeit mehr als zwei Tagen kein erfolgreicher Lauf.
Active Backup task disabledinfoDer Task hat seit einer Stunde keinen Zeitplan, oder sein kontinuierliches Backup ist pausiert.

Eine Regel auf Task-Ebene ist richtig für einen Server und falsch für einen Laptop: Menschen lassen ihre Laptops nicht an, und “kein Backup seit 24 Stunden” ist Montagmorgen für jeden Büro-PC. DumbMonit beobachtet daher ABB auch Gerät für Gerät, gegen die eigenen Gewohnheiten des Geräts.

Bei jeder Abfrage liest der Collector die von ABB geführten Pro-Gerät-Läufe (SYNO.ActiveBackup.Overview list_device_transfer_size, ein Aufruf für alle Geräte, nur was sich seit der vorherigen Abfrage geändert hat) und kopiert sie in seine eigene Datenbank — pro NAS auf neunzig Tage begrenzt —, sodass das Modell einen Neustart überlebt, ohne einen Monat Historie neu zu lesen. Dann schaut er für jedes Gerät auf die letzten dreißig Tage.

MetrikWertLabels
dumbmonit_abb_device_state0 ok, 1 idle, 2 learning, 3 running, 4 overdue, 5 failing, 6 never.device, device_id, task, task_id, state
dumbmonit_abb_device_overdue1, während das Gerät überfällig ist, sonst 0.device, device_id, task, task_id
dumbmonit_abb_device_consecutive_failuresFehlgeschlagene Versuche in Folge seit dem letzten Erfolg (ein abgebrochener Lauf zählt für keines von beiden).gleiche
dumbmonit_abb_device_last_success_secondsAlter des letzten erfolgreichen Laufs dieses Geräts. Fehlt, falls es nie gelang.gleiche
dumbmonit_abb_device_typical_interval_secondsMedian-Abstand zwischen zwei Erfolgen, freie Tage ausgeschlossen. Fehlt während des Lernens.gleiche

In einfachen Worten, für jedes Gerät:

  1. An welchen Tagen ist es an? Ein Wochentag, an dem das Gerät in den letzten dreißig Tagen mindestens einen Backup-Versuch gemacht hat — erfolgreich oder nicht; ein Fehlschlag beweist, dass die Maschine genauso an war wie ein Erfolg — ist ein aktiver Tag. Sobald mindestens zwei Wochen Historie vorliegen, ist ein Wochentag ganz ohne Versuch ein freier Tag. Ein Montag-bis- Freitag genutzter Laptop erhält Samstag und Sonntag als freie Tage; ein Server hat keine.
  2. Wie oft sichert es? Die Abstände zwischen aufeinanderfolgenden Erfolgen werden in aktiver Zeit gesammelt: Die vollen in einem Abstand enthaltenen freien Tage werden nicht gezählt (Freitag- abend bis Montagabend ist ein Tag aktiver Zeit, nicht drei). Ihr Median ist das typische Intervall des Geräts; ihr 90. Perzentil ist, wie “eine langsame Woche” aussieht.
  3. Wie lange darf es dauern? Die Toleranz ist max(1,5 × p90-Abstand, 2 × typisches Intervall, 36 h). Ein nächtlicher Desktop erhält 48 h; eine alle drei Tage gesicherte Maschine erhält etwa sechs; niemand erhält weniger als einen anderthalb Tag. Solange weniger als zwei nutzbare Abstände existieren (ein diese Woche hinzugefügtes Gerät), ist die Toleranz 72 h — genug, um ein Wochenende ohne Fehlalarm zu überstehen.
  4. Wie viel aktive Zeit ist vergangen? Die Zeit seit dem letzten Erfolg, minus der vollen darin enthaltenen freien Tage. Ein Laptop, zuletzt Freitag um 20:00 gesichert, hat am Montag um 08:00 zwölf Stunden aktive Zeit hinter sich, nicht sechzig.
  5. Das Urteil, in dieser Reihenfolge: running (ein Backup läuft); failing (die letzten zwei oder mehr Versuche fehlschlugen — ein teilweiser Erfolg ist ein Fehlschlag, ein abgebrochener Lauf ist keines von beiden); never (kein Erfolg verzeichnet); overdue (aktive Zeit überschreitet die Toleranz); idle (heute ist einer seiner freien Tage: aus, wie gewohnt); learning (Rhythmus noch nicht bekannt); ok.

Nur overdue hebt dumbmonit_abb_device_overdue, und nur failing füttert die Fehlschlag-Regel. Ein untätiger Laptop an einem Sonntag hebt nichts; derselbe Laptop, am Dienstagabend noch still, tut es.

Tage und Stunden werden in der lokalen Zeit des Servers ausgedrückt (TZ des Containers), wo die die Seite lesende Person lebt. Die Monitorseite zeigt, pro Gerät: den Zustand als Wort, den letzten Erfolg und das letzte Ergebnis, den Rhythmus in Worten (“weekdays, around 20:00”, “every ~3 days, on Mon, Wed, Fri, around 03:00”, “still learning (2 runs in 30 days)”) und einen Dreißig-Tage-Streifen — teal für einen Tag mit Erfolg, rot für einen Fehlschlag, gelb für einen abgebrochenen Lauf, grau für keinen Lauf.

Eingebaute Regeln auf Geräten:

RegelSchweregradFeuert, wenn
Active Backup device overdueadvisorydumbmonit_abb_device_overdue > 0 seit 30 Minuten.
Active Backup device failingwarningZwei oder mehr fehlgeschlagene Versuche in Folge, seit 10 Minuten.

DSM dokumentiert die Synology-Drive-Web-API nicht. DumbMonit liest drei Aufrufe, deren Name und Form aus der Community-Bibliothek N4S4/synology-api stammen, die sie von denselben Bildschirmen wie die Synology-Drive-Admin-Konsole aufruft, und folgt derselben Regel wie Active Backup for Business: Eine API, die ein NAS nicht ankündigt, ist ein nicht installiertes Paket, nie ein Fehlschlag.

MetrikWertLabels
dumbmonit_synology_drive_up1, während der Dienst get_status beantwortet. Fehlt, wenn das Paket nicht installiert ist.
dumbmonit_synology_drive_team_foldersAnzahl der Team-Ordner.
dumbmonit_synology_drive_team_folder_infoWert 1 pro Team-Ordner (höchstens 32).name
dumbmonit_synology_drive_connectionsAnzahl aktiver Verbindungen (derzeit synchronisierte Desktop- und Mobile-Clients).

Die Option drive (standardmäßig an) schaltet die gesamte Familie aus.

Synology Photos liefert eine gut dokumentierte Browsing-API, aber weder Synology noch die Community-Bibliotheken exponieren eine administrationsweite Liste von Mobile-Backup-Geräten oder ihr letztes Backup — die mobile App zeigt ihren eigenen Backup-Status lokal, und nichts zentralisiert das auf der NAS-Seite über eine API. DumbMonit meldet daher nur, dass das Paket installiert ist: dumbmonit_synology_photos_installed (Wert 1), aus dem API-Katalog gelesen, ohne zusätzlichen Request an das NAS — derselbe Katalog, den SYNO.API.Info für jedes andere Paket schon beantwortet. Die Option photos (standardmäßig an) schaltet es aus.

Die Schritte unten sind die, die der Hinweis neben dem Formular zeigt. Das Prinzip: ein für die Überwachung reserviertes Konto, von allem entleert, was DSMs API nicht braucht — nie das Konto, mit dem Sie sich einloggen.

  1. Öffnen Sie in DSM Control Panel → User & Group → User und klicken Sie auf Create. Benennen Sie das Konto wie folgt und geben Sie ihm ein nirgendwo sonst genutztes langes Passwort.

    dumbmonit
  2. Gruppen beitreten: administrators ankreuzen. DSM beantwortet die Storage-, Volume- und Disk-SMART-Aufrufe nur dieser Gruppe; ohne sie zeigt sich das NAS lebendig, sagt aber nichts über seine Platten. Die nächsten zwei Schritte nehmen alles andere zurück.

  3. Shared-Folder-Berechtigungen zuweisen: No access auf jedem Shared Folder. Anwendungsberechtigungen zuweisen: Deny alles außer DSM, plus Active Backup for Business, falls Sie dessen Tasks lesen wollen. Überspringen Sie die Quota- und Geschwindigkeitslimit-Seiten.

  4. Zwei-Faktor-Verifizierung muss für dieses Konto aus bleiben: Kein automatisierter Monitor kann einen Einmalcode eingeben. Erzwingt Control Panel → Security → Account sie, beschränken Sie die Regel auf Gruppen, in denen dieser Benutzer nicht ist, oder befreien Sie ihn.

  5. Backup-Pakete werden nur gelesen, während sie installiert sind und laufen: DSM kündigt die API eines gestoppten Pakets überhaupt nicht an, daher werden Hyper-Backup-Tasks still statt fehlzuschlagen, und ein NAS, das nur Backups empfängt (Hyper Backup Vault), hat keine eigenen Tasks zu zeigen. Active Backup for Business antwortet zusätzlich nur einem Konto, das es nutzen darf (Active Backup for Business → Settings → Privileges); sonst entfernen Sie das Häkchen bei DumbMonits Option “Watch Active Backup for Business”, um nicht mehr zu fragen.

  6. Geben Sie in DumbMonit die NAS-Adresse ein (HTTPS, standardmäßig Port 5001), dann Benutzername und Passwort dieses Kontos.

Herstellerdokumentation: Create a user in DSM.

CredentialFelder
DSM-KontoUser name: das oben erstellte Konto. Password: sein Passwort. Zwei-Faktor-Verifizierung muss für dieses Konto aus sein: Kein automatisierter Monitor kann einen Einmalcode eingeben.

Adresse: 192.168.1.30, nas.lan oder nas.lan:5001. Ohne Port wird 5001 über HTTPS und 5000 über HTTP genutzt.

SchlüsselLabelStandardHilfe
schemeProtocolhttpsHTTPS passt zu einem NAS frisch aus der Box. HTTP nur, wenn DSM nur im Klartext hört. Auswahl: https, http.
portDSM port(leer)Genutzt, falls die Adresse keinen Port angibt. Leer: 5001 über HTTPS, 5000 über HTTP.
insecure_tlsAccept an unverifiable certificatefalseEin NAS liefert standardmäßig ein selbstsigniertes Zertifikat: aktivieren Sie das, wenn die Verbindung deshalb abgelehnt wird.
request_timeout_secondsTimeout per request (seconds)15Erlaubte Zeit für jeden API-Aufruf, von 1 bis 120. Das Storage-Inventar kann schlafende Platten wecken.
abbWatch Active Backup for BusinesstrueLiest die Active-Backup-for-Business-Tasks. Braucht das installierte Paket und ein Konto, das es nutzen darf; ein NAS ohne das Paket wird einfach übersprungen.
driveWatch Synology DrivetrueLiest, ob der Synology-Drive-Dienst antwortet, seine Team-Ordner und seine aktive Verbindungszählung. Ein NAS ohne das Paket wird einfach übersprungen.
photosWatch Synology PhotostrueZeigt, ob das Synology-Photos-Paket installiert ist, ohne zusätzlichen Request an das NAS. Synology exponiert keine Liste von Mobile-Backup-Geräten über irgendeine API.
SymptomWahrscheinliche Ursache
AuthentifizierungsfehlerFalsches Passwort, oder Zwei-Faktor-Verifizierung für dieses Konto erforderlich. DSM antwortet mit HTTP 200 selbst bei Fehlschlag; der Fehlercode im JSON-Body ist, was zählt, und DumbMonit liest ihn.
ZertifikatsfehlerSelbstsigniertes Zertifikat: aktivieren Sie insecure_tls. Das ist ein Konfigurationsfehler, nie “unreachable”: Ein antwortendes NAS wird nicht als aus gezeigt.
Keine Platten- oder Volume-MetrikenDas Konto ist nicht in der Gruppe administrators (siehe die Notiz oben).
Keine dumbmonit_abb_*-Metriken, scrape_errors bei 1Das Konto kann Active Backup for Business nicht nutzen: delegieren Sie ihm das Paket, oder deaktivieren Sie die Option abb. Ohne installiertes Paket gibt es keinen Fehler und keine Metrik.
Task-Metriken, aber keine Gerätezeilen auf der SeiteDas NAS kündigt SYNO.ActiveBackup.Overview nicht an (älteres ABB), oder der Monitor wird über einen Relay-Agent abgefragt, der die Historie auf seiner Seite im Speicher hält: Die Metriken existieren, der Kalender nicht.
Ein Laptop zeigt “Overdue” am Tag nach dem HinzufügenWeniger als drei Erfolge: Das Modell lernt noch und erlaubt 72 Stunden zwischen Backups; es stabilisiert sich, sobald zwei Wochen Gewohnheiten bekannt sind.
Platten drehen bei jeder Abfrage hochDas Storage-Inventar weckt schlafende Platten. Verlängern Sie das Prüfintervall.