Synology monitoring mit Grafana

daschmidt94

Benutzer
Mitglied seit
17. Mai 2020
Beiträge
265
Punkte für Reaktionen
19
Punkte
24
Guten Abend,

ich möchte gerne meine Synology mit Grafana visualisieren. Leider kann ich nirgends im Netz ein Tutorial finden wo es beschrieben ist wie das funktioniert.
Kennt jemand von euch jemand eine Seite oder kann in kurzen schritten erklären wie es klappt.


MFG Schmidt
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
oder kann in kurzen schritten erklären wie es klappt.
Daten mit einem System und auf bestimmte Weise abgrabbeln (SNMP/Scripte/wie auch immer), das ganze in eine Timeseries-Datenbank schmeissen und via Grafana die gewünschten Metriken aus der DB verwerten (und grafisch darstellen) :)

EDIT:
Leider kann ich nirgends im Netz ein Tutorial finden

Liegt wohl schlichtweg daran, dass es so rein "garnichts" mit "Synology" zu tun hat, sondern generell in die Richtung "Visualisierung" (nichts anderes macht Grafana) geht. Visualisieren kannst Du nur, wenn Du Metriken (Werte) hast. Korrekte Begrifflichkeiten helfen da auch ungemein bei, google mal nach "synology metriken". Da taucht bei mir direkt auf der ersten Seite schon folgendes auf:

https://www.reddit.com/r/synology/comments/bid56w/monitoring_synology_nas_with_grafana/

Ist aber empfehlenswert, sich selbst erstmal ein wenig reinzuarbeiten, um überhaupt zu verstehen, was da wie warum wieso und weshalb vor sich geht. Umso leichter ist es dann um ggf. Problemzonen herum zu arbeiten bzw. Fehler auch schnell in den Griff zu kriegen :) Viel Erfolg!
 
  • Like
Reaktionen: vater

daschmidt94

Benutzer
Mitglied seit
17. Mai 2020
Beiträge
265
Punkte für Reaktionen
19
Punkte
24
Danke für die schnelle Antwort, im Netz lest man das die Docker Influx, Telegraf und Grafana benötigt werden, die Konfiguration ist leider für einen Laien gar nicht so leicht, da die Anleitungen meist noch von der alten Version der InfluxDB ist und mit der neuen v2 diese Anleitungen nicht mehr stimmen.
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
Ah okay, dann wäre es ja primär erstmal das Ziel, dass man via Telegraf überhaupt erstmal irgendwelche Metriken einsammeln kann.

https://docs.influxdata.com/influxdb/v2.0/write-data/no-code/use-telegraf/manual-config/https://docs.influxdata.com/influxdb/v2.0/write-data/no-code/use-telegraf/auto-config/
Pack Dir vielleicht erstmal irgendwo eine InfluxDB hin und schau, dass Du mit Telegraf in der einfachsten Form überhaupt erstmal "irgendwas" an Werten in die DB bekommst. Wenn das Prinzip erstmal verstanden ist, ist der Rest nur noch Feinarbeit (was genau an Metriken gesammelt werden soll z.B.). Grafana kannste natürlich auch schon drüber setzen und mit den ersten Werten die Du überhaupt in die DB bekommst, direkt mal schauen. Problem ist dabei halt, dass das alles "sehr" variable ist und Du vermutlich auch erstmal in der Fülle der Möglichkeiten untergehst, wäre also schon nicht verkehrt, wenn man zumindestens eine grobe Vorstellung von dem hätte, was da schlussendlich zu sehen sein soll (das beschränkt auch die Wahl der einzusammelnden Metriken und man behalt einen besseren Überblick) :)
 
  • Like
Reaktionen: daschmidt94

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
357
Punkte
103
Prinzipiell laufen Telegraf, Influxdb, und Grafana in Docker Containern auf der Syno ohne Probleme.

