- PagerDuty /
- Integrationen /
- Puppet-Integrationsleitfaden
Puppet-Integrationsleitfaden
Puppet bietet eine standardisierte Methode zur Bereitstellung und zum Betrieb von Software, unabhängig vom Ausführungsort. Mit Puppet definieren Sie die gewünschte Struktur Ihrer Anwendungen und Infrastruktur mithilfe einer gemeinsamen, leicht verständlichen Sprache. Anschließend können Sie die gewünschten Änderungen in Ihrem gesamten Rechenzentrum teilen, testen und durchsetzen. Dabei erhalten Sie in jedem Schritt die notwendige Transparenz und die erforderlichen Berichte, um fundierte Entscheidungen zu treffen und die Einhaltung von Vorschriften nachzuweisen.
In PagerDuty
-
Gehe zu Konfiguration Menü und auswählen Dienstleistungen Die
-
Auf der Seite „Dienste“:
-
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.


-
-
Wählen Sie Ihre App aus der Integrationstyp Menü und geben Sie ein Integrationsname Die
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.

In Ihrem Puppet Master-Knoten
-
Installieren Sie die pdsupport-pagerduty Modul:
/opt/puppetlabs/bin/puppet module install pdsupport-pagerduty -
Installieren Sie die erforderlichen Ruby-Abhängigkeiten:
/opt/puppetlabs/server/bin/puppetserver gem install puppet/opt/puppetlabs/server/bin/puppetserver gem install json/opt/puppetlabs/server/bin/puppetserver gem install redphone -
Installieren Sie die pagerduty.rb Skript:
Hinweis: Dieser Schritt ist aufgrund eines Problems in Puppet erforderlich. Details zu diesem Problem sind dokumentiert. Hier Diecp /etc/puppetlabs/code/environments/production/modules/pagerduty/lib/puppet/reports/pagerduty.rb /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/ -
Füge ein Pagerdienst Fügen Sie die Klasse dem Hauptmanifest Ihres Master-Knotens hinzu:
class { 'pagerduty': } -
Liste Pagerdienst als Berichtshandler auf Ihrem Masterknoten puppet.conf Datei:
[Master] Berichte = PagerDuty -
Aktivieren Sie Plugin-Synchronisierung und Berichte auf Ihren Master- und Client-Knoten, falls dies noch nicht der Fall ist:
Hinweis: Ab Puppet 3.0.0 sind diese Einstellungen standardmäßig aktiviert. Dieser Schritt ist nur erforderlich, wenn eine dieser Einstellungen auf „false“ gesetzt wurde.Sie können die Einstellungen manuell aktivieren in puppet.conf :
[Master] Bericht = wahr Plugin-Synchronisierung = wahr [Agent] Bericht = wahr Plugin-Synchronisierung = wahrOder Sie können dies innerhalb der Pagerdienst Klasse im Manifest Ihres Master-Knotens:
class { 'pagerduty': pagerduty_puppet_reports => 'store,http,pagerduty', pagerduty_puppet_pluginsync => 'true', } -
Starten Sie das Gerät neu. Puppetserver Service:
sudo service puppetserver restart -
Verschiebe die pagerduty.yaml.erb Vorlage in Ihre Masterdatei einfügen confdir und benennen Sie die Datei um pagerduty.yaml :
mv /etc/puppetlabs/code/environments/production/modules/pagerduty/templates/pagerduty.yaml.erb /etc/puppetlabs/puppet/pagerduty.yaml -
Bearbeiten Sie Ihre pagerduty.yaml Datei und fügen Sie die Integrationsschlüssel Sie haben es in Schritt 5 oben kopiert:
sudo vi /etc/puppetlabs/puppet/pagerduty.yaml--- :pagerduty_api: 'INSERT_INTEGRATION_KEY_HERE' -
Um zu testen, ob ein fehlgeschlagener Durchlauf einen PagerDuty Vorfall auslöst, bearbeiten Sie die Pagerdienst Modul init.pp Manifestieren und Auskommentieren der Zeilen 9-13:
sudo vi /etc/puppetlabs/code/environments/produktion/modules/pagerduty/manifests/init.ppif ! defined(Service[$pagerduty_puppet_service]) { service { $pagerduty_puppet_service : ensure => running, } } -
Führen Sie anschließend den Puppet-Agenten auf einem Ihrer Client-Knoten aus:
/opt/puppetlabs/bin/puppet agent --test
Häufig gestellte Fragen
Mit welchen Puppet-Versionen ist diese Integration kompatibel?
Diese Integration wurde mit Puppet 3.x und 4.x getestet. Informationen zu älteren Puppet-Versionen finden Sie hier: dieses Modul , das für Puppet 2.x entwickelt wurde.
Lässt sich Puppet mit mehreren PagerDuty Diensten integrieren?
Jeder Puppet-Masterknoten kann nur mit einem PagerDuty -Dienst integriert werden. Wenn Sie jedoch mehrere Puppet-Masterknoten in Ihrer Umgebung haben, können Sie jeden Knoten mit einem separaten PagerDuty-Dienst integrieren. Aktualisieren Sie dazu einfach die Konfiguration. Integrationsschlüssel in Ihrem pagerduty.yaml Datei, die auf den Dienst verweist, den Sie in diesen bestimmten Knoten integrieren möchten.
Werden Vorfälle in PagerDuty automatisch behoben, wenn der Lauf in Puppet erfolgreich war?
Ja, das Problem in PagerDuty wird behoben sein, sobald der Durchlauf erfolgreich war.
Wie werden fehlgeschlagene Puppet-Läufe in PagerDuty Vorfällen dedupliziert?
Die Puppet-Läufe werden basierend auf den Gastgeber Dadurch wurde der Bericht erstellt.
Wo finde ich Protokolle zur Fehlerbehebung bei Problemen mit dieser Integration?
Puppet-Protokolle befinden sich auf Ihrem Master-Knoten im logdir , die konfiguriert werden können in puppet.conf Das Standardverzeichnis in Puppet 4.x ist:
/var/log/puppetlabs/puppetserver
Bereit loszulegen?
Testen Sie jedes Produkt in der Operations Cloud kostenlos.
Keine Kreditkarte erforderlich.