Ich bin verantwortlich für die Wartung der Prometheus-Server in unserem Unternehmen. Die Metriken werden jedoch von den Teams bereitgestellt.
Gibt es eine Möglichkeit, die Anzahl der in der Prometheus-Datenbank gespeicherten Zeitreihen herauszufinden? Wir verwenden den Standard-LevelDB-Datenspeicher. Ich benötige diese Werte, um herauszufinden, ob ich die lokalen Speichereinstellungen unserer Prometheus-Instanzen anpassen muss.
Danke für Ihre Hilfe.
monitoring
system-monitoring
prometheus
Tobias Wiesenthal
quelle
quelle
storage.local.path
. Hast du das untersucht?Antworten:
Wie wäre es
count({__name__=~".+"})
?Es wird die Anzahl der Zeitreihen in der Datenbank zurückgegeben. Ich habe mit der Anzahl der Metriken verglichen, die derzeit von jedem Ziel durch manuelles Verschrotten angezeigt werden, und es entspricht +/- 10%. Ich denke, der Unterschied ist auf einige Ziele zurückzuführen, die ich in der Vergangenheit hatte, und jetzt sind sie offline.
quelle
Nach einigen weiteren Recherchen und dank der Kommentare von David.B fand ich eine Lösung, die für mich funktioniert
Um die Anzahl der von Prometheus gespeicherten Zeitreihen zu ermitteln, verwende ich diesen Befehl im
storage.local.path
Ordner:ls -l {{0..9},{a..f}}{{0..9},{a..f}} | grep -E "*.db$" | wc -l
Darüber hinaus wurden in der prometheus-Dokumentation einige Metriken gefunden , die bei der Behandlung von Speicherproblemen / -optimierungen hilfreich sein können.
Dies ist vielleicht nicht der raffinierteste Weg, aber es gab mir die Zahlen, nach denen ich gesucht habe.
quelle
Sie können versuchen ({ name = ~ ". +"}) Auf der Prometheus-Konsole, um die gesamte Zeitreihe abzurufen
quelle
count({name=~".+"})
gibt mir eine Nummer, die kleiner ist als die vonprometheus_local_storage_memory_series
. In meinem Fall ist dies 3k voncount
und 130k vonprometheus_local_storage_memory_series
. Ich würde erwarten, dass die Anzahl der Zeitreihen im Speicher gleich oder kleiner als die Gesamtzahl der Zeitreihen ist und nicht umgekehrt. Die Version von oben (ls -l {{0..9},{a..f}}{{0..9},{a..f}} | grep -E "*.db$" | wc -l
) sagt mir, dass ich 527k Zeitreihen habe.