Sofern Du eine Influxdb 1.x einsetzt, wirst Du für Grafana etliche fertige Dashboards finden. Da langt es dann die entsprechenden Abschnitte in der Telegraf config zu konfigurieren und schon werden Metriken gesammelt un in der Influxdb abgelegt. Ich habe keine Ahnung ob sich in den letzten Woche etwas geändert hat, aber bis vor Kurzem gab es keine fertigen Grafana Dashboards für Influxdb 2.0 - sämtliche Dashboard verwenden "nur" InfluxQL (die Abfragesprache von InfluxdB 1.x) und nicht das vom Influxdb 2.x bereitgestellt Flux.

Mit Influxdb 2.0 kann man sich Grafana sparen, wenn man das in Influxdb 2.0 eingebettete Chronograf verwendet. Klar ist Grafana "mächtiger" was Darstellungsmöglichkeiten angeht, aber dafür bietet Chronograf einen Query-Editor für Flux und man kann fertige Dashboard verwenden, die sofort laufen, ohne das man viel Aufwand reinstecken muss...
 
  • Like
Reaktionen: blurrrr

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
357
Punkte
103
Bevor ich es vergesse: auch wenn man ein fertiges Dashboard verwendet, so muss man oft noch etwas tun, bis man wirklich Metriken in diesen angezeigt bekommt, da die vom Dashboard erwartete Datenbank meist einen anderen Namen hat und man zumindest diese anpassen muss. Ich hoffe es gibt einen fauleren/eleganteren Weg, denn alle Abfragen einzeln anpassen ist schon nicht unaufwändig... Falls jemand einen solchen Weg kennt: gerne her damit! :)

Was spricht dagegen mit einer "alten" Anleitung eine Installation von Influx 1.x gemäß Anleitung durchzuführen und sobald später entsprechenden v2.0 Anleitungen und Grafana-Dashboards bereitstehen die Installation zu migrieren?

Als ich geschaut hatte, hatte Grafana 7.x keinen unterstützenden visuellen Query-Editor (so wie Chronograf ihn hat...).
 
  • Like
Reaktionen: daschmidt94

faxxe

Benutzer
Mitglied seit
22. Nov 2007
Beiträge
228
Punkte für Reaktionen
55
Punkte
34
Ich werf mal das Programm "Observium" in die Runde ....
Sammelt & zeigt Daten ebenfalls per SNMP und läuft als Docker ohne großen Aufwand.

Und braucht praktisch nichts konfigurieren....

-faxxe
 

Anhänge

  • Bildschirmfoto 2021-06-13 um 06.36.12.jpg
    Bildschirmfoto 2021-06-13 um 06.36.12.jpg
    205,6 KB · Aufrufe: 139

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
@faxxe Das passt aber nicht wirklich... (Threadtitel überlesen? "grafana") Wohl eher LibreNMS (s. Historie Observium/LibreNMS und entsprechende Kommentare von Adam Armstrong). Zudem ist es wohl wesentlich geschmeidiger, wenn man selbst basteln kann (und dafür ist Observium nicht unbedingt ausgelegt). Kannst - zumindestens bei LibreNMS - zwar noch alles in die InfluxDB kloppen (das wäre dann der Weg statt telegraf), aber allein via SNMP kriegste auch nicht alles. Kannste dann zwar wieder über Scripte und SNMP-extent machen, aber..... Warum nicht einfach direkt mit telegraf beschäftigen und jut ist. Was Du nutzt ist völlig in Ordnung für "bestimmte" Szenarien (ist nämlich auch nicht so der geile <piep> für alles)... Traffic-Monitoring kannste damit machen (95/5 zwecks Traffic-Abrechnung und so), das sind halt die "wirklich" sinnvollen Dinge dabei. Irgendwas reinschmeissen und 500000 Metriken bekommen, die man sowieso nicht braucht?

