STERNENLABOR

Wiki und Dokuspace

Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:fabaccess:monitoring

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte:fabaccess:monitoring [2024/11/22 16:02] – [FabAccess lokales Monitoring - !!Work in progress !!] ralfprojekte:fabaccess:monitoring [2024/12/08 11:52] (aktuell) – [Alerting] ralf
Zeile 1: Zeile 1:
-====== zentrales Sternenlabor 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 [[https://wiki.sternenlabor.de/doku.php?id=dienste:start#intern|Monitoring - Intern]] 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 [[https://wiki.sternenlabor.de/doku.php?id=dienste:start#intern|Monitoring - Intern]]
  
- +===== FabAccess lokales Monitoring  - !!Work in progress !! =====
-====== FabAccess lokales Monitoring  - !!Work in progress !! ======+
  
   * Damit Fabaccess eigenständig arbeiten und seine Metriken auswerten kann, ist auf der Fabaccess VM ebenfalls [[http://fabaccess:3000/|Grafana@FabAccess]] und [[http://fabaccess:9090/targets|Prometheus@FabAccess]] als Docker Container installiert.    * Damit Fabaccess eigenständig arbeiten und seine Metriken auswerten kann, ist auf der Fabaccess VM ebenfalls [[http://fabaccess:3000/|Grafana@FabAccess]] und [[http://fabaccess:9090/targets|Prometheus@FabAccess]] als Docker Container installiert. 
Zeile 10: Zeile 11:
   * 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.   * 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 ======+==== Grafana ====
  
 In **[[http://fabaccess:3000/|Grafana@FabAccess]]** sind folgende Dashboard konfiguriert: In **[[http://fabaccess:3000/|Grafana@FabAccess]]** sind folgende Dashboard konfiguriert:
 +
   * Die Dashboards für Prometheus Metriken nutzen vorgefertigte [[https://grafana.com/grafana/dashboards/|Grafan Dashboards]]   * Die Dashboards für Prometheus Metriken nutzen vorgefertigte [[https://grafana.com/grafana/dashboards/|Grafan Dashboards]]
-          * [[https://grafana.com/grafana/dashboards/22385|22385]] - FabAccess +    * [[https://grafana.com/grafana/dashboards/22385|22385]] - FabAccess 
-          * [[https://grafana.com/grafana/dashboards/14282|14282]] - Cadvisor exporter (Metriken über die Docker auf der FabAccess VM) +    * [[https://grafana.com/grafana/dashboards/14282|14282]] - Cadvisor exporter (Metriken über die Docker auf der FabAccess VM) 
-          * [[https://grafana.com/grafana/dashboards/1860|1860]]  - Node Exporter Full (Metriken über die FabAccess VM) +    * [[https://grafana.com/grafana/dashboards/1860|1860]]  - Node Exporter Full (Metriken über die FabAccess VM) 
-          * [[https://grafana.com/grafana/dashboards/3662|3662]]  - Prometheus 2.0 Overview (Metriken über Prometheus auf der FabAccess VM)+    * [[https://grafana.com/grafana/dashboards/3662|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 **[[http://fabaccess:9090/targets|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 **[[http://fabaccess:9091/targets|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 
 +    * FabAccess: [[https://gitlab.com/fabinfra/fabaccess/prometheus-exporter]] 
 +    * generischer Exporter für MQTT: [[https://github.com/kpetremann/mqtt-exporter]] 
 +  * 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 <code bash> 
 +# 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 
 +</code> 
 +    * **Lade das Docker Image via Portainer** auf die FabAccess VM:  
 +      * Öffne [[https://fabaccess:9443/|Portainer@fabaccess]] 
 +      * 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**  <code bash> 
 +scp fabaccess-exporter.tar administrator@fabaccess:/home/administrator/ 
 +ssh administrator@fabaccess 
 +docker load -i /home/administrator/fabaccess-exporter.tar
  
-====== Prometheus ======+</code>
  
-Die **[[http://fabaccess:9090/targets|Prometheus Targets@FabAccess]]** sind in in /etc/prometheus/prometheus.yml konfigueriert. 
  
-**ToDo** 
  
-  - Installation und Konfigueration des FabAccess und MQTT Exporters https://docs.fab-access.org/books/plugins-und-schnittstellen/page/monitoring-prometheus-grafana +====== Logging ======
-    - sudo nano /etc/systemd/system/prometheus-fabaccess-exporter.service +
-    - sudo nano /etc/systemd/system/prometheus-mqtt-exporter.service +
-  - Token Access für Node-Exporter muss in Proxmox eingerichtet und dann in sudo nano /etc/prometheus/pve.yml gepflegt werden+
  
 +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.1732287751.txt.gz · Zuletzt geändert: 2024/11/22 16:02 von ralf

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki