Ich habe Prometheus schrittweise in meine Überwachungsworkflows integriert , um detaillierte Messdaten zum Betrieb der Infrastruktur zu sammeln.
Dabei ist mir aufgefallen, dass ich häufig auf ein besonderes Problem stoße: Manchmal reagiert ein Exporteur, von dem Prometheus Daten abrufen soll, nicht mehr. Möglicherweise aufgrund einer Netzwerkfehlkonfiguration - auf die nicht mehr zugegriffen werden kann - oder nur, weil der Exporter abgestürzt ist.
Was auch immer der Grund sein mag, ich stelle fest, dass einige der Daten, die ich in Prometheus erwarten würde, fehlen und für einen bestimmten Zeitraum nichts in der Serie ist. Manchmal scheint ein fehlgeschlagener Exporteur (Zeitüberschreitung?) Auch andere zum Scheitern zu bringen (das erste Zeitlimit hat den gesamten Auftrag über das Zeitlimit der obersten Ebene verschoben - nur spekuliert).
Ich sehe nur eine Lücke in der Reihe, wie in der obigen Visualisierung gezeigt. In diesem Fall befindet sich nichts im Protokoll. Prometheus Selbstmetriken scheinen auch ziemlich unfruchtbar. Ich musste nur manuell versuchen zu replizieren, was Prometheus tut und zu sehen, wo es kaputt geht. Das ist lästig. Es muss einen besseren Weg geben! Ich benötige zwar keine Echtzeitwarnungen, möchte aber zumindest feststellen können, dass ein Exporteur keine Daten geliefert hat. Sogar ein boolesches Flag "Hey check your data" wäre ein Anfang.
Wie erhalte ich aussagekräftige Informationen darüber, dass Prometheus keine Daten von Exporteuren abrufen kann? Wie kann ich verstehen, warum Lücken bestehen, ohne eine manuelle Simulation der Prometheus-Datenerfassung durchführen zu müssen? Was sind die vernünftigen Praktiken in dieser Hinsicht, vielleicht sogar, wenn sie über Prometheus hinaus auf die Überwachung von Datensammlungen im Allgemeinen ausgedehnt werden?