So installierst du den TIG Stack (Telegraf, InfluxDB und Grafana) auf Ubuntu 22.04
Der TIG (Telegraf, InfluxDB und Grafana) Stack ist ein Akronym für eine Plattform von Open-Source-Tools, die das Sammeln, Speichern, Darstellen und Alarmieren von Systemmetriken erleichtern. Du kannst Metriken wie Arbeitsspeicher, Festplattenplatz, angemeldete Benutzer, Systemauslastung, Swap-Nutzung, Betriebszeit, laufende Prozesse usw. von einem Ort aus überwachen und visualisieren. Die im Stack verwendeten Tools sind wie folgt:
- Telegraf – ist ein Open-Source-Metriken-Sammel-Agent zum Sammeln und Senden von Daten und Ereignissen aus Datenbanken, Systemen und IoT-Sensoren. Er unterstützt verschiedene Output-Plugins wie InfluxDB, Graphite, Kafka usw., an die er die gesammelten Daten senden kann.
- InfluxDB – ist eine Open-Source-Zeitreihendatenbank, die in der Sprache Go geschrieben wurde. Sie ist für schnelle, hochverfügbare Speicherung optimiert und eignet sich für alles, was mit großen Mengen an Zeitstempeldaten zu tun hat, einschließlich Metriken, Ereignissen und Echtzeitanalysen.
- Grafana – ist eine Open-Source-Datenvisualisierungs- und Überwachungssoftware. Sie unterstützt verschiedene Input-Plugins wie Graphite, ElasticSearch, InfluxDB usw. und wird hier genutzt als InfluxDB client. Es bietet ein wunderschönes Dashboard und Metrik-Analysen, mit denen du jede Art von Systemmetrik und Leistungsdaten visualisieren und überwachen kannst.
In diesem Tutorial erfährst du, wie du den TIG Stack auf einem einzelnen Ubuntu 22.04 Server installierst und konfigurierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein Nicht-Sudo-Benutzer mit Root-Rechten.
- Die Unkomplizierte Firewall (UFW) ist aktiviert und läuft.
- Stelle sicher, dass alles auf dem neuesten Stand ist.
$ sudo apt update && sudo apt upgrade
Schritt 1 – Firewall konfigurieren
Bevor du die Pakete installierst, musst du als erstes die Firewall so konfigurieren, dass sie die Ports für InfluxDB und Grafana öffnet.
Überprüfe den Status der Firewall.
$ sudo ufw status
Du solltest etwas wie das Folgende sehen.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Öffne Port 8086 für InfluxDB und 3000 für den Grafana-Server.
$ sudo ufw allow 8086 $ sudo ufw allow 3000
Überprüfe den Status zur Bestätigung noch einmal.
$ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 8086 ALLOW Anywhere 3000 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 8086 (v6) ALLOW Anywhere (v6) 3000 (v6) ALLOW Anywhere (v6)
Schritt 2 – Installiere InfluxDB
Wir verwenden das offizielle Repository von InfluxDB, um es zu installieren.
Lade den InfluxDB GPG-Schlüssel herunter.
$ wget -q https://repos.influxdata.com/influxdb.key
Importiere den GPG-Schlüssel in den Server.
$ echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
Importiere das InfluxDB-Repository.
$ echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
Aktualisiere die Repository-Liste des Systems.
$ sudo apt update
Du hast die Möglichkeit, InfluxDB 1.8.x oder 2.0.x zu installieren. Es ist jedoch besser, die neueste Version zu verwenden. Installiere InfluxDB.
$ sudo apt install influxdb2
Starte den InfluxDB-Dienst.
$ sudo systemctl start influxdb
Überprüfe den Status des Dienstes.
$ sudo systemctl status influxdb ? influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-09-13 00:00:27 UTC; 42s ago Docs: https://docs.influxdata.com/influxdb/ Process: 12514 ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh (code=exited, status=0/SUCCESS) Main PID: 12515 (influxd) Tasks: 7 (limit: 1030) Memory: 48.5M CPU: 547ms CGroup: /system.slice/influxdb.service ??12515 /usr/bin/influxd ........
Schritt 3 – InfluxDB-Datenbank und Benutzeranmeldeinformationen erstellen
Um die Daten von Telegraf zu speichern, musst du die Influx-Datenbank und den Benutzer einrichten.
InfluxDB wird mit einem Kommandozeilen-Tool namens influx ausgeliefert, mit dem du mit dem InfluxDB-Server interagieren kannst. Stell dir influx
als das mysql
Kommandozeilentool vor.
Führe den folgenden Befehl aus, um die erste Konfiguration für Influx vorzunehmen.
$ influx setup > Welcome to InfluxDB 2.0! ? Please type your primary username navjot ? Please type your password *************** ? Please type your password again *************** ? Please type your primary organization name howtoforge ? Please type your primary bucket name tigstack ? Please type your retention period in hours, or 0 for infinite 360 ? Setup with these parameters? Username: navjot Organization: howtoforge Bucket: tigstack Retention Period: 360h0m0s Yes User Organization Bucket navjot howtoforge tigstack
Du musst deinen anfänglichen Benutzernamen, dein Passwort, den Namen deiner Organisation, den Namen des primären Buckets, in dem die Daten gespeichert werden, und die Aufbewahrungsfrist in Stunden für diese Daten festlegen. Deine Angaben werden in der Datei /home/username/.influxdbv2/configs
gespeichert.
Du kannst diese Einrichtung auch vornehmen, indem du die URL http://<serverIP>:8086/
in deinem Browser aufrufst. Sobald du die Ersteinrichtung durchgeführt hast, kannst du dich mit den oben erstellten Anmeldedaten bei der URL anmelden.
Du solltest das folgende Dashboard sehen.
Bei der Ersteinrichtung wird ein Standard-Token erstellt, der vollen Lese- und Schreibzugriff auf alle Organisationen in der Datenbank hat. Aus Sicherheitsgründen benötigst du ein neues Token, das sich nur mit der Organisation und dem Bucket verbindet, mit denen wir uns verbinden wollen.
Um ein neues Token zu erstellen, klickst du auf das folgende Symbol in der linken Seitenleiste und dann auf den Link API-Tokens, um fortzufahren.
Du wirst auf die Seite mit den API-Tokens weitergeleitet. Hier siehst du das Standard-Token, das wir bei der Erstkonfiguration erstellt haben.
Klicke auf die Schaltfläche Token generieren und wähle die Option Token lesen/schreiben, um ein neues Overlay-Popup zu öffnen. Gib dem Token einen Namen (telegraf
) und wähle den Standard-Bucket, den wir in den Abschnitten Lesen und Schreiben erstellt haben.
Klicke auf Speichern, um die Erstellung des Tokens abzuschließen. Klicke auf den Namen des neu erstellten Tokens, um ein Popup mit dem Wert des Tokens zu öffnen.
Speichere ihn für den Moment, da wir ihn später noch brauchen werden.
Damit ist die Installation und Konfiguration von InfluxDB abgeschlossen. Als Nächstes müssen wir Telegraf installieren.
Schritt 4 – Telegraf installieren
Telegraf und InfluxDB teilen sich das gleiche Repository. Das bedeutet, dass du Telegraf direkt installieren kannst.
$ sudo apt install telegraf
Der Dienst von Telegraf wird während der Installation automatisch aktiviert und gestartet.
Telegraf ist ein Plugin-gesteuerter Agent und verfügt über 4 Arten von Plugins:
- Input-Plugins sammeln Metriken.
- Prozessor-Plugins transformieren, dekorieren und filtern Metriken.
- Aggregator-Plugins erstellen und aggregieren Metriken.
- Output-Plugins definieren die Ziele, an die die Metriken gesendet werden, einschließlich InfluxDB.
Telegraf speichert seine Konfiguration für alle diese Plugins in der Datei /etc/telegraf/telegraf.conf
. Der erste Schritt besteht darin, Telegraf mit InfluxDB zu verbinden, indem du das Output-Plugin influxdb_v2
aktivierst. Öffne die Datei /etc/telegraf/telegraf.conf
zum Bearbeiten.
$ sudo nano /etc/telegraf/telegraf.conf
Finde die Zeile [[outputs.influxdb_v2]]
und kommentiere sie aus, indem du das # vor der Zeile entfernst. Bearbeite den Code darunter auf folgende Weise.
# # Configuration for sending metrics to InfluxDB 2.0 [[outputs.influxdb_v2]] # ## The URLs of the InfluxDB cluster nodes. # ## # ## Multiple URLs can be specified for a single cluster, only ONE of the # ## urls will be written to each interval. # ## ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"] urls = ["http://127.0.0.1:8086"] # # ## Token for authentication. token = "$INFLUX_TOKEN" # # ## Organization is the name of the organization you wish to write to. organization = "howtoforge" # # ## Destination bucket to write into. bucket = "tigstack"
Füge den zuvor gespeicherten Wert des InfluxDB-Tokens anstelle der Variable $INFLUX_TOKEN
in den obigen Code ein.
Suche nach der Zeile INPUT PLUGINS
und du wirst sehen, dass die folgenden Eingabe-Plugins standardmäßig aktiviert sind.
# Read metrics about cpu usage [[inputs.cpu]] ## Whether to report per-cpu stats or not percpu = true ## Whether to report total system cpu stats or not totalcpu = true ## If true, collect raw CPU time metrics collect_cpu_time = false ## If true, compute and report the sum of all non-idle CPU states report_active = false ## If true and the info is available then add core_id and physical_id tags core_tags = false # Read metrics about disk usage by mount point [[inputs.disk]] ## By default stats will be gathered for all mount points. ## Set mount_points will restrict the stats to only the specified mount points. # mount_points = ["/"] ## Ignore mount points by filesystem type. ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] ## Ignore mount points by mount options. ## The 'mount' command reports options of all mounts in parathesis. ## Bind mounts can be ignored with the special 'bind' option. # ignore_mount_opts = [] # Read metrics about disk IO by device [[inputs.diskio]] .... .... # Get kernel statistics from /proc/stat [[inputs.kernel]] # no configuration # Read metrics about memory usage [[inputs.mem]] # no configuration # Get the number of processes and group them by status [[inputs.processes]] # no configuration # Read metrics about swap memory usage [[inputs.swap]] # no configuration # Read metrics about system load & uptime [[inputs.system]] # no configuration
Du kannst je nach Bedarf weitere Input-Plugins konfigurieren, z. B. Apache Server, Docker-Container, Elasticsearch, iptables firewall, Kubernetes, Memcached, MongoDB, MySQL, Nginx, PHP-fpm, Postfix, RabbitMQ, Redis, Varnish, Wireguard, PostgreSQL usw. Es gibt auch einen InfluxDB python client.
Wenn du fertig bist, speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Starte den Telegraf-Dienst neu, nachdem du die Änderungen vorgenommen hast.
$ sudo systemctl restart telegraf
Schritt 5 – Überprüfe, ob die Telegraf-Statistiken in InfluxDB gespeichert werden
Bevor du fortfährst, musst du überprüfen, ob die Telegraf-Statistiken korrekt erfasst und in die InfluxDB eingespeist werden. Öffne die InfluxDB-Benutzeroberfläche in deinem Browser, klicke auf das dritte Symbol in der linken Seitenleiste und wähle das Menü Buckets.
Klicke auf tigstack und du solltest die folgende Seite sehen.
Klicke auf den Bucket-Namen und dann auf einen der Werte im Filter _measurement
und klicke immer wieder auf andere Werte, wenn sie erscheinen. Wenn du fertig bist, klicke auf die Schaltfläche Senden. Oben solltest du ein Diagramm sehen. Es kann sein, dass du einige Zeit warten musst, bis die Daten angezeigt werden.
Das sollte dir bestätigen, dass die Daten korrekt weitergegeben werden.
Schritt 6 – Grafana installieren
Wir verwenden das offizielle Grafana-Repository, um es zu installieren. Importiere den Grafana GPG-Schlüssel.
$ sudo wget -q -O /usr/share/keyrings/grafana.key https://packages.grafana.com/gpg.key
Füge das Repository zu deinem System hinzu.
$ echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Aktualisiere die Repository-Liste des Systems.
$ sudo apt update
Installiere Grafana.
$ sudo apt install grafana
Starte und aktiviere den Grafana-Dienst.
$ sudo systemctl enable grafana-server --now
Überprüfe den Status des Dienstes.
$ sudo systemctl status grafana-server ? grafana-server.service - Grafana instance Loaded: loaded (/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-09-13 01:04:47 UTC; 2s ago Docs: http://docs.grafana.org Main PID: 13674 (grafana-server) Tasks: 7 (limit: 1030) Memory: 104.6M CPU: 1.050s CGroup: /system.slice/grafana-server.service ??13674 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/log/grafana .......
Schritt 7 – Grafana-Datenquelle einrichten
Starte die URL http://<serverIP>:3000
in deinem Browser und die folgende Grafana-Anmeldeseite sollte dich begrüßen.
Melde dich mit dem Standardbenutzernamen admin
und dem Passwort admin
an. Als Nächstes musst du ein neues Standardpasswort einrichten.
Du wirst mit der folgenden Grafana-Startseite begrüßt. Klicke auf die Schaltfläche Füge deine erste Datenquelle hinzu.
Klicke auf die Schaltfläche InfluxDB.
Auf der nächsten Seite wählst du Flux aus dem Dropdown-Menü als Abfragesprache aus. Du kannst auch InfluxQL als Abfragesprache verwenden, aber es ist komplizierter zu konfigurieren, da es standardmäßig nur InfluxDB v1.x unterstützt. Flux unterstützt InfluxDB v2.x und ist einfacher einzurichten und zu konfigurieren.
Gib die folgenden Werte ein.
URL: http://localhost:8086
Zugang: Server
Grundlegende Auth-Details
Benutzer: navjot
Passwort: <yourinfluxdbpassword>
InfluxDB-Details
Organisation: howtoforge
Token: <influxdbtoken>
Standard-Bucket: tigstack
Klicke auf die Schaltfläche Speichern und testen und du solltest eine Bestätigungsmeldung sehen, die bestätigt, dass die Einrichtung erfolgreich war.
Schritt 8 – Grafana Dashboards einrichten
Im nächsten Schritt richtest du Grafana Dashboards ein. Klicke auf das Zeichen mit den vier Quadraten und wähle Dashboards, um den Bildschirm Dashboard erstellen zu öffnen.
Auf der nächsten Seite klickst du auf die Schaltfläche Neues Panel hinzufügen, um den folgenden Bildschirm zu öffnen.
Füge den folgenden Code in den Abfrage-Editor ein. Diese
from(bucket: "NAMEOFYOUBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "cpu") |> filter(fn: (r) => r["_field"] == "usage_idle") |> filter(fn: (r) => r["cpu"] == "cpu-total") |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> map(fn: (r) => ({ r with _value: r._value * -1.0 + 100.0 })) |> toFloat() |> yield(name: "mean")
Verwende den Bucket-Namen, den wir oben verwendet haben. Und den Namen des Hosts, den du aus der Datei /etc/hostname
abrufen kannst.
Der obige Code berechnet die CPU-Auslastung und erstellt ein Diagramm dazu. Gib dem Panel einen Titel.
Klicke auf die Schaltfläche Abfrageinspektor und dann auf die Schaltfläche Aktualisieren, um zu überprüfen, ob deine Abfrage erfolgreich funktioniert. Klicke auf das Kreuzsymbol, um den Inspektor zu schließen.
Du kannst der Achse auch einen Namen geben, indem du das Beschriftungsfeld rechts unter dem Achsenabschnitt benutzt.
Klicke auf die Schaltfläche Übernehmen, um das Panel zu speichern.
Klicke auf die Schaltfläche Dashboard speichern, wenn du fertig bist.
Gib dem Dashboard einen Namen und klicke zum Abschluss auf Speichern.
Das Dashboard wird geöffnet und du kannst auf die Schaltfläche Panel hinzufügen klicken, um ein weiteres Panel zu erstellen.
Wiederhole den Vorgang und erstelle ein weiteres Panel für die RAM-Auslastung.
from(bucket: "NAMEOFYOUBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "mem") |> filter(fn: (r) => r["_field"] == "used_percent") |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")
Und verwende den folgenden Code für die Anzeige der Festplattennutzung.
from(bucket: "NAMEOFYOURBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "disk") |> filter(fn: (r) => r["_field"] == "used") |> filter(fn: (r) => r["path"] == "/") |> filter(fn: (r) => r["host"] == "NAMEOFYOURHOST") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> map(fn: (r) => ({ r with _value: r._value / 1000000.0 })) |> toFloat() |> yield(name: "mean")
Du kannst eine unbegrenzte Anzahl von Panels erstellen.
Der obige Code basiert auf der Flux Scripting Sprache. Zum Glück musst du diese Sprache nicht lernen, um Abfragen zu schreiben. Du kannst die Abfrage aus der InfluxDB URL generieren. Auch wenn das Erlernen der Sprache bei der Optimierung der Abfragen von Vorteil sein kann.
Um die Abfrage zu erhalten, musst du zum InfluxDB Dashboard zurückkehren und die Seite Explore öffnen.
Klicke auf den Bucket-Namen und dann auf einen der Werte im Filter _measurement
und klicke immer wieder auf andere Werte, wenn sie erscheinen. Wenn du fertig bist, klicke auf die Schaltfläche Skript-Editor und du solltest die folgende Seite sehen. Das Diagramm sollte ebenfalls aktualisiert werden.
Kopiere die angezeigte Abfrage und du kannst sie jetzt im Grafana-Dashboard verwenden, um deine Diagramme zu erstellen.
Schritt 9 – Alarme und Benachrichtigungen konfigurieren
Die Einrichtung von Monitoren dient in erster Linie dazu, rechtzeitig Warnungen zu erhalten, wenn der Wert einen bestimmten Schwellenwert überschreitet.
Der erste Schritt besteht darin, das Ziel festzulegen, an das du die Benachrichtigungen senden möchtest. Du kannst Benachrichtigungen per E-Mail, Slack, Kafka, Google Hangouts Chat, Microsoft Teams, Telegram, etc. erhalten.
Für unseren Lehrgang werden wir E-Mail-Benachrichtigungen aktivieren. Um E-Mail-Benachrichtigungen einzurichten, müssen wir zunächst den SMTP-Dienst konfigurieren. Öffne die Datei /etc/grafana/grafana.ini
, um SMTP zu konfigurieren.
$ sudo nano /etc/grafana/grafana.ini
Finde darin die folgende Zeile [smtp]
. Hebe die Kommentare in den folgenden Zeilen auf und gib die Werte für den benutzerdefinierten SMTP-Server ein.
[smtp] enabled = true host = email-smtp.us-west-2.amazonaws.com:587 user = YOURUSERNAME # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" password = YOURUSERPASSWORD ;cert_file = ;key_file = ;skip_verify = false from_address = user@example.com from_name = HowtoForge Grafana # EHLO identity in SMTP dialog (defaults to instance_name) ;ehlo_identity = dashboard.example.com # SMTP startTLS policy (defaults to 'OpportunisticStartTLS') ;startTLS_policy = NoStartTLS
Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Starte den Grafana-Server neu, um die Einstellungen zu übernehmen.
$ sudo systemctl restart grafana-server
Öffne die Grafana-Seite und klicke auf das Alert-Symbol und dann auf Kontaktpunkte.
Grafana erstellt und richtet automatisch einen Standard-E-Mail-Kontaktpunkt ein, der mit der richtigen E-Mail-Adresse konfiguriert werden muss. Klicke auf die Schaltfläche Bearbeiten über dem Kontaktpunkt grafana-default-email
.
Gib die Details ein, um den E-Mail-Benachrichtigungskanal einzurichten.
Wenn du eine zusätzliche Nachricht senden möchtest, klicke auf den Link Optionale E-Mail-Einstellungen und gib die Nachricht ein.
Klicke auf Testen, um zu sehen, ob die E-Mail-Einstellungen funktionieren. Klicke auf Speichern, wenn du fertig bist.
Jetzt, wo wir die Benachrichtigungskanäle eingerichtet haben, müssen wir Benachrichtigungen einrichten, wenn wir diese E-Mails erhalten. Um die Benachrichtigungen einzurichten, musst du zurück zu den Dashboard-Panels gehen.
Klicke auf Dashboard >> Durchsuchen, um die Dashboard-Seite zu öffnen.
Klicke auf das Dashboard, das wir gerade erstellt haben, und du erhältst die Startseite mit den verschiedenen Bereichen. Um ein Panel zu bearbeiten, klicke auf den Namen des Panels und ein Dropdown-Menü öffnet sich. Klicke auf den Link Bearbeiten, um fortzufahren.
Klicke auf das Warnmeldungs-Panel und klicke auf die Schaltfläche Warnregel aus diesem Panel erstellen, um eine neue Warnmeldung einzurichten.
Du kannst nun die Bedingungen konfigurieren, unter denen Grafana den Alarm sendet.
Standardmäßig ist der ausgewählte Alarmtyp der von Grafana verwaltete Alarm. Klicke auf das Dropdown-Menü, um den Zeitbereich auf die letzten 15 Minuten zu ändern, d.h. es wird von vor 15 Minuten bis jetzt geprüft.
Bedingungen
Grafana arbeitet mit einer Abfrage des folgenden Formats, um zu bestimmen, wann ein Alarm ausgelöst werden soll.
avg() OF query(A) IS BELOW 14
- avg() steuert, wie der Wert für jede Reihe auf einen vergleichbaren Wert zum Schwellenwert reduziert werden soll. Du kannst auf den Funktionsnamen klicken, um eine andere Funktion auszuwählen, z.B. avg(), min(), max(), sum(), count(), etc.
- Abfrage(A) Der Buchstabe in der Klammer legt fest, welche Abfrage auf der Registerkarte Metriken ausgeführt werden soll.
- IS BELOW 14 Legt die Art des Schwellenwerts und den Schwellenwert fest. Du kannst auf IS BELOW klicken, um einen anderen Schwellentyp auszuwählen.
Du kannst eine zweite Bedingung darunter einfügen, indem du auf die Schaltfläche + unter der ersten Bedingung klickst. Derzeit kannst du nur die Operatoren AND und OR zwischen mehreren Bedingungen verwenden.
Regel
- Name – Gib einen beschreibenden Namen für den Alarm ein
- Ordner – Erstelle einen Ordner oder wähle einen bereits existierenden Ordner aus, um deine Benachrichtigungsregel zu speichern.
- Gruppe – Gib einen Namen für deine Benachrichtigungsgruppe ein. Warnmeldungen in einer Gruppe werden nach demselben Zeitintervall ausgewertet.
- Auswerten alle – Lege fest, wie oft Grafana die Warnung auswerten soll. Dies wird auch als Auswertungsintervall bezeichnet. Du kannst hier jeden beliebigen Wert einstellen.
Keine Daten & Fehlerbehandlung
Du kannst konfigurieren, wie Grafana Abfragen behandeln soll, die keine Daten oder nur Nullwerte zurückgeben, indem du die folgenden Bedingungen verwendest:
- Keine Daten – Setze den Regelstatus auf
NoData
- Alerting – Setze den Regelstatus auf
Alerting
- Ok – Setze den Status der Warnregel auf Ok, d.h. du bekommst eine Warnung, auch wenn alles in Ordnung ist.
Du kannst Grafana mitteilen, wie Ausführungs- oder Timeout-Fehler behandelt werden sollen.
- Alerting – Setze den Status der Regel auf
Alerting
- Ok – Setze den Status der Warnregel auf Ok, d.h. du bekommst eine Warnung, auch wenn alles in Ordnung ist.
- Fehler – Setze den Status der Warnregel auf Fehler, um anzuzeigen, dass es ein Problem gibt.
Wenn du fertig bist, klicke auf die Schaltfläche Vorschau der Warnmeldungen, um zu sehen, ob alles gut funktioniert. Klicke oben rechts auf die Schaltfläche Speichern und beenden, um das Hinzufügen der Warnmeldung abzuschließen. Du solltest jetzt Benachrichtigungen über deine E-Mail erhalten.
Fazit
Damit ist die Anleitung zur Installation und Konfiguration von TIG Stack auf einem Ubuntu 22.04 basierten Server abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.