PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Je komplexer das System, desto mehr wird es mit Warnungen aller Art ĂŒberwuchert. Und es besteht die Notwendigkeit, auf dieselben Warnungen zu reagieren, sie zu aggregieren und zu visualisieren. Ich denke, das ist eine Situation, die vielen bis zur NervositĂ€t bekannt ist.

Die Lösung, die diskutiert wird, ist nicht die unerwartetste, aber die Suche liefert keinen vollstÀndigen Artikel zu diesem Thema.

Deshalb habe ich beschlossen, die Erfahrungen von FunCorp zu teilen und darĂŒber zu sprechen, wie der Dienstprozess strukturiert ist, wer anruft, warum und wie man das Ganze betrachten kann.

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Was ist PagerDuty?

Um all diese Probleme zu lösen, machten wir uns auf die Suche nach einem praktischen Tool. Nach einigem Suchen haben wir uns fĂŒr PagerDuty entschieden. PD schien uns eine recht vollstĂ€ndige und ĂŒbersichtliche Lösung mit einer Vielzahl von Integrationen und Einstellungen zu sein. Wie ist sie?

Kurz gesagt ist PagerDuty eine Plattform zur Vorfallverarbeitung, die ĂŒber verschiedene Integrationen eingehende VorfĂ€lle verarbeiten, Dienstbefehle einrichten und dann den diensthabenden Ingenieur je nach Schweregrad des Vorfalls (auf hoher Ebene – ein Anruf, auf niedriger Ebene –) benachrichtigen kann. ein Push von der Anwendung / SMS) .

Wer ist der diensthabende Beamte?

Dies ist wahrscheinlich der erste Ort, an dem Sie mit der Einrichtung von PD beginnen.

Bei FunCorp gibt es, wie bei anderen Unternehmen auch, ein Ehrenamt als diensthabender Beamter. Es wird einmal tĂ€glich von Ingenieur zu Ingenieur ĂŒbermittelt. Es gibt eine sogenannte erste und zweite Reaktionslinie auf eine Warnung von PagerDuty. Angenommen, ein Alarm mit hoher PrioritĂ€t geht ein und wenn 10 Minuten nach dem Anruf beim diensthabenden Techniker von der ersten Leitung keine Reaktion erfolgt (d. h. er wird nicht in den Status „BestĂ€tigung“ oder „Gelöst“ versetzt), wird der Anruf an den zweiten weitergeleitet Diensthabender Ingenieur. Dies wird in PagerDuty selbst ĂŒber Eskalationsrichtlinien konfiguriert.

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Wenn der zweite Dienstoffizier nicht antwortet, wird die Benachrichtigung an zurĂŒckgegeben der haupt an den diensthabenden Beamten.

Daher kann eine eingehende Warnung mit hoher PrioritĂ€t nicht unbearbeitet bleiben. 

Schauen wir uns nun an, woher VorfÀlle kommen können.

Welche Integrationen verwenden wir?

PD erhĂ€lt viele verschiedene VorfĂ€lle von verschiedenen Diensten. Derzeit verfĂŒgen wir ĂŒber etwa 25 solcher Dienste und fĂŒr deren Abwicklung nutzen wir einige vorgefertigte Integrationen.

  • Prometheus

Das wichtigste Metrikerfassungssystem ist Prometheus. Auf HabrĂ© wurde bereits viel darĂŒber geschrieben. Ich möchte nur sagen, dass wir mehrere davon fĂŒr verschiedene Umgebungen haben: Eines sammelt Metriken von virtuellen Maschinen und Dockern, ein anderes von Amazon-Diensten und das dritte von Hardware-Maschinen. Telegraf wird hauptsĂ€chlich als Metrikexporteur verwendet.

  • E-Mail

Auch hier ist meiner Meinung nach aus dem Titel alles klar. Diese Integration wird verwendet, um Benachrichtigungen von einigen von Cron ausgefĂŒhrten Skripten zu senden. PD gibt Ihnen eine bestimmte Adresse, an die Sie Briefe senden. Beim Erstellen eines Dienstes mit einer solchen Integration können Sie PrioritĂ€ten festlegen, in welcher Reihenfolge eingehende VorfĂ€lle verarbeitet werden, wie genau eine Warnung erstellt werden soll (fĂŒr jeden eingehenden Brief, fĂŒr einen eingehenden Brief + eine bestimmte Regel usw.).

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

  • Slack