Btw davon ab... wenn Du dann doch "andere" Dinge machen willst, musste halt wie o.g. wieder doch zu den klassischen Monitoring-Scripten greifen und das ganze via SNMP-Extent machen, dann biste ganz schnell beim sudo-Thema (da braucht der SNMP-User nämlich entsprechend erweiterte Rechte) usw. usw. ... Denke, da wäre die Telegraf-Lösung doch etwas schlanker und flexibler und hätte direkt auch den Vorteil, dass man sich nicht in mehrere Dinge einarbeiten muss, sondern "genau dieses" Konstrukt einmal erlent und damit dann auch entsprechend umgehen kann :) (Allerdings muss man dazu auch sagen, dass sich die meisten Monitoring-Lösungen allesamt nix nehmen und mehr oder minder ähnlich funktionieren.)
 

faxxe

Benutzer
Mitglied seit
22. Nov 2007
Beiträge
228
Punkte für Reaktionen
55
Punkte
34
@blurrrr Titel habe ich natürlich gelesen. Da der Threadersteller aber nach Tutorials oder step-by-step Anleitungen sucht,
war meine Vermutung, ein "einfacheres" Programm bringt schnelle Erfolge SNMP Daten zu sehen.
Ich habe mich im Zusammenhang mit StorJ mal mit grafana ausseinander gesetzt und es war schon recht komplex sich da einzuarbeiten ... lief am Ende aber.

Aber bitte ignorieren wenn Observium keine Option ist.....
#Over&out

-faxxe
 
  • Like
Reaktionen: blurrrr

daschmidt94

Benutzer
Mitglied seit
17. Mai 2020
Beiträge
265
Punkte für Reaktionen
19
Punkte
24
Ich bin eigentlich durch Storj auf Grafana gestoßen, dort hat es aber ziemlich leicht funktioniert siehe hier daher dachte ich es kann nicht so schwer sein das mit der Synology genauso hinzubringen. Leider ist es hier komplizierter.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
357
Punkte
103
Telegraf und Influxdb sind beide nicht wirklich kompliziert aufzusetzen...

Bei Telegraf muss man vorher die config-Datei erzeugen lassen, bei Influxdb2.0 kann man sämtliche Parameter über Environments variable abfrühstücken.

Das einzig wirklich komplizierte ist Telegraf - das Schweizer-Taschenmesser unter den Metrik-Sammlern - zu konfigurieren bzw. dort die Zielsysteme zu finden und zu konfigurieren.
 
  • Like
Reaktionen: blurrrr

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.468
Punkte für Reaktionen
357
Punkte
103
Das hier sollte eine gute Starthilfe sein:

Erzeugen der telegraf.conf
Code:
sudo docker run --rm telegraf telegraf config > /volume1/docker/monitoring/telegraf.conf
Danach muss die Datei /volume1/docker/monitoring/telegraf.conf entsprechend editiert werden!

Sucht nach [[outputs.influxdb_v2]] und passt dort urls mit ["http://influxdb:8086"], token mit demselben Wert wie $[MONITORING_INFLUXDB_ENV_INIT_ADMIN_TOKEN}, organisation mit dem Wert von ${MONITORING_INFLUXDB_ENV_INIT_ORG} und bucket mit dem Wert von ${MONITORING_INFLUXDB_ENV_INIT_BUCKET} an. Danach einfach durch die input.* schauen und die Kommentarzeichen löschen, wo ihre metriken sammeln wollt.

Dann folgendes compose-file deployen (und vorher natürlich die Variablen mit ${} durch selbstgewählte Werte ersetzen):

Code:
---
version: '3.7'
services:
  influxdb:
    image: influxdb:alpine
    networks:
      private: {}
    ports:
      - 8086:8086
    environment:
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: ${MONITORING_INFLUXDB_ENV_INIT_USERNAME}
      DOCKER_INFLUXDB_INIT_PASSWORD: ${MONITORING_INFLUXDB_ENV_INIT_PASSWORD}
      DOCKER_INFLUXDB_INIT_ORG: ${MONITORING_INFLUXDB_ENV_INIT_ORG}
      DOCKER_INFLUXDB_INIT_BUCKET: ${MONITORING_INFLUXDB_ENV_INIT_BUCKET}
      DOCKER_INFLUXDB_INIT_RETENTION: 7d
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: ${MONITORING_INFLUXDB_ENV_INIT_ADMIN_TOKEN}
    volumes:
      - /volume1/docker/monitoring/influxdb:/var/lib/influxdb2
  telegraf:
    image:  telegraf:alpine
    networks:
      private: {}
    ports:
      - 8092:8092/udp
      - 8094:8094/tcp
      - 8125:8125/udp
    pid: "host"
    environment:
      HOST_PROC: /host/proc
      HOST_SYS: /host/sys
      HOST_ETC: /host/etc
      HOST_RUN: /host/run
      HOST_VAR: /host/var
      HOST_MOUNT_PREFIX: /host
    volumes:
      - /volume1/docker/monitoring/telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /sys:/host/sys:ro
      - /proc/host/proc:ro
      - /etc:/host/etc:ro
      - /run:/host/run:ro
      - /var:/host/var:ro
