SaltStack-Integrationshandbuch

Diese Integration erfordert die Verwendung unserer REST-API v1, die am 19. Oktober 2018 außer Betrieb genommen wurde.

Weitere Informationen zur Außerbetriebnahme der REST-API v1 finden Sie hier in unseren FAQ: https://v2.developer.pagerduty.com/v2/docs/v1-rest-api-decommissioning-faq

Bitte wenden Sie sich an SaltStack, um den Status dieses Upgrades zu erfragen.

SaltStack ist das führende Systemverwaltungsframework, das Remote-Ausführung mit einer breiten Palette anderer Funktionen kombiniert, von der Konfigurationsverwaltung über die Serverautomatisierung bis hin zu Überwachungsdiensten.

In diesem Dokument wird beschrieben, wie Sie die Remote-Ausführungs- und Konfigurationsverwaltungstools in SaltStack für die Verwendung mit PagerDuty konfigurieren. Eine ausführlichere Anleitung zu SaltStack selbst finden Sie Hier .

In PagerDuty

Alle PagerDuty Plug-Ins für SaltStack erfordern die Pagerduty-Subdomäne und den API-Schlüssel sowie die Konfiguration einer Integration.

  1. Von dem Aufbau wählen Sie Dienstleistungen.
  2. Klicken Sie auf der Seite „Dienste“: Wenn Sie einen neuen Dienst für Ihre Integration erstellen, +Neuen Dienst hinzufügen Wenn Sie Ihre Integration zu einem vorhandenen Dienst hinzufügen, klicken Sie auf den Namen des Dienstes, zu dem Sie die Integration hinzufügen möchten. Klicken Sie dann auf Integrationen und klicken Sie auf die +Neue Integration Taste. RS-Add-New-ServiceRS-Add-Integration-Existing-Service
  3. Wählen Sie Ihre App aus dem Integrationstyp und geben Sie eine Integrationsname Wenn Sie einen neuen Dienst für Ihre Integration erstellen, geben Sie in den Allgemeinen Einstellungen einen Name für Ihren neuen Dienst. Geben Sie dann in den Vorfalleinstellungen die Eskalationsrichtlinie , Dringlichkeit der Benachrichtigung , Und Vorfallverhalten für Ihren neuen Service.
  4. Drücke den Service hinzufügen oder Integration hinzufügen Schaltfläche, um Ihre neue Integration zu speichern. Sie werden auf die Integrationsseite für Ihren Dienst weitergeleitet.
    RS-Integration-Settings
  5. Kopiere das Integrationsschlüssel für Ihre neue Integration: RS_API_pd_3
  6. Von dem Aufbau wählen Sie API-Zugriff .
    apiaccess-0
  7. Klicken Sie auf der Seite „API-Zugriff“ auf das +Neuen API-Schlüssel erstellen Taste. apiaccess-1
  8. Im angezeigten Dialog werden Sie aufgefordert, einen Beschreibung für Ihren Schlüssel und wählen Sie einen API-Version . Sie haben auch die Möglichkeit, den Schlüssel zu erstellen als Schreibgeschützt ; wenn Sie dieses Kontrollkästchen nicht aktivieren, wird ein vollständiger Zugriffsschlüssel erstellt. _int3__API_Keys_-_PagerDuty   Ein Hinweis zur Versionierung: API v2.0 wurde entwickelt, um neuen Integrationen die Kommunikation mit PagerDuty zu erleichtern. Für die meisten vorhandenen PagerDuty Integrationen ist ein API v1.0-Schlüssel erforderlich. Wenn Sie Fragen dazu haben, welche API-Version Sie verwenden sollen, wenden Sie sich bitte an support@pagerduty.com
  9. Wenn Sie Ihre Optionen eingegeben haben, klicken Sie auf Schlüssel erstellen .
  10. Wenn Sie auf „Schlüssel erstellen“ klicken, wird ein Dialogfeld angezeigt, in dem Ihr Schlüssel angezeigt wird und die Optionen bestätigt werden, die Sie im vorherigen Schritt eingegeben haben. Denken Sie daran, diesen Schlüssel in alle Anwendungen zu kopieren, die ihn jetzt benötigen, da Sie nach diesem Schritt keinen Zugriff mehr auf den Schlüssel haben. Wenn Sie einen zuvor erstellten Schlüssel verlieren und erneut darauf zugreifen müssen, sollten Sie den Schlüssel entfernen und einen neuen erstellen. Klicken Sie auf Schließen sobald Sie Ihren Schlüssel erfolgreich kopiert haben. api__2_

In SaltStack:

Ab der Salt-Version 2014.7.0 wird PagerDuty nativ unterstützt und erfordert keine zusätzlichen Plug-ins. Salt muss jedoch weiterhin konfiguriert werden, um die PagerDuty Module zu verwenden. Derzeit wird nur die Minion-seitige Funktionalität unterstützt.

Minion-Konfigurationsdatei

  1. Bearbeiten Sie die /etc/salt/minion Datei, um die Informationen von oben einzuschließen. Vorausgesetzt, Ihr PagerDuty -Konto ist so eingestellt, dass es http://myaccount.pagerduty.com/ und den obigen Einstellungen sieht die Konfigurationsstrophe folgendermaßen aus:
     my-pagerduty-config: pagerduty.subdomain: meinKonto pagerduty.api_key: K42pPqY75U1Qr7e9 

Säulenkonfiguration