Meiner Meinung nach eine sehr interessante Integration. Es gibt Zeiten, in denen etwas passiert, aber nicht durch VorfĂ€lle abgedeckt wird. Deshalb haben wir die Integration von Slack hinzugefĂŒgt, um einen Vorfall zu erstellen. Das heißt, Sie können an Corporate Slack schreiben /callofduty alles ist langsam und wird bald kaputt gehen und der PD wird es bearbeiten und den Vorfall an den diensthabenden Ingenieur weiterleiten.

Wir machen:

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Wir sehen:

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

  • API

HTTP-Integration. TatsĂ€chlich gibt es hier nichts besonders Interessantes, nur eine POST-Anfrage mit einem Text im JSON-Format. Zum Beispiel etwas Interessantes: Wir verwenden es zur externen Überwachung https://www.statuscake.com/. Dieser Dienst ĂŒberprĂŒft die Erreichbarkeit unserer Websites aus verschiedenen Teilen der Welt. FĂŒr den Fall, dass wir einen inakzeptablen Antwortcode erhalten (z. B. 502), wird ein Vorfall erstellt und dann folgt alles der oben beschriebenen Kette. StatusCake selbst verfĂŒgt ĂŒber die Möglichkeit, interne URLs, SSL-Zertifikate oder den Ablauf einer DomĂ€ne zu ĂŒberwachen.

  • FreeNMS

Dies ist ein weiteres Überwachungssystem. Mehr darĂŒber können Sie auf deren Website lesen https://www.librenms.org/. Mit seiner Hilfe ĂŒberwachen wir Netzwerkschnittstellen und iDRAC von Servern.

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Es gab auch Integrationen wie Datadog, CloudWatch. Sie können mehr darĂŒber erfahren, was mit ihnen passiert ist hierher.

Visualisierung

Das wichtigste System zur Meldung von VorfÀllen ist Slack. Alle VorfÀlle, die bei PD eingehen, werden in einen speziellen Chat geschrieben, und wenn sich ihr Status Àndert, wird dies auch im Chat angezeigt.

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Als sich die Gelegenheit ergab, nĂŒtzliche Daten auf den Bildschirmen von an der Decke hĂ€ngenden Monitoren anzuzeigen, wurde uns plötzlich klar, dass wir (in der Entwicklungsabteilung) nichts darauf anzuzeigen hatten. Es gibt ein wunderbares Grafana, aber es deckt nicht alles ab und die Mitarbeiter reagieren auf Warnungen, nicht auf Diagramme.

Nach einer grĂŒndlichen, aber erfolglosen Suche auf GitHub nach einem prĂ€gnanten und informativen „Board“ fĂŒr PD beschlossen wir, unser eigenes zu schreiben – nur mit dem, was wir brauchten. Obwohl zunĂ€chst die Idee bestand, die PD-Schnittstelle selbst anzuzeigen, sah dies noch unbequemer aus.

Um es zu schreiben, mĂŒssen Sie lediglich einen SchlĂŒssel von einem PD mit Nur-Lese-Rechten erhalten.
Und das haben wir bekommen:

PagerDuty oder Warum die Betriebsabteilung nachts nicht schlafen kann

Auf dem Bildschirm werden die aktuell offenen VorfÀlle, der Name des aktuell diensthabenden Ingenieurs aus dem ausgewÀhlten Zeitplan und die Zeit ohne Vorfall mit hoher PrioritÀt angezeigt (das Feld mit einem Vorfall mit hoher PrioritÀt wird rot hervorgehoben).

Die Quellen dieser Implementierung finden Sie hier.

Als Ergebnis erhielten wir ein praktisches Dashboard zur Anzeige aller unserer VorfĂ€lle. Ich wĂŒrde mich freuen, wenn einige von Ihnen unsere Erfahrung nĂŒtzlich finden.

Source: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz und VPS-VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster