2015-11-19 4 views
6

Wir verwenden Riemann und Riemann-health, um unsere Server zu überwachen. Aber jetzt bekomme ich ziemlich viele CPU-kritische Warnungen, weil die CPU für eine sehr kurze Zeit einen Spitzenwert erreicht hat - das ist nichts, was ich überhaupt über mich wissen müsste, denke ich. Aus meiner Sicht wird eine konstante hohe CPU-Auslastung die Auslastung von avg erhöhen, was ebenfalls gemeldet wird und viel nützlicher klingt.Bericht CPU wie immer ok mit Riemann

Ich möchte nicht deaktivieren, die CPU zu melden, nur jedes Level sollte als in Ordnung betrachtet werden. Wenn möglich, möchte ich die Ereignisse auf dem Riemann-Server ändern, damit ich nicht alle Server ändern muss.

Hier unser Riemann config: https://gist.github.com/iGEL/e352764a8c559440c851

+0

Konnten Sie Riemann Protokoll auch posten? –

Antwort

0

Ich habe keine vollständige Lösung, aber in der Theorie sollten Sie in der Lage sein, Ihre CPU in Verbindung stehende Ereignisse über eine where Funktion zu filtern und den Zustand bedingungslos „ok“ gesetzt mit with wie folgt:

(streams 
    (where (service #"cpu") 
     (with :state "ok" index))) 

auf der anderen Seite, auf der Last Durchschnitt unter Berufung ist keine gute Idee, da eine hohe durchschnittliche Belastung auch, dass a large number of processes are waiting for IO bedeuten kann.

Anstatt die CPU-Warnungen zu deaktivieren, können Sie nur dann warnen, wenn sich die CPU für mehr als X Zeiteinheiten nicht im Status OK befindet. Noch besser, Warnung auf einer höheren Metrik, die ein Problem darstellt, das den Client beeinflusst, wie Antwortlatenz, HTTP-Statuscodes, Fehlerlevel usw. Immerhin, wenn die CPU hoch ist, aber keine Auswirkungen auf das System hat, wird eine Warnung ausgegeben ist wahrscheinlich nur Lärm.