networks:
  private: {}

Als Starthilfe sollte das passen.

Danach sollte man sich über http://nas-ip:8096 bei der ingressdb anmelden können.
 
Zuletzt bearbeitet:

daschmidt94

Benutzer
Mitglied seit
17. Mai 2020
Beiträge
265
Punkte für Reaktionen
19
Punkte
24
danke für die ausführliche Antwort mir ist das klar, nur wo bekomme ich den token her wenn ich die docker-compose starten will?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.250
Punkte für Reaktionen
913
Punkte
174
  • Like
Reaktionen: daschmidt94

daschmidt94

Benutzer
Mitglied seit
17. Mai 2020
Beiträge
265
Punkte für Reaktionen
19
Punkte
24
danke für eure Antworten habe es nach stundenlangen probieren nun geschafft, dass ich in Influxdb nun werte sehen. :)

Jetzt noch schauen wie das mit dem snmp von Synology geht
 
  • Like
Reaktionen: haydibe und blurrrr

daschmidt94

Benutzer
Mitglied seit
17. Mai 2020
Beiträge
265
Punkte für Reaktionen
19
Punkte
24
Guten Morgen,

gestern der erste Teilerfolg nun stehe ich vor dem nächsten Problem und zwar die Konfiguration des Telegraf Dockers mit snmp. Da der Telegraf-Docker nach langer Recherche keine snmp-mib unterstützt habe ich dieses Image verwendet mit der gleichen modifizierten telegraf.conf von dieser Seite. Die mib-files habe ich über die docker-compose.yml in /usr/share/snmp/mibs. Die originalen Des ordner /usr/share/snmp/mibs habe wurden auch noch zu den synology.mibs hinzugefügt, dachte als erst da liegt der Fehler, aber leider nicht.
In /etc/snmp/snmp.conf wurde das mibs : mit # auskommentiert.
Sobald ich aber den Docker starte bekomme ich folgende Fehler:

Dockerlog

version: '3.7'
services:
telegraf:
image: nuntz/telegraf-snmp
container_name: telegraf
ports:
- 8092:8092/udp
- 8094:8094/tcp
- 8125:8125/udp
pid: "host"
environment:
HOST_PROC: /host/proc
HOST_SYS: /host/sys
HOST_ETC: /host/etc
HOST_RUN: /host/run
HOST_VAR: /host/var
HOST_MOUNT_PREFIX: /host
volumes:
- /volume1/docker/telegraf/config/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /:/host:ro
- /volume1/docker/telegraf/mib:/usr/share/snmp/mibs


Vielleicht kann mir hier nochmal jemand weiterhelfen.


MFG Schmidt
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.164
Punkte für Reaktionen
63
Punkte
68
Ich habe mich an diesem Projekt orientiert, die Mibs von dort genommen und die fehlende snmp Unterstützung mit einem angepassten Image gelöst.

Dockerfile:
ROM telegraf:latest

COPY mibs/* /usr/share/snmp/mibs/
RUN echo "deb http://http.us.debian.org/debian stable main contrib non-free" >/etc/apt/sources.list.d/nonfree.list && \
apt-get -y update && \
apt-get -y install snmp-mibs-downloader && \
apt clean
nicht vergessen die input_syno_telegraf.conf an die telegraf.conf anzuhängen
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat