Sensu Core Integrationsleitfaden

Sensu ist ein Open-Source-Framework zur Überwachung von Servern, Diensten, Anwendungsstatus und geschäftlichen KPIs. Sensu wurde von Grund auf für die Überwachung von Systemen in der Cloud, wie z. B. AWS EC2-Instanzen, entwickelt und erkennt Systeme automatisch, anstatt sie vorab in der Konfiguration anzugeben.

Diese Anleitung führt Sie durch den Prozess der Integration von Sensu Core mit PagerDuty. Sollten Sie Probleme bei der Integration haben, wenden Sie sich bitte an uns. Kontaktieren Sie uns Die

Notiz: Die Schritte in diesem Leitfaden beziehen sich auf Sensu Core, die kostenlose Version von Sensu. Die Enterprise-Version verfügt über eine integrierte PagerDuty Funktion, die offiziell von Heavy Water unterstützt wird. Daher empfehlen wir, die Schritte in unserem Leitfaden zu befolgen.
Sensu Enterprise Integrationsleitfaden wenn Sie Sensu Enterprise verwenden.

Falls Sie dies noch nicht getan haben, empfehlen wir dringend, auf Python 3 umzusteigen, um diese Integration nutzen zu können. Derzeit wird CentOS 5 von der Sensu Core-Integration nicht unterstützt. Die

In PagerDuty

  1. vom Konfiguration Menü auswählen Dienstleistungen.
  2. Auf Ihrer Serviceseite:

    Wenn Sie einen neuen Dienst für Ihre Integration erstellen, klicken Sie hier. +Neuen Dienst hinzufügen Die

    Wenn Sie Ihre Integration zu einem bestehenden Dienst hinzufügen, klicken Sie auf den Namen des Dienstes, dem Sie die Integration hinzufügen möchten. Klicken Sie anschließend auf die Schaltfläche Integrationen Tabulatortaste und klicken Sie auf +Neue Integration Taste.
    RS-Add-New-ServiceRS-Add-Integration-Existing-Service

  3. Wählen Sensu von Integrationstyp Menü und geben Sie ein Integrationsname Die

  4. Klicken Sie auf Dienst hinzufügen oder Integration hinzufügen Klicken Sie auf diese Schaltfläche, um Ihre neue Integration zu speichern. Sie werden anschließend zur Integrationsseite Ihres Dienstes weitergeleitet.
    RS-Integration-Settings

  5. Kopiere die Integrationsschlüssel für Ihre neue Integration:
    RS_API_pd_3

Auf Ihrem Sensu-Server

Diese Anleitung wurde unter Ubuntu 16.04 und Amazon Linux 2016.09 mit Sensu 0.20.2-1 und 0.26.5-2 erstellt und getestet. Die Pfade können für andere Betriebssysteme oder Sensu-Versionen abweichen. Beachten Sie, dass alle angegebenen Befehle als Administrator ausgeführt werden müssen. Wurzel Benutzer.

  1. Installieren Sie die PagerDuty Agent Der Agent empfängt Ereignisse von Sensu und sendet sie über eine Warteschlange an PagerDuty , stellt Protokolle bereit, die bei der Fehlerbehebung helfen, und versucht automatisch, Benachrichtigungen erneut zu senden, falls eine Verbindung fehlschlägt (z. B. wenn Ihr Sensu-Knoten vorübergehend die Verbindung verliert).
  2. Speichern Sie die PagerDuty Handlerkonfiguration in Ihrer Sensu-Installation. conf.d Verzeichnis:
     wget -O /etc/sensu/conf.d/pagerduty_handler.json https://raw.githubusercontent.com/ PagerDuty/pdagent-integrations/master/conf.d/sensu_pagerduty_handler.json 
  3. Ändern Sie die Konfigurationsdatei so, dass Ihr Integrationsschlüssel aus Schritt 5 des obigen Abschnitts stammt:
     /etc/sensu/conf.d/pagerduty_handler.json  { 'handlers': { 'pagerduty': { 'type': 'pipe', 'command': '/usr/share/pdagent-integrations/bin/pd-sensu -k  IHR INTEGRATIONSSCHLÜSSEL HIER  ' } } } 
  4. Wenn Sie PagerDuty als Standardhandler festlegen möchten, sodass jede Überprüfung ohne definierten Handler PagerDuty bei einer Warnung benachrichtigt, öffnen Sie die Konfigurationsdatei für den Standardhandler und fügen Sie Folgendes hinzu: Pagerdienst zum Satz der Handler:
     /etc/sensu/conf.d/default_handler.json  { 'handlers': { 'default': { 'type': 'set', 'handlers': [ 'pagerduty' ] } } } 

    Wenn PagerDuty nicht als Standard-Handler fungieren soll, d. h. nur Benachrichtigungen von spezifisch definierten Prüfungen an PagerDuty gesendet werden sollen, öffnen Sie die Konfigurationsdatei für jede Prüfung, für die Sie Benachrichtigungen an PagerDuty senden möchten, und fügen Sie Folgendes hinzu: Pagerdienst An die für die Überprüfung zuständigen Mitarbeiter:

     /etc/sensu/conf.d/YOUR-CHECK.json  { 'checks': { 'IHR-CHECK-NAME': { 'command': 'IHR-CHECK-BEFEHL', 'subscribers': [ 'IHRE-ABONNENTEN' ], 'interval': IHR-INTERVAL, 'handlers': ['default', '  Pagerdienst  '] } } } 
  5. Starten Sie Sensu neu, damit Ihre Konfigurationsänderungen wirksam werden: Neustart des Serverdienstes sensu-server; Neustart des Clientdienstes sensu-client

