|
пре 7 година | |
---|---|---|
conf | пре 7 година | |
dashboard | пре 7 година | |
dist | пре 7 година | |
etc | пре 7 година | |
src | пре 7 година | |
test | пре 7 година | |
Makefile.in | пре 7 година | |
README.md | пре 7 година |
nodes2grafana ist ein Konverter für nodes.json
-> prometheus Textformat. Mit dem erforderlichen Drumrum, incl. grafana Dashboards.
Die Software befindet sich zZ in Dortmund im Probebetrieb, s. die Dashboards FF-DO-status und FF-DO-status-group. Sowie die Wiki-Seite zum FF-DO-Status.
nodes2grafana ist aber nicht spezifisch für die Dorfmunder FF-Community, sondern kann durch Editieren einer Konfigurationsdatei (s.u.) von anderen Communities "umge*brand*et" werden:-) Zumindest, wenn die dortige nodes.json
die gleiche Struktur hat wie in Dortmund. Ansonsten müsste der Konverter (nodes2prom
) angepasst werden, d.h. z.Z.: umprogrammiert.
Den aktuellen Stand dieses repository's kann man sich hier als tarball herunterladen: https://git.ffdo.de/altlast/nodes2grafana/archive/master.tar.gz. Oder das repository mit git
klonen: https://git.ffdo.de/altlast/nodes2grafana.git.
Nach erfolgreichem make
(s.u.) findet sich der tarball in dist/nodes2grafana.txz
. Hat man lokale Modifikationen an der Software vorgenommen, so sind sie im tarball enthalten, sofern man dist/Makefile.in
ggf. angepasst hat.
Benötigt wird außer den üblichen verdächtigen Un*x-utilities nur SML/NJ. Das smlnj package sollte vollständig sein, d.h. auch ml-build
und heap2exec
enthalten. Dies ist beim FreeBSD port lang/smlnj der Fall.
Zwecks Konfigurationsanpassung (Pfade, Metriknamen, Community) die Datei conf/substitutions.conf.default
nach /etc/nodes2grafana.conf
kopieren und die zu ändernden Werte anpassen.
Zeilen, die gegenüber der substitutions.conf.default nicht geändert wurden, können auch weggelassen werden.
Will man nicht gleich im /etc herumschreiben sondern erstmal ausprobieren, kann man conf/substitutions.conf.local
verwenden.
Anschließend:
make -C conf && make
# make install
# make clean
# rm Makefile
Nach einem erfolgreichen make
befinden sich im Verzeichnis test/tmp
die Ergebnisse des Testlaufs (cd test && make).
Durch make install
werden der Konverter nodes2prom
und ein script nodes2prometheus.sh
nach BIN_DIR installiert. Das script fetch
t die nodes.json von der angegebenen NODES_URL und konvertiert sie mit nodes2prom
zu einer .prom-Datei nach EXPORT_DIR. Das script sollte im Betrieb periodisch ausgeführt werden. S. etc/crontab
.
Es genügt, den node_exporter
nur mit dem textfile-Kollektor laufen zu lassen, um die ....prom Datei aus dem EXPORT_DIR für Prometheus verfügbar zu machen:
node_exporter -web.listen-address=localhost:9100 -collector.textfile.directory=/var/tmp/node_exporter -collectors.enabled=textfile
In prometheus.yaml
das "Scrapen" des lokalen node_exporter konfigurieren:
scrape_configs:
static_configs:
- targets: ['localhost:9100']
Startparameter zB:
prometheus -config.file=/usr/local/etc/prometheus.yml -storage.local.path=/data/prometheus -storage.local.target-heap-size=536870912 -storage.local.chunk-encoding-version=2 -storage.local.retention 336h0m0s
In grafana.conf
die von nodes2grafana nach DASHBOARD_DIR installierten Dashboards freischalten:
[dashboards.json]
;enabled = false
enabled = true
path = /var/db/grafana/dashboards
Startparameter zB:
grafana-server -config=/usr/local/etc/grafana.conf -homepath=/usr/local/share/grafana/
graph.json
-> grafananodes.json
den passenden Konverter generieren. (Sportlich, aber wenn man eh' schon mit SML unterwegs ist ... :)