SaltStack-Integrationsleitfaden

Für diese Integration ist die Verwendung unserer v1 REST-API erforderlich, die am 19. Oktober 2018 außer Betrieb genommen wurde.

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

Bitte kontaktieren Sie SaltStack, um sich nach dem Status dieses Upgrades zu erkundigen.

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

Dieses Dokument beschreibt detailliert die Konfiguration der Remote-Ausführungs- und Konfigurationsverwaltungstools in SaltStack für die Verwendung mit PagerDuty. Eine ausführlichere Beschreibung von SaltStack selbst finden Sie hier. Hier Die

In PagerDuty

Alle PagerDuty -Plug-ins für SaltStack benötigen die PagerDuty-Subdomain und den API-Schlüssel sowie eine konfigurierte Integration.

  1. vom Konfiguration Menü auswählen Dienstleistungen.
  2. Auf Ihrer Serviceseite: Wenn Sie einen neuen Service für Ihre Integration erstellen, klicken Sie auf +Neuen Dienst hinzufügen 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 Integrationen Tabulatortaste und klicken Sie auf +Neue Integration Taste. RS-Add-New-ServiceRS-Add-Integration-Existing-Service
  3. Wählen Sie Ihre App aus der Integrationstyp Menü und geben Sie ein Integrationsname Wenn Sie einen neuen Dienst für Ihre Integration erstellen, geben Sie in den allgemeinen Einstellungen einen Namen ein. Name für Ihren neuen Service. Geben Sie dann in den Vorfalleinstellungen Folgendes an: Eskalationsrichtlinie , Dringlichkeit der Benachrichtigung , Und Vorfallverhalten für Ihren neuen Service.
  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
  6. vom Konfiguration Menü auswählen API-Zugriff Die
    apiaccess-0
  7. Klicken Sie auf Ihrer API-Zugriffsseite auf die Schaltfläche +Neuen API-Schlüssel erstellen Taste. apiaccess-1
  8. Im daraufhin erscheinenden Dialogfeld werden Sie aufgefordert, eine/n einzugeben. Beschreibung für Ihren Schlüssel und wählen Sie einen API-Version Sie haben außerdem die Möglichkeit, den Schlüssel wie folgt zu erstellen: Nur lesbar Wenn Sie dieses Kästchen nicht markieren, wird ein Schlüssel für den vollständigen Zugriff erstellt. _int3__API_Keys_-_PagerDuty   Ein Hinweis zur Versionierung: API v2.0 wurde entwickelt, um die Kommunikation neuer Integrationen mit PagerDuty zu vereinfachen. Die meisten bestehenden PagerDuty Integrationen benötigen einen API-v1.0-Schlüssel. Bei Fragen zur zu verwendenden API-Version wenden Sie sich bitte an [Kontaktinformationen einfügen]. support@pagerduty.com
  9. Sobald Sie Ihre Optionen eingegeben haben, klicken Sie Schlüssel erstellen Die
  10. Sobald Sie auf „Schlüssel erstellen“ klicken, erscheint ein Dialogfeld, in dem Ihr Schlüssel angezeigt und die im vorherigen Schritt eingegebenen Optionen bestätigt werden. Kopieren Sie diesen Schlüssel jetzt unbedingt in alle Anwendungen, die ihn benötigen, da Sie nach diesem Schritt keinen Zugriff mehr auf den Schlüssel haben werden. Wenn Sie einen zuvor erstellten Schlüssel verlieren und erneut darauf zugreifen müssen, sollten Sie den Schlüssel löschen und einen neuen erstellen. Klicken Sie hier. Schließen sobald Sie Ihren Schlüssel erfolgreich kopiert haben. api__2_

In SaltStack:

Ab Salt-Version 2014.7.0 wird PagerDuty nativ unterstützt und benötigt keine zusätzlichen Plugins. Salt muss jedoch weiterhin für die Verwendung der PagerDuty -Module konfiguriert werden. Aktuell wird nur die Minion-seitige Funktionalität unterstützt.

Minion-Konfigurationsdatei

  1. Bearbeiten Sie die /etc/salt/minion Datei, um die oben genannten Informationen einzuschließen. Vorausgesetzt, Ihr PagerDuty Konto ist für die Verwendung eingerichtet. https://myaccount.pagerduty.com/ Mit den oben genannten Einstellungen sieht der Konfigurationsabschnitt wie folgt aus:
     my-pagerduty-config: pagerduty.subdomain: myaccount pagerduty.api_key: K42pPqY75U1Qr7e9 

Säulenkonfiguration

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

  1. Erstellen Sie einen /srv/pillar/pagerduty.sls Datei, um die oben genannten Informationen einzuschließen. Vorausgesetzt, Ihr PagerDuty Konto ist für die Verwendung eingerichtet. https://myaccount.pagerduty.com/ Mit den oben genannten Einstellungen sieht der Konfigurationsabschnitt wie folgt aus:
     my-pagerduty-config: pagerduty.subdomain: myaccount pagerduty.api_key: K42pPqY75U1Qr7e9 
  2. Bearbeiten Sie die /srv/pillar/top.sls Datei, um die benötigten Minions der PagerDuty Konfiguration zuzuordnen. Unter der Annahme, dass alle Minions PagerDuty verwenden, könnte dies wie folgt aussehen:
     Basis: '*': - pagerduty 

Verwendung von PagerDuty mit Salts Event Reactor

PagerDuty ist als Ausführungsmodul verfügbar und kann daher über das Event-Reactor-System in Salt genutzt werden. Diese Anleitung enthält ein Beispiel für die grundlegende Verwendung. Ereignis Ausführungsmodul. Eine ausführlichere Beschreibung des Reaktorsystems finden Sie unter [Link einfügen]. https://docs.saltstack.com/en/latest/topics/reactor/ Die

  1. Bearbeiten Sie die /etc/salt/master Datei auf dem Master. Falls noch nicht vorhanden, fügen Sie einen Abschnitt mit dem Namen hinzu. Reaktor In diesem Abschnitt fügen Sie den Namen des benutzerdefinierten Tags, den wir verwenden werden, und den Speicherort der zu verwendenden Reaktordatei hinzu.
     reactor: - 'my/custom/tag': - /srv/reactor/my-custom.sls 
  2. Erstellen Sie die Reaktordatei unter /srv/reactor/my-custom.sls Diese Datei weist einen Minion namens alertminion an, einen Vorfall in PagerDuty auszulösen. Beachten Sie, dass Service-Schlüssel bezieht sich auf die Integrationsschlüssel wie oben erwähnt.
     new_custom_alert: cmd.pagerduty.create_event: - tgt: alertminion - kwarg: description: “Benutzerdefinierte Warnung von {{ data['name'] }}” details: Dies ist eine benutzerdefinierte Warnung service_key: 8eb116b11626346239365c9651e profile: 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 Meister aus einen Minion an, ein Ereignis auf Salts Ereignisbus auszulösen.
     salt myminion event.fire_master '{'data':'meine Ereignisdaten'}' 'my/custom/tag' 

Nutzung von PagerDuty in einem Salzstaat

Es ist auch möglich, während eines Zustandslaufs einen Vorfall zu erzeugen. Das folgende Beispiel geht davon aus, dass aktuell kein Zustandsbaum existiert. Eine detaillierte Beschreibung von Salt States finden Sie unter [Link einfügen]. https://docs.saltstack.com/en/latest/topics/tutorials/index.html#states Die

  1. Erstellen Sie eine Datei unter /srv/salt/top.sls das alle Minions mit einem Status anspricht, der die durchschnittliche Last überwacht.
     Basis: '*': - Loadavg 
  2. Erstellen Sie eine SLS-Datei bei /src/salt/loadavg.sls Das System überwacht die Systemlast. Fällt die Systemlast außerhalb des festgelegten Bereichs, 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: 'Schlechte Lastdurchschnittslast' - details: 'Die Lastdurchschnittslast liegt außerhalb des gewünschten Bereichs' - service_key: 8eb116b11626346239365c9651e - profile: my-pagerduty-config 
  3. Führen Sie einen Statuslauf für einen Minion durch, der die durchschnittliche Systemlast überprüft und gegebenenfalls einen Vorfall auslöst.
     Salz Myminion State.Highstate 

Weitere PagerDuty -Funktionen

Weitere Funktionen sind über das PagerDuty -Ausführungsmodul verfügbar. Um diese Funktionen zu nutzen, muss mindestens ein Minion für PagerDuty konfiguriert sein. Die aktuelle Version von Salt unterstützt die Auflistung von Incidents und laufenden Diensten.

Listing-Dienste

Zusätzlich zu den anderen zurückgegebenen Informationen liefert diese Funktion Integrationsschlüssel, mit denen Vorfälle ausgelöst werden können. So führen Sie einen Aufruf vom Master aus mithilfe eines konfigurierten Minions durch:

 salt myminion pagerduty.list_services my-pagerduty-config 

Auflistung von Vorfällen

Diese Funktion gibt alle mit diesem Konto verknüpften Vorfälle zurück, einschließlich offener, bestätigter und abgeschlossener. So führen Sie einen Aufruf vom Master aus mit einem konfigurierten Minion durch:

 salt myminion pagerduty.list_incidents my-pagerduty-config 

Bereit loszulegen?

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