- PagerDuty /
- Integrationen /
- SaltStack-Integrationsleitfaden
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.
- vom Konfiguration Menü auswählen Dienstleistungen.
- 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.


- 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.
- 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.

- Kopiere die Integrationsschlüssel für Ihre neue Integration:

- vom Konfiguration Menü auswählen API-Zugriff Die

- Klicken Sie auf Ihrer API-Zugriffsseite auf die Schaltfläche +Neuen API-Schlüssel erstellen Taste.

- 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.
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 - Sobald Sie Ihre Optionen eingegeben haben, klicken Sie Schlüssel erstellen Die
- 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.

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
- Bearbeiten Sie die
/etc/salt/minionDatei, 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.
- Erstellen Sie einen
/srv/pillar/pagerduty.slsDatei, 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 - Bearbeiten Sie die
/srv/pillar/top.slsDatei, 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
- Bearbeiten Sie die
/etc/salt/masterDatei auf dem Master. Falls noch nicht vorhanden, fügen Sie einen Abschnitt mit dem Namen hinzu.ReaktorIn 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 - Erstellen Sie die Reaktordatei unter
/srv/reactor/my-custom.slsDiese Datei weist einen Minion namens alertminion an, einen Vorfall in PagerDuty auszulösen. Beachten Sie, dassService-Schlüsselbezieht 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 - 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 - 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
- Erstellen Sie eine Datei unter
/srv/salt/top.slsdas alle Minions mit einem Status anspricht, der die durchschnittliche Last überwacht.
Basis: '*': - Loadavg - Erstellen Sie eine SLS-Datei bei
/src/salt/loadavg.slsDas 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 - 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.