Prometheus Exporter Modul, Dashboard für Grafana, Config für Prometheus

Weiss ich auch noch nicht genau. Ich glaube dafür muss man einen User für das Dashboard anlegen, welcher nur viewer Rechte hat.

Ich habe es mal in den öffentlichen Bereich verschoben.

paresy

Nimm die URL bei Share aus dem „embed“ Bereich.
Dann hast du nur den Graph.

Gesendet von iPad mit Tapatalk

Hallo Spezialisten,

versuche mich gerade mit der Installation von Prometheus unter Docker auf einem Raspberry

  • sudo docker pull prom/prometheus
  • docker run -p 9090:9090 -v /home/pi/prometheus/prometheus.yml:/etc/prometheus.yml prom/prometheus

Probleme habe ich noch mit der Übernahme der prometheus.yml die ich unter /home/pi/prometheus/prometheus.yml abgelegt habe.
Irgendwie scheint das mounten nicht zu funktinieren.
Wie werden neben der config-Datei (prometheus.yml) den unter Docker dann auch die gespeicherten Daten persistent auf dem Raspi abgespeicher ?

Den Benutzer „pi“ habe ich bereits in die Gruppe „docker“ aufgenommen

  • sudo usermod -aG docker pi

PS: Wenn ich prometheus auf einem Windows-PC starte funktionier das Zusammenspiel von IPS5.4 (auf einem Raspi) mit Prometheus (Windows-.PC) und Grafana (Windows-PC) einwandfrei.

Gruß
zkra

Ich habe bei mir /prometheus für data und /etc/prometheus für die Konfiguration gemounted. Hilft das?

paresy

Hallo,

das mit der Übernahme der prometheus.yml die ich unter /home/pi/prometheus/prometheus.yml abgelegt habe funktioniert jetzt, hier hat ein /prometheus im Aufruf gefehlt.

sudo docker run -p 9090:9090 -v /home/pi/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

Bei dem Mapping des Datenverzeichnisses habe ich jedoch noch keinen Erfolg.
Aktuell sieht mein Aufruf folgendermaßen aus.

sudo docker run -p 9090:9090 -v /home/pi/prometheus:/prometheus -v /home/pi/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

Es erscheint dann folgende Fehlermeldung:
level=error ts=2020-03-13T17:01:59.315Z caller=query_logger.go:87 component=activeQueryTracker msg=„Error opening query log file“ file=/prometheus/queries.active err=„open /prometheus/queries.active: permission denied“
panic: Unable to create mmap-ed active query log

Gruß
zkra

Hallo,

bei mir läuft Prometheus auf einer anderen Linux-VM als IPS, das ist soweit nun auch ok, nach kleinen Problemem mit der Config hab ich Prometheus zum laufen gebracht.

Man muss die Syntax etwas korrigieren im Configfile von Prometheus, sonst startet der nicht.

abe rich habe eine andere Frage: Wo finde ich die Confi aus dem Screenshot in #1 ?

Dnake im Voraus

Hallo,

nach Anleitung funktioniert das ganze wenn man nicht schon bereits in Grafana andere Datenquellen als Default - Quelle gemacht hat - ansonsten funktioniert etwas in der Konfiguration nicht - Keine Daten verfügbar - Default kann man dann rausnehmen auf der Daten Quellen Config - dann flutscht es - ABER beachten - wenn man eine Default Datenquelle und entsprechende Charts generiert hat - und den Default abwählt sind alle Charts auf Standard COnfig zurück.

Grüße,
MaLu

Hallo,

ich hab das komplette Paket bei mir zwischenzeitlich zum Laufen gebracht, aber mir ist was mekrwürdiges aufgefallen:

Bei jedem Update des Dashboard verändern sich alle Graphen komplett, als wenn eine andere Datenquelle eingelesen würde. Als Beispiel mal zwei Screenshots im Anhang

( Anzeige last 24h, Updateintervall 10sec. testweise )

Kann das jemand erklären ?

Ich berichte mal kurz meine Erfahrung von gestern:

Aufgrund der behobenen Auslastungsprobleme versuchte ich mich mal mit dem Exporter.
Für mich ist Grafana und Co eigentlich immer noch Unbekanntes Gebiet.

Erst einmal mußte ich das ganze Internet leersuchen, um überhaupt einmal annähernd zu verstehen, was hierzu benötigt wird, nachdem ich die Prometheus Config gar nicht verorten konnte.

Ich hatte Grafana testweise ja schon auf dem Pi installiert und dort tauchte auch Prometheus als installierte Datenquelle auf.
Ich dachte daher, dass es ein Teil der Grafana Installation ist.
Nachdem ich nicht mehr wirklich wußte, was ich noch tun sollte, suchte ich nach einer eigenen Installation von Prometheus auf dem Pi. Diese installierte ich und schon fand ich auch die Prometheus.Config. Diese entsprechend verändert, wie oben angegeben.

