Verwenden von alert_relabel_configs – blog.bissquit.com


Die Neuzuweisung von Labels in Prometheus wird am häufigsten im Abschnitt scrape_configs verwendet. Nach der Zielliste gibt es die Option relabel_configs. Für die Mehrheit ist klar, wie es funktioniert. – Es gibt eine Quellmetrik (source_labels), es gibt ein Ziel (target_label). Irgendwo in der “Mitte”, direkt oder unter Verwendung von Stammgästen, wird der Wert abgerufen, geändert und auf dem Zieletikett gespeichert.

Es gibt jedoch eine Reihe anderer Stellen, an denen die Weiterleitung sehr nützlich sein kann. In diesem Artikel werde ich Sie daran erinnern.

Verwenden von alert_relabel_configs

Wie aus dem Titel des Artikels hervorgeht, werden wir uns speziell darauf konzentrieren alert_relabel_configs… Relaying ist jedoch ein sehr leistungsfähiges Tool zur Metrikverwaltung, das auch in anderen Konfigurationsabschnitten zu finden ist. mit überall der gleichen Syntax.

Nehmen wir als Beispiel eine einfache Alarmsituation:

Ihre Bedeutung ist von entscheidender Bedeutung – und beispielsweise wird im Warnungsmanager ein dringender Anruf bei Systemadministratoren für Warnungen mit dieser Bedeutung bereitgestellt. Aber was ist, wenn es keine sehr wichtigen Hosts gibt, vielleicht zum Testen oder nur mit einer Last mit niedriger Priorität, für die es nicht notwendig ist, die Teilnehmer dringend anzurufen? Wie kann man sie ausschließen? Es gibt Optionen.

Sie können den Hostnamen einfach direkt zu den Ausnahmen in der Warnung hinzufügen:

Die Nachteile liegen auf der Hand – stellen Sie sich vor, Sie haben 10 oder 1000 solcher Hosts. Eine vorzuziehende Option wäre, eine bestimmte Bezeichnung in der Zielliste für solche Hosts festzulegen (siehe Schweregrad_rewrite):

Als nächstes führen wir in der Warnung die Verarbeitung dieses Etiketts durch:

Dann müssen Sie eine zweite Warnung mit einem anderen Beschriftungswert (oder einem fehlenden Wert) schreiben, was die Konfiguration erschwert. Es ist viel besser, eine komplexe Bedingung hinzuzufügen Schwere, dann müssen Sie keine Warnungen generieren:

Besser, aber werden Sie das wirklich für jede Warnung tun? Es stellt sich als zu umständlich heraus und der Einfluss des menschlichen Faktors ist groß.

Es ist möglich, den Beschriftungswert zentral im Abschnitt neu zu definieren Alarmierung… Dazu müssen Sie die Option verwenden alert_relabel_configs… Es sieht aus wie das:
Alarmierung:

Hier kleben wir zwei Etiketten zusammen (das Standardtrennzeichen ist «;«), Danach überprüfen wir den Wert von beiden mit dem regulären und wenn er mit dem Muster übereinstimmt, ändern wir den Schweregrad der Beschriftung.

Hinweis: Warnungen sind ebenfalls Metriken (Sie können sie mit der Anforderung {__name __ = ~ “ALERTS. *”} Durchblättern, aber Sie können ihre Beschriftungen nicht im Abschnitt scrape_configs verwalten. Dies kann nur über alert_relabel_configs erfolgen.

Denken Sie daran, dass sich die Beschriftungen erst vor dem Senden an den Alert-Manager ändern. Im Prometheus selbst sehen Sie den Schweregrad, der in der Alert-Regel angegeben ist:

Aber im Alert Manager wird es erwartet Schweregrad = »Warnung»::

Infolgedessen haben alle Warnungen für diesen Host eine niedrigere Priorität. Die Alarmregeln selbst bleiben unverändert, was zweifellos ein großes Plus ist. Das ist alles.

Kommentare bereitgestellt von HyperComments

Leave a Reply

Your email address will not be published. Required fields are marked *