2015-10-22 17 views
5

Ich habe Sensu ausgeführt und befolgte die Anweisungen, die ich bestmöglich, um das Slack-Plugin zu installieren. Ich versuche gerade eine "Hallo-Welt" zu machen, aber die Dokumentation scheint mir zu fehlen.Installing Slack Plugin auf Sensu NON-Enterprise-Edition

Ich folgte die mit Kontrollen „Getting Started“: https://sensuapp.org/docs/0.20/getting-started-with-checks und alles scheint auf dem Server in dem richtigen Ort zu sein.

Ich versuche, das folgende Community-Plugin zu installieren, aber sie haben eine Catch-All-Anweisung für alle Community-Plugins. Es gibt eine JSON-Datei in den Plug-Anweisungen, aber nicht sagen, wo es zu setzen ... https://github.com/sensu-plugins/sensu-plugins-slack

Hier ist, was meine check_cron.json aussieht (Ich habe versucht 2 Methoden, 1 aus einer anderen Quelle außer Sensu):

{ 
    "checks": { 
     "cron_checks": { 
     "handlers": ["default", "slack"], 
     "command": "/etc/sensu/plugins/check-procs.rb -p cron -C 1 ", 
     "interval": 60,  "subscribers": ["webservers"] 
     }, 
     "cron": { 
     "handlers": ["default", "slack"], 
     "command": "/etc/sensu/plugins/check-procs.rb -p cron", 
     "subscribers": [ 
      "production", 
      "webservers", 
     ], 
     "interval": 60 
     } 
    } 
    } 

Ich habe meinen Server neu gestartet, nachdem ich die Änderungen vorgenommen habe. Ich gehe davon aus, dass dieser Cron jede Minute trifft und das Slack-Benachrichtigungs-Plugin aufruft, aber nicht weiß, was ich vermisse oder wo das .json doc vom Slack-Plugin "Dokumentation"

Irgendeine Hilfe, die mich in die richtige Richtung bringt?

Antwort

0

Sie benötigen einen Handler auf dem Sensu Server, der die Anfrage an Slack sendet. Hast du das erschaffen? Wenn ja, posten Sie bitte den Inhalt.

0

Also habe ich das nur gelöst. Baishkey hat die Lösung in der link, aber nur für den Fall, dass jemand über diese und die Verbindung ist gebrochen, dachte ich, ich würde die Lösung hinzufügen.

-github Benutzer eugene-Chow:

Die Slack-Handler config müssen anders benannt werden. Versuchen Sie den JSON unten. Ich benannte die Slack Config für jede Umgebung und zeigte dann den Handler an die jeweiligen Konfiguration mit -j config_name

{ 
    "handlers": { 
    "slack-staging": { 
     "type": "pipe", 
     "command": "/usr/local/bin/handler-slack.rb -j slack-staging", 
     "severites": ["critical", "unknown"] 
    } 
    }, 
    "slack-staging": { 
    "webhook_url": "https://hooks.slack.com/services/...", 
    "template" : "" 
    } 
} 


{ 
    "handlers": { 
    "slack-production": { 
     "type": "pipe", 
     "command": "/usr/local/bin/handler-slack.rb -j slack-production", 
     "severites": ["critical", "unknown"] 
    } 
    }, 
    "slack-production": { 
    "webhook_url": "https://hooks.slack.com/services/...", 
    "template" : "" 
    } 
} 

mir die handler-slack.rb Datei mit meinen Kontrollen fiel gelassen und verweisen sie von dort, weil es nicht war in meinem /usr/local/bin/ Ordner