Einführung
Hallo allerseits! Heute sprechen wir über die Echtzeitüberwachung von
Atlassian- Produkten.
Definieren wir zunächst, was Überwachung ist und warum sie für
Atlassian- Produkte benötigt wird.
Die Programmüberwachung wird verwendet, um den Fortschritt und die Ergebnisse eines Programms zu verfolgen. Mit anderen Worten, es ist ein Prozess, der in Echtzeit Informationen über den Status eines Softwareprodukts anzeigen kann.
Wann kann es für
Atlassian- Produkte nützlich sein?
Betrachten Sie die folgenden Beispiele:
- Sie möchten wissen, wie sich das Aktualisieren eines Produkts oder Plugins auf die Systemleistung auswirkt.
- Sie möchten den Zustand von Eisen und Gedächtnis unter verschiedenen Bedingungen und zu bestimmten Zeitpunkten kennen. Zum Beispiel, wie sich das Erhöhen der Anzahl von Benutzern oder das Ändern der Tageszeit auf das System auswirkt;
- Sie möchten sehen, wie aktiv das gesamte System genutzt wird. Zum Beispiel die Gesamtzahl der Aufgaben in Jira oder in 1 Stunde;
- Sie möchten eine Erinnerung am Ablaufdatum der Lizenz festlegen.
- Sie möchten wissen, wie viel Speicherplatz zum Speichern von Dokumenten verwendet wird.
Ich möchte auch nicht nur Informationen in vorbereiteter Form erhalten, sondern auch Benachrichtigungen senden können, wenn etwas in einem fehlerhaften Szenario passiert. Hier helfen uns
Prometheus und seine Exporteure für
Atlassian- Produkte.
Lösungsarchitektur
Prometheus ist ein Tool zur gleichzeitigen Überwachung von Zehntausenden von Diensten. Der
Prometheus- Server liest die Ziele in einem Intervall, das Sie zum Sammeln von Metriken definieren, und speichert sie in einer Zeitreihendatenbank. Zum Sammeln von Metriken wird das Pull-Modell verwendet. Darüber hinaus gibt es eine
Alert Manager- Komponente, die Benachrichtigungen an verschiedene Kanäle senden kann, wenn eine bestimmte auf Metriken basierende Regel funktioniert hat. Detaillierte Informationen in russischer Sprache finden Sie
hier und
hier .
Prometheus Exporter ist ein Agent, der Metriken direkt von der Entität (dem Server als Ganzes oder einer bestimmten Anwendung) sammelt, die überwacht werden muss.
Prometheus verfügt über umfangreiche Erweiterungsoptionen, sodass es Exporteure für die beliebtesten Anwendungen gibt.
[jira | Zusammenfluss | bitbucket | bamboo] _exporter funktioniert wie folgt:
- Ruft Daten aus der Produktdatenbank ab
- Ruft Daten mit der Standard-Java-API ab
- Fügt HTTP-Anforderungen Filter hinzu
- sammelt jmx-Metriken.
Ein Beispiel für eine schnelle Installation von
Prometheus / Grafana in
Docker wird von
Stefan Prodan implementiert und ist
hier verfügbar.
Installation und Konfiguration des Exporters
Nachdem Sie das
Plugin installiert haben, erhalten Sie sofort den Link für die Metrik:
baseUrl / plugins / servlet / prometheus /metrics . Es ist auch möglich, einen Sicherheitsschlüssel zu konfigurieren.
Als nächstes müssen Sie in
prometheus.yml die Adresse hinzufügen, unter der die Metriken abgerufen werden sollen.
Zum Beispiel für
Jira :
- job_name: 'jira' scheme: https # change to http if don't you have https metrics_path: '/jira/plugins/servlet/prometheus/metrics' static_configs: - targets: ['myhost:2990'] # Jira host and port you serve
Die Integration ist abgeschlossen, können Sie verwenden.
Metriken und Abfragebeispiele
Sie können die Liste aller Metriken in der Plugin-Dokumentation sehen:
Jira ,
Confluence ,
Bitbucket ,
Bamboo .
Beispiele anfordern:
- Betriebszeit:
jvm_uptime_gauge{job="jira"}
- Ausführungszeit der Serveranforderung:
(sum(rate(jira_request_duration_on_path_sum[1m])) by (path)) / (sum(rate(jira_request_duration_on_path_count[1m])) by (path))
- Gesamtzahl der Aufgaben:
jira_total_issues_gauge
- Anzahl der Ansichten von Dashboards:
sum(increase(jira_dashboard_view_count[1h]))
Weitere Informationen zum Erstellen von Abfragen finden Sie
hier .
Grafana Dashboards
Sie können
Grafana als Komponente eines Drittanbieters verwenden, um in der
Prometheus- Zeitreihendatenbank gespeicherte Metriken zu visualisieren. Auf der offiziellen
Website finden Sie mehrere vorgefertigte Implementierungen. Dashboards für
Jira finden Sie beispielsweise unter diesem
Link .

Eigenschaften
Ich plane, die Möglichkeit hinzuzufügen, benutzerdefinierte Metriken mit
Groovy zu definieren, sowie die vollständige Unterstützung für
Service Desk . So können Sie nicht nur für die Produkte selbst, sondern auch für andere Plugins benutzerdefinierte Metriken hinzufügen.
Alle
Exporteure sind offen und entwickeln sich aktiv. Wenn Sie Verbesserungs- oder Erweiterungsideen haben, erstellen Sie bitte Aufgaben (
Jira ,
Confluence ,
Bitbucket ,
Bamboo ) und / oder führen Sie Pull-Anfragen durch.
Fazit
Wenn Ihre
Atlassian- Installationen ziemlich groß sind und Sie einen kontinuierlichen Betrieb sicherstellen müssen, müssen Sie auf jeden Fall überwacht werden. Und wie - entscheiden Sie selbst.
Prometheus als eine der Optionen, die zweifellos Ihr Leben vereinfachen werden.
Vielen Dank für Ihre Aufmerksamkeit!