STERNENLABOR

Wiki und Dokuspace

Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:fabaccess:monitoring

Monitoring

zentrales Sternenlabor Monitoring

Fabaccess läuft im Docker auf einer VM auf dem Proxmoxcluster. Zusätzlich ist der Monitoring Stack mit Glances, cAdvisor und NodeExporter, wie auf den anderen LXC/VM, installiert. Das zentrale Prometheus und Grafana läuft auf der GalaxyGuardian LXC.Siehe Monitoring - Intern

FabAccess lokales Monitoring - !!Work in progress !!

  • Damit Fabaccess eigenständig arbeiten und seine Metriken auswerten kann, ist auf der Fabaccess VM ebenfalls Grafana@FabAccess und Prometheus@FabAccess als Docker Container installiert.
  • In Prometheus werden die Endpunkte (Targets) der jeweiligen Services konfiguriert, von denen Metriken gesammelt werden. Grafana liest die gesammelten Daten aus und stellt diese in Dashboards dar.
  • Die Prometheus-Endpunkte werden von einigen Services (z. B. cAdvisor oder Prometheus selbst) direkt bereitgestellt. Für FabAccess und MQTT wurden Exporter entwickelt, die Endpunkte zur Verfügung stellen und damit die Daten für Prometheus bereitstellen.

Grafana

In Grafana@FabAccess sind folgende Dashboard konfiguriert:

  • Die Dashboards für Prometheus Metriken nutzen vorgefertigte Grafan Dashboards
    • 22385 - FabAccess
    • 14282 - Cadvisor exporter (Metriken über die Docker auf der FabAccess VM)
    • 1860 - Node Exporter Full (Metriken über die FabAccess VM)
    • 3662 - Prometheus 2.0 Overview (Metriken über Prometheus auf der FabAccess VM)

Prometheus

Die Retention Periode lässt sich nicht pro Target. Daher sind zwei Prometheus Container mit unterschiedlicher Retention Period erstellt.

Prometheus

  • Die Prometheus Targets@FabAccess sind in in /etc/prometheus/prometheus.yml konfigueriert.
  • Die Retention Periode für die Metriken ist 15 Tage. Siehe command „–storage.tsdb.retention.time=15d“ in der Portainer Stack Definition (docker-compose)

Prometheus Fabaccess

  • Die Prometheus Fabaccess Targets@FabAccess sind in in /etc/prometheus_fa/prometheus.yml konfigueriert.
  • Die Retention Periode für die Metriken ist 365 Tage. Siehe command „–storage.tsdb.retention.time=365d“ in der Portainer Stack Definition (docker-compose)

Prometheus Exporter

  • Beispiel einer Installation und Konfiguration des FabAccess und MQTT Exporters ohne Docker: https://docs.fab-access.org/books/plugins-und-schnittstellen/page/monitoring-prometheus-grafana
  • Prometheus Exporter Repositories
  • Erstelle die Docker Images selbst und lade sie in Portainer hoch. Hier ein Beispiel für den fabaccess-exporter:
    • Lade Repository auf einen PC, auf dem Docker installiert ist (z.B. Polarstern → Linux Mint im Sternenlabor) und erstelle das Docker Image als .tar file
      # load the repository
      mkdir fabaccess-exporter-dockerbuild
      cd fabaccess-exporter-dockerbuild
      git clone https://gitlab.com/fabinfra/fabaccess/prometheus-exporter.git
       
      # create image and save it as .tar file
      cd fabaccess-exporter
      docker build -t fabaccess-exporter:latest .
      docker save -o fabaccess-exporter.tar fabaccess-exporter:latest
    • Lade das Docker Image via Portainer auf die FabAccess VM:
      • Gehe zu Images → Import
      • wechsel vom Advanced Mode zum Simple Mode
      • Wähle das lokal gespeicherte.tar File
      • Vergebe einen Image Name: fabaccess-exporter:latest;
      • Upload
    • oder kopiere und lade das .tar file mittels CLI
      scp fabaccess-exporter.tar administrator@fabaccess:/home/administrator/
      ssh administrator@fabaccess
      docker load -i /home/administrator/fabaccess-exporter.tar

Logging

ToDo: Da müssen wir uns entscheiden, ob wir die Docker Logs direkt nutzen oder Loki. Wenn wir Loki nutzen könnten wir das zentrale Loki auf GalaxyGuardian nutzen oder eins auf der fabaccess VM installieren, wenn fabccess komplett eigenständig inkl. Monitoring, Logging und Alerting laufen soll.

Alerting

Das Alterting ist in Grafana definiert.

projekte/fabaccess/monitoring.txt · Zuletzt geändert: 2024/12/08 11:52 von ralf

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki