- PagerDuty /
- Integrationen /
- Puppet-Integrationshandbuch
Puppet-Integrationshandbuch
Puppet bietet eine standardisierte Methode zur Bereitstellung und zum Betrieb von Software, unabhängig vom Einsatzort. Mit dem Puppet-Ansatz definieren Sie das Aussehen Ihrer Apps und Infrastruktur in einer gemeinsamen, leicht verständlichen Sprache. Anschließend können Sie die gewünschten Änderungen im gesamten Rechenzentrum freigeben, testen und durchsetzen. Und bei jedem Schritt erhalten Sie die Transparenz und die Berichte, die Sie für Entscheidungen und den Compliance-Nachweis benötigen.
In PagerDuty
-
Gehen Sie zum Konfiguration und wählen Sie Leistungen .
-
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.
In Ihrem Puppet Master-Knoten
-
Installieren Sie die pdsupport-pagerduty Modul:
/opt/puppetlabs/bin/puppet-Modul installieren 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
-
Manuelle Installation der pagerduty.rb Skript:
Hinweis: Dieser Schritt ist aufgrund eines Problems in Puppet erforderlich. Details zu diesem Problem finden Sie in der Dokumentation Hier .cp /etc/puppetlabs/code/environments/production/modules/pagerduty/lib/puppet/reports/pagerduty.rb /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/
-
Fügen Sie einen Pagerdienst Klasse zum Hauptmanifest Ihres Masterknotens:
Klasse { 'Pagerduty': }
-
Liste Pagerdienst als Report-Handler auf Ihrem Master-Knoten puppet.conf Datei:
[Master] Berichte = Pagerdienst
-
Aktivieren Sie Pluginsync und Berichte auf Ihren Master- und Clientknoten, falls dies noch nicht geschehen ist:
Hinweis: Ab Puppet 3.0.0 sind diese Einstellungen standardmäßig auf „true“ gesetzt. 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 = true Pluginsync = true [Agent] Bericht = true Pluginsync = true
Oder Sie aktivieren innerhalb der Pagerdienst Klasse im Manifest Ihres Masterknotens:
Klasse { 'pagerduty': pagerduty_puppet_reports => 'store,http,pagerduty', pagerduty_puppet_pluginsync => 'true', }
-
Starten Sie den Puppenserver Service:
sudo service puppetserver restart
-
Verschieben Sie den pagerduty.yaml.erb Vorlage in Ihren Master Confdir und benennen Sie die Datei 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 in Schritt 5 oben kopiert:
sudo vi /etc/puppetlabs/puppet/pagerduty.yaml
--- :pagerduty_api: 'INTEGRATIONSSCHLÜSSEL_HIER_EINFÜGEN'
-
Um zu testen, ob ein fehlgeschlagener Lauf einen PagerDuty Vorfall auslöst, bearbeiten Sie die Pagerdienst Moduls init.pp Manifestieren und kommentieren Sie die Zeilen 9-13 aus:
sudo vi /etc/puppetlabs/code/environments/produktion/modules/pagerduty/manifests/init.pp
wenn ! definiert(Dienst[$pagerduty_puppet_service]) { Dienst { $pagerduty_puppet_service : sicherstellen => läuft, } }
-
Führen Sie dann den Puppet-Agenten auf einem Ihrer Clientknoten 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. Ältere Versionen von Puppet finden Sie unter dieses Modul , das für Puppet 2.x erstellt wurde.
Können Sie Puppet in mehrere PagerDuty -Dienste 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 Dienst in PagerDuty integrieren. Aktualisieren Sie einfach die Integrationsschlüssel in Ihrem pagerduty.yaml Datei, um auf den Dienst zu verweisen, den Sie in diesen bestimmten Knoten integrieren möchten.
Werden Vorfälle in PagerDuty automatisch gelöst, wenn der Lauf in Puppet erfolgreich ist?
Ja, der Vorfall in PagerDuty wird behoben, sobald der Lauf erfolgreich ist.
Wie werden fehlgeschlagene Puppet-Läufe bei PagerDuty Vorfällen dedupliziert?
Die Puppet-Läufe werden dedupliziert basierend auf der Gastgeber das den Bericht generiert hat.
Wo finde ich Protokolle zur Fehlerbehebung bei dieser Integration?
Puppet-Protokolle befinden sich auf Ihrem Master-Knoten im Protokollverzeichnis , die konfiguriert werden kann in puppet.conf Das Standardverzeichnis in Puppet 4.x ist:
/var/log/puppetlabs/puppetserver
Bereit, loszulegen?
Testen Sie jedes Produkt der Operations Cloud kostenlos.
Keine Kreditkarte erforderlich.