Überprüfen Sie, ob die Integration funktioniert

  1. Erstellen Sie eine Standardprüfung, die den Cron-Dienst überwacht, wie im Sensu-Leitfaden beschrieben. Erste Schritte mit Schecks Ihre Überprüfung sieht folgendermaßen aus, wenn Sie PagerDuty wie in Schritt 2 oben beschrieben als Standardhandler festgelegt haben:
     /etc/sensu/conf.d/check_cron.json  { 'checks': { 'cron': { 'command': '/etc/sensu/plugins/check-process.rb -p cron', 'subscribers': [ 'test' ], 'interval': 60, 'handlers': 'default' } } } 

    Wenn Sie PagerDuty nicht als Standardhandler festgelegt haben, müssen Sie dies angeben. Pagerdienst als in Betreuer so was:

     'handlers': ['default', 'pagerduty'] 
  2. Starten Sie Sensu neu, damit Ihre Konfigurationsänderungen wirksam werden: Neustart des sensu-Servers
  3. Vergewissern Sie sich, dass Sensu funktioniert, der von Ihnen erstellte Cron-Check erfolgreich ist und keine weiteren Warnmeldungen ausgelöst wurden. Ihr Dashboard sollte wie folgt aussehen:

  4. Stoppe den Cron-Dienst: service cron stop
  5. Innerhalb von 60 Sekunden sollten Sie eine Warnung in Sensu sehen und ein neuer Vorfall in PagerDuty ausgelöst werden:

Häufig gestellte Fragen

Kann ich Sensu Core so konfigurieren, dass es mit mehreren PagerDuty -Diensten zusammenarbeitet?

Ja. Das können Sie tun, indem Sie mehrere Handler erstellen, wie folgt:

  1. Wählen Sie für jeden Handler neue Namen, z. B. pagerduty1 , pagerduty2 usw.
  2. Erstellen Sie Kopien der Datei mit unterschiedlichen Namen. pagerduty1_handler.json , pagerduty2_handler.json , usw.
  3. In jeder Datei:
    • Ändern 'pagerduty' zum neuen, unverwechselbaren Namen
  4. Ändern Sie den Integrationsschlüssel in den eindeutigen Integrationsschlüssel des Dienstes, für den der Handler in PagerDuty verwendet werden soll.
  5. Geben Sie für verschiedene Prüfungen den jeweils zu verwendenden PagerDuty Handler anhand seines Namens an, z. B.:
     /etc/sensu/conf.d/YOUR-CHECK.json  { 'checks': { 'IHR-CHECK-NAME': { 'command': 'IHR-CHECK-BEFEHL', 'subscribers': [ 'IHRE-ABONNENTEN' ], 'interval': IHR-INTERVAL, 'handlers': ['default', '  pagerduty1  '] } } } 

Bereit loszulegen?

Testen Sie jedes Produkt in der Operations Cloud kostenlos. Keine Kreditkarte erforderlich.