PagerDuty kann auch über das Pillar-System von Salt konfiguriert werden.

  1. Ein ... kreieren /srv/pillar/pagerduty.sls Datei, um die Informationen von oben einzuschließen. Vorausgesetzt, Ihr PagerDuty -Konto ist so eingestellt, dass es http://myaccount.pagerduty.com/ und den obigen Einstellungen sieht die Konfigurationsstrophe folgendermaßen aus:
     my-pagerduty-config: pagerduty.subdomain: meinKonto pagerduty.api_key: K42pPqY75U1Qr7e9 
  2. Bearbeiten Sie die /srv/pillar/top.sls Datei, um die erforderlichen Minions der PagerDuty Konfiguration zuzuordnen. Vorausgesetzt, alle Minions verwenden PagerDuty, könnte dies folgendermaßen aussehen:
     Basis: '*': - Pagerduty 

Verwenden von PagerDuty mit Salts Event Reactor

PagerDuty ist als Ausführungsmodul verfügbar, d. h. es kann vom Event Reactor-System innerhalb von Salt verwendet werden. Dieses Handbuch enthält ein Beispiel für die Verwendung des grundlegenden Ereignis Ausführungsmodul. Eine ausführlichere Beschreibung des Reaktorsystems finden Sie unter http://docs.saltstack.com/en/latest/topics/reactor/ .

      1. Bearbeiten Sie die /etc/salt/master Datei auf dem Master. Wenn sie noch nicht vorhanden ist, fügen Sie einen Abschnitt namens Reaktor . Fügen Sie in diesem Abschnitt den Namen des benutzerdefinierten Tags hinzu, das wir verwenden werden, und den Speicherort der zu verwendenden Reaktordatei.
         Reaktor: - 'mein/benutzerdefiniert/Tag': - /srv/Reaktor/mein-benutzerdefiniert.sls 
      2. Erstellen Sie die Reaktordatei unter /srv/reactor/meine-kundenspezifische.sls . Diese Datei weist einen Minion namens alertminion an, einen Vorfall in PagerDuty auszulösen. Beachten Sie, dass die Dienstschlüssel bezieht sich auf Integrationsschlüssel oben erwähnt.
         new_custom_alert: cmd.pagerduty.create_event: - tgt: alertminion - kwarg: description: „Benutzerdefinierter Alarm von {{ data['name'] }}“ Details: Dies ist ein benutzerdefinierter Alarm service_key: 8eb116b11626346239365c9651e Profil: my-pagerduty-config 
      3. Starten Sie den Salt-Master-Dienst neu, um die Reaktorkonfiguration zu aktivieren.
         # Auf Systemen, die noch den alten SysV-Init-Dienst verwenden, salt-master restart # Auf Systemen, die systemd verwenden, systemctl restart salt-master 
      4. Weisen Sie vom Master aus einen Minion an, ein Ereignis auf dem Event Bus von Salt auszulösen.
         salt myminion event.fire_master '{'data':'meine Ereignisdaten'}' 'mein/benutzerdefiniert/Tag' 

</ol

Verwenden von PagerDuty in einem Salt-Zustand

Es ist auch möglich, während eines Statusdurchlaufs einen Vorfall zu erstellen. Das folgende Beispiel geht davon aus, dass derzeit kein Statusbaum vorhanden ist. Eine ausführliche Erläuterung der Salt-Zustände finden Sie unter http://docs.saltstack.com/en/latest/topics/tutorials/index.html#states .

        1. Erstellen Sie eine Datei unter /srv/salt/top.sls das auf alle Minions mit einem Status abzielt, der die durchschnittliche Auslastung überwacht.
           Basis: '*': - loadavg 
        2. Erstellen Sie eine SLS-Datei unter /src/salt/loadavg.sls das die Überwachung der durchschnittlichen Auslastung durchführt. Wenn die durchschnittliche Auslastung außerhalb des angegebenen Bereichs liegt, wird in PagerDuty ein Vorfall ausgelöst.
           check_load: status.loadavg: - Maximum: 1,2 - Minimum: 0,05 - onfail: - pagerduty: loadavg_trigger loadavg_trigger: pagerduty.create_event: - Name: ‚Ungültiger durchschnittlicher Lastwert‘ - Details: ‚Durchschnittlicher Lastwert liegt außerhalb des gewünschten Bereichs‘ - service_key: 8eb116b11626346239365c9651e - Profil: my-pagerduty-config 
        3. Führen Sie einen Statuslauf für einen Minion durch, der die durchschnittliche Auslastung überprüft und bei Bedarf den Vorfall auslöst.
           Salz, mein Untergebener, Zustand.hoher Zustand 

Andere PagerDuty Funktionen

Weitere Funktionen sind auch über das Ausführungsmodul PagerDuty verfügbar. Um diese Funktionen nutzen zu können, muss mindestens ein Minion für PagerDuty konfiguriert sein. Die aktuelle Version von Salt unterstützt das Auflisten von Vorfällen und aktuellen Diensten.

Listing-Dienste

Zusätzlich zu den anderen zurückgegebenen Informationen gibt diese Funktion Integrationsschlüssel zurück, die zum Auslösen von Vorfällen verwendet werden können. So tätigen Sie einen Anruf vom Master mithilfe eines konfigurierten Minion:

 Salz myminion pagerduty.list_services my-pagerduty-config 

Auflisten von Vorfällen

Diese Funktion gibt alle mit diesem Konto verknüpften Vorfälle zurück, einschließlich offener, bestätigter und gelöster Vorfälle. So tätigen Sie einen Anruf vom Master mithilfe eines konfigurierten Minion:

 Salz myminion pagerduty.list_incidents my-pagerduty-config 

Beginnen Sie noch heute mit der Nutzung von PagerDuty

Testen Sie PagerDuty 14 Tage lang kostenlos – keine Kreditkarte erforderlich.

MELDEN SIE SICH AN