Ich arbeite an einer Aufgabe, wo ich Prometheus alarmmanager konfigurieren und validieren muss. Benutzer sollte gewarnt werden, wenn Mesos Prozess und HAProxy-Prozess ist, habe ich versucht, Regeln für diese im Internet zu finden, aber nicht richtig gefunden. Kann mir jemand sagen, wie man die Alarmregeln für diese schreibt? im Grunde brauchen Bedingung Klausel.Wie schreibt man Prometheus-Alarmregeln für Mesos und HAProxy-Prozesse?
Antwort
Dies hängt davon ab, wie Sie die Dinge überwachen. Lassen Sie uns HAProxy als Beispiel verwenden und sagen, dass Sie den HAProxy Exporter (https://github.com/prometheus/haproxy_exporter) verwenden, um es zu überwachen. Der HAProxy-Exporter enthält eine Metrik mit dem Namen haproxy_up
, die angibt, ob HAProxy erfolgreich gecrackt wurde (wenn Prometheus seinerseits den Exporteur gekratzt hat). Wenn HAProxy nicht gekratzt werden kann, wird haproxy_up
einen Wert von 0
haben und Sie können darauf aufmerksam machen. Nehmen wir an, Ihr HAProxy-Exporteur hat einen Prometheus-Jobnamen von haproxy-exporter
. Sie könnten dann ein Alarmierungs Regel wie folgt schreiben:
ALERT HAProxyDown
IF haproxy_up{job="haproxy-exporter"} == 0
FOR 5m
LABELS {
severity = "page"
}
ANNOTATIONS {
summary = "HAProxy {{ $labels.instance }} down",
description = "HAProxy {{ $labels.instance }} could not be scraped."
}
Dies wird eine Benachrichtigung, wenn eine HAProxy Instanz nicht länger als 5 Minuten gekratzt werden konnte senden.
Wenn Sie, ob der Exporteur (statt HAProxy selbst) war bis wissen wollen, könnten Sie stattdessen den Ausdruck up{job="haproxy-exporter"} == 0
jeden unten Instanzen HAProxy Exporteur zu finden. Wahrscheinlich werden Sie beide tatsächlich überprüfen wollen.
Ich kann nicht viel über Mesos und seinen Exporteur sagen, da ich keine Erfahrung mit ihnen habe, aber ich stelle mir vor, es wäre etwas Ähnliches.
Auch für den Export Mesos Metriken sollten Sie Mesos-Exporteur verwenden. https://github.com/prometheus-junkyard/mesos_exporter https://hub.docker.com/r/prom/mesos-exporter/ Es hat auch mesos_up Metrik. Ihre Warnung sollte die gleiche wie die HaProxy-Warnung sein:
ALERT MesosMasterDown
IF mesos_up{job="mesos-master-exporter"} == 0
FOR 5m
LABELS {
severity = "page"
}
ANNOTATIONS {
summary = "Mesos master {{ $labels.instance }} down",
description = "Mesos master {{ $labels.instance }} could not be scraped."
}
ALERT MesosSlaveDown
IF mesos_up{job="mesos-slave-exporter"} == 0
FOR 5m
LABELS {
severity = "page"
}
ANNOTATIONS {
summary = "Mesos slave {{ $labels.instance }} down",
description = "Mesos slave {{ $labels.instance }} could not be scraped."
}
- 1. Wie schreibt man Komponententest für Netzwerk-Client?
- 2. Wie schreibt man Komponententest für http Anfrage?
- 3. Umgebungsvariablen für Kubernetes/Mesos
- 4. Wie schreibt man es schön?
- 5. Wie schreibt man Ajax richtig?
- 6. , wie man schreibt Mysql Abfrage
- 7. Wie schreibt man mehrere Anweisungen?
- 8. Wie schreibt man faule Accessoren
- 9. Wie Mesos auf Mavericks
- 10. Mesos: Mesos-Slave bieten zusätzliche Ports
- 11. Wie schreibt man Einheitentests für Primefaces/JSF Apps
- 12. Wie schreibt man SQL Query für diesen Fall?
- 13. Wie schreibt man LINQ-Abfragen für CRUD mit Entity Framework?
- 14. Wie schreibt man Komponententests für Python Tornado-Anwendung?
- 15. Wie man wiederverwendbaren GLSL Code schreibt?
- 16. Wie schreibt man .htaccess mod_rewrite Regeln für diese Fälle?
- 17. Wie man Besuchermuster für einen abstrakten Syntaxbaum in C# schreibt?
- 18. Wie schreibt man automatisierte Komponententests für Java Annotation Processor?
- 19. UML-Klassendiagramm: Wie schreibt man abstrakte Methoden und Eigenschaften?
- 20. Wie schreibt man Integrationstests für Stripe Checkout auf Rails?
- 21. Wie schreibt man eine Speichermethode für Formulare in django?
- 22. , wie man schreibt für viele zu viele Beziehung
- 23. Wie liest man von TCP und schreibt auf stdout?
- 24. Wie man Speicher liest und schreibt mit Sigsegv?
- 25. Wie schreibt man C++ Audio-Verarbeitungsanwendungen?
- 26. Wie schreibt man nacheinander Zeichen in TelnetOutputStream?
- 27. Wie schreibt man Multithreading Unit Tests?
- 28. Wie startet man eine Mesos-Task auf einem bestimmten Executor?
- 29. Wie schreibt man verschachtelten JSON mit JQuery?
- 30. Wie schreibt man Tests für Data Access Layer in .Net?
Danke brian ... – milind