Der Blog

Erstellen Sie Ihre PagerDuty -Berichte mit Zoho

von David Shackelford 25. Februar 2014 | 8 Minuten Lesezeit

Zwei der wichtigsten Kennzahlen für jedes Bereitschaftsteam sind Vorfallvolumen Und Durchschnittliche Reparaturzeit ( MTTR ). Durch die Verfolgung der Anzahl der in Ihr System eingehenden Vorfälle – und der von welchen Diensten – können Sie sowohl systemische Infrastrukturprobleme als auch falsch konfigurierte Überwachungstools identifizieren. Ob es sich um ein Problem mit dem Kernsystem oder nur um einen Überwachungsschwellenwert handelt, der angepasst werden muss – wenn Sie täglich Dutzende von Vorfällen feststellen, gibt es etwas zu beheben!

Die Verfolgung der MTTR zeigt Ihnen, wie schnell Ihr Team Probleme löst. Zwar variieren Vorfälle immer etwas in ihrer Komplexität, aber durch die Betrachtung von MTTR-Trends im Zeitverlauf und über verschiedene Eskalationsrichtlinien oder -dienste hinweg können Sie Verbesserungsmöglichkeiten für die Problemlösung Ihres Teams erkennen. Führt eine Eskalationsrichtlinie durchgängig zu schnelleren Lösungen als andere? Vielleicht haben sie ihr System zuverlässiger gestaltet, arbeiten über HipChat zusammen oder speichern Vorfall-Runbooks im Notizfeld für jeden PagerDuty Vorfall. Die Verfolgung von MTTR-Ausreißern kann Managern helfen, Best Practices zu identifizieren und Teams in Schwierigkeiten zu unterstützen.

Sie können derzeit einige Vorfalldaten auf der Registerkarte „Berichte“ von PagerDuty sehen, aber ich wollte einige zusätzliche Berichtsfunktionen erstellen, die uns dabei helfen, herauszufinden, welche Dienste und Eskalationsrichtlinien ungewöhnlich hohe (oder niedrige) Vorfallvolumina und MTTR hatten.

Einen coolen Tipp dazu habe ich von unseren Freunden bei bekommen. Outbrain – sie verwenden Zoho-Berichte um unsere API einmal pro Stunde abzufragen und dann Dashboards aus diesen Daten zu erstellen. Nach einigen Stunden des Ringens mit Zoho ist hier unser Bericht:

dash_report

 

 

Sie können nach Datum, Eskalationsrichtlinie, Beauftragtem und Service filtern. Sie können auch auf einen beliebigen Datenpunkt klicken, um Details zu den zugehörigen Vorfällen anzuzeigen!

Damit Sie mit der Erstellung Ihrer eigenen Berichte beginnen können, haben wir eine Kurzanleitung zusammengestellt, die Sie durch den Prozess führt. Richten Sie zunächst ein Konto in Zoho-Berichte Mit einem kostenlosen Konto erhalten Sie grundlegende Berichte. Es sind kostenpflichtige Versionen verfügbar, die zusätzliche Datenzuweisungen sowie private, gemeinsam nutzbare Dashboards bieten.

Grundeinrichtung

Erstellen Sie eine neue Tabelle und wählen Sie „Excel, CSV, HTML, Google Drive… importieren“.

PagerDuty_reports_zoho_2

Wählen Sie „JSON“ als Typ, „Web“ als Quelle und geben Sie die Zeichenfolge „https://“ ein.<your_subdomain> .pagerduty.com/api/v1/incidents” in das URL-Feld ein. Dies ruft die PagerDuty -API für eine Liste von Vorfällen auf ( weitere Informationen ).

PagerDuty_reports_zoho_3

Als Nächstes wird eine Liste der verfügbaren Spalten angezeigt. Sie können einige Spalten aus dem Import entfernen und die Überschriften per Doppelklick in lesbarere Namen umbenennen. Klicken Sie anschließend auf „Weiter“.

zoho_import

Sie sollten dann etwa diese Tabelle mit all Ihren Vorfällen sehen. Wenn Sie die Tabelle etwas aufräumen möchten (und beim Import keine Spalten ausgewählt haben), klicken Sie auf die Schaltfläche rechts, um die angezeigten Spalten und die Reihenfolge anzupassen.

PagerDuty_reports_zoho_5

Auffüllen der Vorfalltabelle

Füllen wir nun die Tabelle. Die PagerDuty -API hat ein Zeilenlimit von 100, d. h., wir können pro Aufruf nur 100 Datenzeilen abrufen. Wir können unserem API-Aufruf jedoch einen „Offset“-Parameter hinzufügen, um zu steuern, bei welcher Zeile die 100 Zeilen beginnen. Um mit dem Füllen der Tabelle zu beginnen, klicken Sie zunächst auf „In diese Tabelle importieren“.

PagerDuty_reports_zoho_6

Wählen Sie „incidents.id“ als passende Spalte aus, um sicherzustellen, dass keine Duplikate importiert werden. Fügen Sie anschließend „&offset=100“ zur URL hinzu (weitere Änderungen sind nicht erforderlich).

PagerDuty_reports_zoho_7

Sie durchlaufen denselben Vorgang zum Auswählen der zu importierenden Spalten, müssen jedoch nichts ändern:

zoho_import2

Klicken Sie auf „Erstellen“ und Ihre Tabelle sollte 100 weitere Zeilen enthalten!

Wenn Sie viele historische Daten importieren möchten, müssen Sie diesen Vorgang einmal pro hundert Datensätze durchführen und den Offset beim nächsten Mal auf 200 setzen, dann auf 300 usw. Wenn Sie eine große Datenmenge importieren müssen, können Sie die API direkt von der Befehlszeile aus aufrufen und die Informationen mithilfe eines Skripts in CSV schreiben.

Richten wir Zoho abschließend so ein, dass neue Vorfälle automatisch erfasst werden, sobald sie eingehen. Klicken Sie auf „Importieren“ und dann auf „Import erneut abrufen/planen“.

PagerDuty_reports_zoho_9

Möglicherweise sind hier einige Informationen bereits ausgefüllt – andernfalls füllen Sie den Rest aus. Achten Sie bei der URL darauf, dass Sie die URL ohne Offset-Parameter verwenden (z. B. „https://<subdomain> .pagerduty.com/api/v1/incidents“).

Stellen Sie Zoho so ein, dass stündlich Daten abgerufen werden:

PagerDuty_reports_zoho_10

Unsere Daten massieren

Sie haben nun eine Vorfalltabelle in Zoho. Wenn Sie nur die Anzahl der Vorfälle erfassen möchten, sind Sie sofort startklar. Wenn Sie jedoch auch die Lösungszeit erfassen möchten, ist etwas mehr Arbeit erforderlich. Wählen Sie „Neu“ und dann „Neue Abfragetabelle“.

  PagerDuty_reports_zoho_11

Mit Abfragetabellen können Sie SQL-Befehle auf Ihre Basis-Vorfalltabelle anwenden. So erhalten Sie die gewünschten Daten grafisch dargestellt. Wenn Sie SQL beherrschen, sind Sie hier wahrscheinlich gut aufgestellt. Falls nicht, finden Sie hier eine Beispielabfrage für den Einstieg:

SELECT distinct „incidents.id“ als Vorfall-ID, Zeitstempel („incidents.created_on“) als Erstellungsdatum, „incidents.“incidents.html_url“ als Link, „incidents.escalation_policy.name“ als Eskalationsrichtlinie, „incidents.service.name“ als Dienst, „incidents.resolved_by_user.name“ als Resolver, Sek. bis Zeit ((Unix-Zeitstempel („incidents.letzte_Statusänderung_am“) – Unix-Zeitstempel („incidents.created_on“))) als Auflösungszeit, Zeitstempel („incidents.letzte_Statusänderung_am“) als Auflösungsdatum, Runde ((Unix-Zeitstempel („incidents.letzte_Statusänderung_am“) – Unix-Zeitstempel („incidents.created_on“))/60) als Auflösungsminuten, concat_ws(':',”incidents.trigger_summary_data.subject”,”incidents.trigger_summary_data.description”) als Details

VON Vorfällen

WHERE „incidents.status“ = „gelöst“

Klicken Sie auf „Ausführen“. Unten sollte eine neue Tabelle angezeigt werden. Diese Tabelle ist diejenige, die wir für die Diagrammerstellung verwenden werden.

NOTIZ : Sie könnten versucht sein, einige Metriken aus Ihrer Originaltabelle und einige aus der Abfragetabelle grafisch darzustellen. Das funktioniert zwar, aber wenn Sie alles aus der Abfragetabelle heraus tun, stehen Ihnen einige zusätzliche Funktionen zur Verfügung, die ich später erläutern werde.

PagerDuty_reports_zoho_12

Graph-Zeit

Erstellen wir nun unser erstes Diagramm. Wählen Sie in Ihrer Abfragetabelle „Neu“ und dann „Neue Diagrammansicht“ aus.

PagerDuty_reports_zoho_13

Erstellen wir ein Diagramm, das die Anzahl der Vorfälle nach Dienst im Zeitverlauf zeigt. Ob es sich um ein Infrastrukturproblem oder einfach nur um falsch konfigurierte Überwachungsschwellen handelt – eine hohe Anzahl an Vorfällen ist ein Zeichen dafür, dass etwas behoben werden muss.

Ziehen Sie „created_date“ auf die X-Achse und setzen Sie es auf „Vollständiges Datum“. Ziehen Sie „incident_id“ auf die Y-Achse und setzen Sie es auf „Anzahl“. Ziehen Sie anschließend „service“ in das Feld „color“ – „color“ ist die Variable, die eine Spalte in mehrere Reihen aufteilt. Klicken Sie auf „Diagramm erstellen“. Sie sehen dann etwa Folgendes:

PagerDuty_reports_zoho_14

Durch Klicken auf die verschiedenen Dienste auf der rechten Seite können Sie steuern, welche Dienste angezeigt werden. Über die Registerkarte „Filter“ können Sie auch bestimmte Dienste (z. B. Dienste mit geringem Schweregrad oder Testdienste) ein- oder ausschließen.

Fügen wir nun einen Eskalationsrichtlinienfilter hinzu, damit Sie die Dienste nach Team aufgeschlüsselt sehen können. Klicken Sie auf die Registerkarte „Benutzerfilter“ und ziehen Sie „escalation_policy“ hinein. Klicken Sie anschließend auf „Ansichtsmodus“.

PagerDuty_reports_zoho_15

Jetzt können Sie die Liste der grafisch dargestellten Dienste nach Eskalationsrichtlinie filtern! Dies ist eine große Hilfe für Teamleiter, die nur die Dienste sehen möchten, für die sie verantwortlich sind.

PagerDuty_reports_zoho_16

Speichern Sie Ihren Bericht und geben Sie ihm einen aussagekräftigen Namen.

PagerDuty_reports_zoho_17

Lassen Sie uns nun die Zeit bis zur Problemlösung grafisch darstellen, um zu sehen, wie schnell unser Team Probleme behebt. Erstellen Sie ein neues Diagramm und tragen Sie das Erstellungsdatum auf der X-Achse, die Lösungsminuten auf der Y-Achse und die Eskalationsrichtlinie als „Farbe“ ein. Ich füge außerdem gerne „incident_id(count)“ zur Tooltip-Box hinzu, damit mir beim Überfahren eines bestimmten Tages mit der Maus auch die Anzahl der Vorfälle angezeigt wird.

PagerDuty_reports_zoho_18

Unter „Benutzerfilter“ können Sie alles hinzufügen, was Sie möchten. Ich empfehle jedoch einen Filter für „Resolvemins“. So können wir lang andauernde Vorfälle auf einfache Weise ausschließen und ein weniger verrauschtes Diagramm erhalten. Hinweis für alle Mathe-Freaks: Median oder Perzentil wären ein viel besseres Maß für die Lösungszeit. Diese Übung überlasse ich Ihnen 🙂

PagerDuty_reports_zoho_19

Klicken Sie auf „Diagramm erstellen“, probieren Sie die verschiedenen Filter aus und stellen Sie sicher, dass Sie zufrieden sind. Speichern Sie anschließend den Bericht.

Alles zusammenfügen

Abschließend erstellen wir ein Unternehmens-Dashboard. Wählen Sie „Neues Dashboard“:

PagerDuty_reports_zoho_20

Ziehen Sie Ihre beiden Berichte aus der linken Seitenleiste hinein. Sie werden sehen, dass die Benutzerfilter aus beiden Berichten automatisch oben hinzugefügt werden! Sie können auch beliebige andere Benutzerfilter hinzufügen. Diese wirken sich auf beide Berichte im Dashboard aus.

  PagerDuty_reports_zoho_21

Wenn Sie mit Ihrem Dashboard zufrieden sind, speichern Sie es. Sie können Ihrem Dashboard weitere grafische, tabellarische und zusammenfassende Ansichten hinzufügen – mein endgültiges Dashboard sieht so aus:

dash_report

Teilen Ihres Berichts

Zum Schluss präsentieren wir unsere tollen Berichte anderen Mitarbeitern im Unternehmen. Um einen Bericht oder ein Dashboard freizugeben, klicken Sie einfach auf das Menü „Veröffentlichen“ in der Symbolleiste:

PagerDuty_reports_zoho_23

Sie erhalten Links oder Einbettungscode, mit denen Sie Ihr Diagramm in Ihrem Unternehmen teilen können (wir betten unser Diagramm in unser Confluence-Wiki ein). Beachten Sie, dass Sie beim kostenlosen Zoho-Tarif angemeldet sein müssen, um das Dashboard anzuzeigen. Bezahltarife bieten jedoch auch öffentliche Einbettungen.

Wir wünschen Ihnen viel Spaß! Nochmals vielen Dank an Outbrain für das Trinkgeld.