Seite wählen

check_influxdb ist jetzt öffentlich verfügbar!

von | Sep 21, 2023 | NETWAYS

InfluxDB ist eine Zeitreihendatenbank, die gerne für Performance Monitoring genutzt wird. Zusammen mit dem Telegraf Agenten, kann man so ziemlich alle vorstellbaren Formate einliefern und diese in Metriken oder Logs transformieren. Hat man die Daten einmal in der Datenbank, kann man entweder direkt in InfluxDB mittels „Checks“ gegen Schwellwerte prüfen, oder man hat dafür ein zusätzliches Monitoring Tool im Einsatz, beispielsweise Icinga. Für letzteres braucht man aber ein Check-Plugin.

Mit check_influxdb lässt sich der Zustand von InfluxDB v1 und v2 Instanzen prüfen. Außerdem können flux Abfragen an InfluxDB v2 geschickt werden und ausgewertet werden. Das Check-Plugin haben wir in Golang geschrieben, das heißt, es werden keine weiteren Abhängigkeiten auf der Icinga Instanz benötigt.

https://github.com/NETWAYS/check_influxdb

Hier einige Beispiele für die Nutzung:

Wir können zunächst mal grundlegend prüfen, ob unsere InfluxDB Instanz erreichbar ist. Dafür nutzen wir den health Unterbefehl:

$ check_influxdb health 
[OK] - InfluxDB Status: pass

$ check_influxdb health 
[CRITICAL] - InfluxDB Status: fail

Mit dem query Unterbefehl können wir direkt flux Abfragen auswerten lassen und gegen Schwellwerte prüfen. Dabei können wir die flux Abfrage entweder direkt in der Kommandozeile übergeben, oder in einer Datei ablegen:

check_influxdb query --token "${INFLUX_TOKEN}" --org myorg --bucket telegraf --warning 1 --critical 2 \
--flux-string 'from(bucket:"monitor")|>range(start:-1h)|>filter(fn:(r)=>r["_measurement"]=="cpu")|>filter(fn:(r)=>r["_field"]=="usage_user")|>aggregateWindow(every:1h,fn:mean)'

[CRITICAL] - InfluxDB Query Status | cpu.usage_user=0.04;1;2
exit status 2

check_influxdb query --token "${INFLUX_TOKEN}" --org myorg --bucket telegraf --warning 50 --critical 100 \
--flux-file mem.flux

[WARNING] - InfluxDB Query Status | mem.active=68.9;50;100
exit status 1

Natürlich können bei beiden Befehlen Adresse, TLS Konfiguration und Authentifizierung als Parameter angeben. Außerdem lässt sich Unterstützung für InfluxDB v3 einbauen, sobald diese Version öffentlich verfügbar ist.

Das Plugin ist ab sofort verfügbar und wir freuen uns über Feedback. Und hast du einen Bug gefunden, oder brauchst ein neues Feature? Melde dich einfach auf GitHub!

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema NETWAYS

Monthly Snap Mai 2024

Hallo zusammen! Der Mai ist unglaublich schnell verflogen mit Star Wars Day, DevOpsDays und den vielen Feiertagen. Aber rückblickend war es ein schöner Frühlingsmonat. Unser Blog war im Mai stark auf die Konferenzen fokussiert, denn da warten ja noch einige Highlights...

Grab One of the Last Tickets to stackconf 2024!

The clock is ticking, and if you haven't secured your spot at stackconf 2024 yet, now is the time! This premier conference, held in Berlin on June 18-19, is a must-attend event for anyone involved in IT infrastructure, cloud native solutions, and DevOps. With a...

Praktikumswoche 2024 | Das Ticket zu Deiner IT-Zukunft

Wir von NETWAYS sind voller Vorfreude darauf, junge Talente während der Praktikumswoche Mittelfranken zu begrüßen und ihnen die faszinierende Welt der Informationstechnologie näherzubringen.   Das ist die Praktikumswoche Die Praktikumswoche ist eine fantastische...

Azubi-Projektwoche 2024

Hallo zusammen, wie jedes Jahr fand auch dieses Jahr unsere spannende Azubi-Projektwoche bei NETWAYS statt. Für alle, die noch nicht wissen, worum es geht: In dieser Woche kommen alle NETWAYS Azubis zusammen, um gemeinsam ein Projekt zu realisieren. Besonders...