GitHub Enterprise Server enthält einen Prometheus-Metrikexporter, um Einblicke und Überwachung zu vereinfachen. Mit diesem Feature können Metriken direkt von der Appliance ausgelesen werden, ohne dass collectd
-Metriken zur Transformation an einen externen collectd
-Server weitergeleitet werden müssen, bevor sie an ein Prometheus-System gesendet werden. Durch die native Unterstützung von Prometheus-kompatiblen Metriken ermöglicht der Exporter eine nahtlose Integration in externe Überwachungsdashboards und Warnsysteme.
Aktivieren des Prometheus-Metrikenexporters und von Scrapingmetriken
Standardmäßig sind der Prometheus-Metrikexporter und das Scraping deaktiviert. Wenn du den Exporter für collectd
-Metriken aktivierst, wird der Metrikenendpunkt (auch als scrape endpoint
bekannt) unter http(s)://HOSTNAME:9103
geöffnet. Stelle sicher, dass Firewallregeln Datenverkehr an Port 9103 zulassen.
Du kannst den Prometheus-Metrikexporter mithilfe der Verwaltungskonsole, der Befehlszeilenschnittstelle innerhalb der Appliance, oder der API aktivieren.
Aktivieren der Verwaltungskonsole
-
Klicke in einem Verwaltungskonto für GitHub Enterprise Server in der rechten oberen Ecke einer beliebigen Seite auf .
-
Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.
-
Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.
-
Wähle in den Überwachungseinstellungen Enable prometheus aus.
-
Gib im Feld Trusted IPv4/IPv6 addresses or CIDR blocks in a comma-separated list die durch Trennzeichen getrennte Liste der IP-Adressen oder CIDR-Blöcke ein. Beispiel:
10.0.0.1, 192.168.1.0/8
. Wenn dieses Feld leer bleibt, werden die Scrapinganforderungen von einer beliebigen Quell-IP akzeptiert. -
Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.
Note
Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.
-
Warten Sie auf den Abschluss der Konfigurationsausführung.
Aktivieren über die Befehlszeilenschnittstelle
Um den Prometheus-Metrikexporter zu aktivieren, führe SSH in der GitHub Enterprise Server-Appliance aus, und führe dann die folgenden Befehle aus:
ghe-config app.prometheus.enabled true
# Specify a comma-separated list of trusted IPv4/IPv6 addresses or CIDR blocks.
ghe-config app.prometheus.trusted-ips "10.0.0.1, 192.168.1.0/8"
ghe-config-apply
Aktivieren mithilfe der API
Du kannst den Prometheus-Metrikexporter mithilfe der API aktivieren, indem du eine PUT
-Anforderung sendest, um die Konfigurationseinstellungen zu aktualisieren.
curl -L -H "Content-Type: application/json" -X PUT -u "api_key:xxxxxxx" https://<hostname>/manage/v1/config/settings -d '{"prometheus": {"enabled": true, "trusted_ips": "10.0.0.1, 192.168.1.0/8"}}'
Überprüfen, ob der Prometheus-Metrikexporter aktiviert ist
Um zu überprüfen, ob der Prometheus-Metrikexporter aktiviert ist, kannst du curl
verwenden, um den /metrics
-Endpunkt an Port 9103 abzufragen. Weitere Informationen zu Verwaltungsports findest du unter Netzwerkports.
curl localhost:9103/metrics
Bei Erfolg enthält die Antwort Metriken mit dem Präfix collectd_
.
Konfigurieren des externen Prometheus-Servers
Um exportierte Metriken aus GitHub Enterprise Server auszulesen, füge der prometheus.yaml
-Datei auf deinem externen Prometheus-Server eine Scrapingkonfiguration hinzu.
- job_name: "ghes-prom-agent"
scrape_interval: 10s
static_configs:
- targets: ["http(s)://HOSTNAME:9103/metrics"]
Unterstützung für den eingeführten Prometheus-Metrikexporter
Wenn du den Prometheus-Metrikexporter verwendet haben, nachdem er in GitHub Enterprise Server 3.12 eingeführt wurde, funktioniert er nach dem Upgrade auf 3.16 weiterhin. In dieser Version hast du jetzt die Möglichkeit, vertrauenswürdige IPs für Scrapinganforderungen anzugeben.
Feedback teilen
Du kannst dein Feedback zum Prometheus-Metrikexporter und zur Scrapingfunktionalität mit GitHub teilen. Unterstützung zu Fragen oder Problemen erhältst du unter GitHub Enterprise Support.