No description
go | ||
docker-compose.yml | ||
README.md |
pocket-id-exporter
Der pocket-id-exporter ist ein Prometheus-Exporter für die Pocket ID-Datenbank. Er stellt Metriken über die Anzahl der Anmeldungen und Benutzer bereit.
Funktionen
- Exportiert die Gesamtzahl der Anmeldungen als Metrik
pocket_id_login_count
- Exportiert die Gesamtzahl der Benutzer als Metrik
pocket_id_user_count
- Stellt Metriken im Prometheus-Format unter dem
/metrics
-Endpunkt bereit
Voraussetzungen
- Docker
- Docker Compose
Verwendung mit Docker Compose
- Erstellen Sie eine
docker-compose.yml
-Datei im Projektverzeichnis mit folgendem Inhalt:
version: '3'
services:
pocket-id-exporter:
build: .
ports:
- "3000:3000"
volumes:
- ./data:/app/data
- Erstellen Sie eine
Dockerfile
im Projektverzeichnis:
FROM golang:1.17-alpine
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go build -o pocket-id-exporter
EXPOSE 3000
CMD ["./pocket-id-exporter"]
-
Stellen Sie sicher, dass Ihre SQLite-Datenbank im Verzeichnis
./data
mit dem Namenpocket-id.db
liegt. -
Bauen und starten Sie den Container mit Docker Compose:
docker-compose up --build
Der Exporter ist nun unter http://localhost:3000/metrics
erreichbar.
Konfiguration von Prometheus
Fügen Sie folgende Job-Konfiguration zu Ihrer prometheus.yml
hinzu, um die Metriken zu scrapen:
scrape_configs:
- job_name: 'pocket-id'
static_configs:
- targets: ['localhost:3000']
Entwicklung
Um den Exporter lokal zu entwickeln und zu testen:
- Installieren Sie Go (Version 1.17 oder höher)
- Klonen Sie das Repository
- Installieren Sie die Abhängigkeiten:
go mod download
- Bauen und starten Sie den Exporter:
go build
./pocket-id-exporter
Lizenz
https://github.com/stonith404/pocket-id
https://goneuland.de/pocket-id-mit-docker-und-traefik-installieren/