- PagerDuty /
- Integrationen /
- SaltStack-Integrationshandbuch
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.
Dieses Dokument beschreibt die Konfiguration der Remote-Ausführungs- und Konfigurationsverwaltungstools in SaltStack für die Verwendung mit PagerDuty. Eine ausführlichere Anleitung zu SaltStack selbst finden Sie unter 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.
- Von der Konfiguration wählen Sie im Menü Dienstleistungen.
- Auf der Seite „Dienste“: Wenn Sie einen neuen Dienst 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, zu dem Sie die Integration hinzufügen möchten. Klicken Sie dann auf Integrationen und klicken Sie auf die +Neue Integration Taste.
- 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.
- Klicken Sie auf das Dienst hinzufügen oder Integration hinzufügen , um Ihre neue Integration zu speichern. Sie werden auf die Integrationsseite für Ihren Dienst weitergeleitet.
- Kopieren Sie die Integrationsschlüssel für Ihre neue Integration:
- Von der Konfiguration wählen Sie im Menü API-Zugriff .
- Klicken Sie auf Ihrer API-Zugriffsseite auf das +Neuen API-Schlüssel erstellen Taste.
- 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 als Schreibgeschützt ; Wenn Sie dieses Kontrollkästchen nicht aktivieren, wird ein vollständiger Zugriffsschlüssel erstellt.
Ein Hinweis zur Versionierung: API v2.0 soll die Kommunikation neuer Integrationen mit PagerDuty erleichtern. Die meisten bestehenden PagerDuty Integrationen benötigen einen API v1.0-Schlüssel. Bei Fragen zur richtigen API-Version wenden Sie sich bitte an support@pagerduty.com
- Nachdem Sie Ihre Optionen eingegeben haben, klicken Sie auf Schlüssel erstellen .
- Sobald 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.
In SaltStack:
Ab Salt-Version 2014.7.0 wird PagerDuty nativ unterstützt und erfordert keine zusätzlichen Plugins. Salt muss jedoch weiterhin für die Verwendung der PagerDuty -Module konfiguriert werden. Derzeit wird nur die Minion-seitige Funktionalität unterstützt.
Minion-Konfigurationsdatei
- 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 Konfigurationszeile 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.
- Erstellen Sie ein
/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 Konfigurationszeile folgendermaßen aus:
my-pagerduty-config: pagerduty.subdomain: meinKonto pagerduty.api_key: K42pPqY75U1Qr7e9
- Bearbeiten Sie die
/srv/pillar/top.sls
Datei, um die erforderlichen Minions der PagerDuty Konfiguration zuzuordnen. Vorausgesetzt, alle Minions verwenden PagerDuty, könnte dies wie folgt aussehen:
Basis: '*': - Pagerduty
Verwenden von PagerDuty mit Salts Event Reactor
PagerDuty ist als Ausführungsmodul verfügbar und kann daher vom Event Reactor-System in Salt aus verwendet werden. Diese Anleitung enthält ein Beispiel für die Verwendung des Basismoduls. Ereignis
Ausführungsmodul. Eine ausführlichere Beschreibung des Reaktorsystems finden Sie unter http://docs.saltstack.com/en/latest/topics/reactor/ .
- Bearbeiten Sie die
/etc/salt/master
Datei auf dem Master. Falls noch nicht vorhanden, fügen Sie einen Abschnitt mit dem NamenReaktor
. 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
- Erstellen Sie die Reaktordatei unter
/srv/reactor/meine-angepasste.sls
. Diese Datei weist einen Minion namens alertminion an, einen Vorfall in PagerDuty auszulösen. Beachten Sie, dass dieDienstschlüssel
bezieht sich auf die 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
- 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 Master aus einen Minion an, ein Ereignis auf Salts Event Bus auszulösen.
Salt MyMinion Event.Fire_Master '{'Daten':'Meine Ereignisdaten'}' 'Mein/Benutzerdefiniert/Tag'
Verwenden von PagerDuty in einem Salt-Zustand
Es ist auch möglich, während eines Statuslaufs einen Vorfall zu erstellen. Das folgende Beispiel geht davon aus, dass aktuell kein Statusbaum vorhanden ist. Eine ausführliche Beschreibung der Salt-Zustände finden Sie unter http://docs.saltstack.com/en/latest/topics/tutorials/index.html#states .
- Erstellen Sie eine Datei unter
/srv/salt/top.sls
das auf alle Minions mit einem Status abzielt, der die durchschnittliche Auslastung überwacht.
Basis: '*': - loadavg
- 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ültige durchschnittliche Auslastung“ - Details: „Durchschnittliche Auslastung liegt außerhalb des gewünschten Bereichs“ - service_key: 8eb116b11626346239365c9651e - Profil: my-pagerduty-config
- Führen Sie einen Statuslauf für einen Minion durch, der die durchschnittliche Auslastung überprüft und bei Bedarf den Vorfall auslöst.
Salz myminion state.highstate
Andere PagerDuty -Funktionen
Weitere Funktionen sind auch über das PagerDuty Ausführungsmodul verfügbar. Um diese Funktionen nutzen zu können, muss mindestens ein Minion für PagerDuty konfiguriert sein. Die aktuelle Salt-Version unterstützt die Auflistung 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 Minions:
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 Minions:
Salz myminion pagerduty.list_incidents my-pagerduty-config
Bereit, loszulegen?
Testen Sie jedes Produkt der Operations Cloud kostenlos.
Keine Kreditkarte erforderlich.