Dashboard geladen und für hübsch und viel befunden. Nur waren keine Daten da.
Datenquelle der einzelnen Graphen mal auf Prometheus umgestellt nix. Erst auf Grafana kamen nun die schönen Anzeigen.
Aber so überzeugend sahen die Werte nicht aus. (BILD gleicht dem von TuxTom007)

Meine anderen Dashboards, die ich zum Testen selbst anlegte und über das JSON PlugIn angesteuert wurden, liefen nun nicht mehr. Keine Daten.

Also, um da durchzublicken, muss man sich schon eindeutig länger damit beschäftigen.
Den Blick hab ich noch nicht.

Mit IP-Symcon 6.1 gibt es eine Menge mehr Statistiken und einen aufgeräumtere Grafana Ansicht. Alle Details habe ich im ersten Beitrag aktualisiert.

paresy

1 „Gefällt mir“

Ich habe mich gerade auch mal an der Einrichtung versucht. Soweit klappt auch alles, allerdings kriege ich die Verbindung von Grafana zu Prometheus irgendwie nicht hergestellt. Das importierte Dashboard ist leer und wenn ich als Datenquelle Prometheus hinzufüge, bekomme ich beim Testen der Verbindung immer die Fehlermeldung: Error reading Prometheus: Post „/api/v1/query“: unsupported protocol scheme ""

Prometheus selbst läuft aber und ich kann auch darauf zugreifen. Hatte die Fehlermeldung schon jemand?

Gruß
Slummi

Evtl. den Host/Port von Prometheus nicht korrekt eingestellt?

paresy

Oh mann, wie peinlich. In dem Feld stand vorausgefüllt http://localhost:9090. Da das korrekt war, habe ich es komplett ignoriert. In Wirklichkeit war das Feld aber leer und es handelte sich nur um das Beispiel, was im Hintergund angezeigt wurde. :man_facepalming:t3: Jetzt geht’s. Danke!

Bei mir ist der Graph für die CPU Load leer („No Data“).
Wenn ich es richtig sehe, gibt es aber auch gar keine entsprechenden Metriken (symcon_cpu_load…).

Gruß
Slummi

Korrekt. Unter Windows ist dies aktuell nicht verfügbar.

paresy

Gibt es einen technischen Grund dafür?
Die CPU-Auslastung über Sys_GetCPUInfo() abzurufen funktioniert nämlich. Ich nehme mal an, dass die Daten über das Prometheus-Modul auch darauf basieren, oder?

Korrekt. Aber die Abfrage dauert recht lange (1 Sek) und das beißt sich mit dem 5s Abfrageintervall von Prometheus.

paresy

Hallo Leute,

hat auch bei mir funktioniert!
Dieses habe ich als Hilfe bei der Installation auf einem Raspberry Pi genutzt:

Nun muss man nur noch lernen was man den ganzen Grafiken - insbesondere an ungewöhnlichen Sachverhalten - entnehmen kann… :wink:

Joachim

Kann es sein, dass die Ermittlung der PHP-Thread-Utilization ungenau ist?
Mir ist aufgefallen, dass diese in Grafana fast immer 1 beträgt. Nur in ganz seltenen Fällen gibt es mal kleine Peaks, wo sie auf 4 hochgeht.

Das deckt sicht allerdings überhaupt nicht mit meinen Erfahrungen und Beobachtungen, wenn ich mir in der Konsole den Tab mit den aktiven Threads ansehe. Da werden regelmäßig für einen kurzen Moment sehr viele der verfügbaren Threads als gleichzeitg belegt angezeigt.

Woher kommt also dieser Unterschied? Liegt es am Aktualisierungsintervall von Prometheus, dass ausgerechnet in den 15-Sekunden-Intervallen immer nur so wenig Threads belegt sind (was ich mir nicht vorstellen kann) oder arbeitet der PHP-Tab irgendwie anders?
Mir ist das auch schon bei der Verwendung der PHP-Funktion zur Abfrage der Threads aufgefallen, auf der ja auch die Daten dieses Moduls basieren. Wenn ich die Funktion aufrufe, sind die laufenden Threads im Vergleich zum PHP-Tab sehr überschaubar.

Mein System ist aber keinesfalls stark ausgelastet. Auch im PHP-Tab werden häufiger alle Slots als frei angezeigt. Das spiegelt sich aber komischerweise auch nicht in den Prometheus-Daten wieder. Denn dort ist der kleinste Wert für die Utilization immer 1 und nie 0. Wenn die Daten in irgendeiner Form aggregiert würden, würde ich das ja verstehen, aber dann wäre der Wert 1 wiederum viel zu klein.

Also irgendwas passt da meiner Meinung nach nicht so ganz zusammen.

Gruß
Slummi