go-exporter
Ein einfaches Beispiel zum erfassen von Metriken aus go heraus.
Erstellen des binary
Windows
Unter Windows 10 die Powershell starten und die Umgebungsvariablen setzen und erstellen:
$env:GOOS="linux"
$env:GOARCH="amd64"
go build -o bin/go_exporter
MacOS & Linux
env GOOS=linux GOARCH=amd64 go build -o bin/go_exporter
Setup
Go exporter auf einer Linux VM starten
# Benutzer `go_exporter` erstellen:
useradd --no-create-home --shell /bin/false go_exporter
# binary kopieren
scp bin/go_exporter [email protected]:/tmp/
# service file kopieren
scp bin/go_exporter.service [email protected]:/tmp/
# auf dem server einloggen
ssh [email protected]
# Berechtigungen setzen
sudo chown go_exporter:go_exporter
# service file verschieben
sudo mv /tmp/go_exporter.service /etc/systemd/system/go_exporter.service
# daemon neuladen
sudo systemctl daemon-reload
# go_exporter starten
sudo systemctl start go_exporter.service
Prometheus Setup
Den Exporter in der Konfiguration hinzufügen:
# login auf prometheus server
ssh [email protected]
# prometheus config bearbeiten
sudo nano /etc/prometheus/prometheus.yml
und den scrape_configs
erweitern:
scrape_configs:
- job_name: "go_exporter"
static_configs:
- targets: ["10.55.0.5:9123"]
Hinweis: die IP muss entsprechend der VM auf der der Exporter gestartet wurden angepasst werden.
# Prometheus neustarten:
sudo systemctl restart prometheus
Auf der Prometheus Oberfläche sollte dann unter targets ein weiterer Exporter gelistet sein.