2016-08-05 28 views
0

Ich habe zwei Sensu Checks installiert, einen bezüglich Nginx und den anderen bezüglich Passagier. Der erste stellt sicher, dass der Nginx-Dienst ausgeführt wird, und der zweite prüft, ob die Passenger-Prozesse ausgeführt werden.Wie kann ich Sensu-Benachrichtigungen in Verbindung mit Passenger entfernen, wenn der Nginx-Dienst nicht ausgeführt wird?

"nginx": { 
    "command": "check-process.rb -p nginx", 
    "handler": "mailer", 
    "interval": 10, 
    "occurences": 3, 
    "refresh": 600, 
    "standalone": true 
}, 
"passenger": { 
    "command": "check-process.rb -p \"Passenger RubyApp\"", 
    "handler": "mailer", 
    "interval": 10, 
    "occurences": 3, 
    "refresh": 600, 
    "standalone": true 
}, 

Das Problem ist, dass, wenn Nginx ausfällt, automatisch bin ich Benachrichtigung bekommen, dass Passagier nach unten ist, die von der aktuellen Konfiguration normale Beurteilungs sind. Ich möchte Passagierbenachrichtigungen bei Nginx-Ausfall löschen, da ich denke, dass sie redundant sind.

Antwort

0

Die Enterprise-Version von Sensu hat dieses Feature und es heißt check_dependencies. Wenn eine Prüfung ein Ereignis hat und eine oder mehrere ihrer Abhängigkeiten ein Ereignis aufweist, wird sie nicht benachrichtigt.

https://sensuapp.org/docs/latest/enterprise/filters/check-dependencies.html

In Ihrem Fall machen Sie nginx eine Abhängigkeit von passenger. Wenn dann der Nginx ausfällt, würde der Personenalarm nicht ausgelöst werden.