pocket-id-exporter/README.md

98 lines
2 KiB
Markdown
Raw Normal View History

2024-11-02 09:30:54 +01:00
# 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
1. Erstellen Sie eine `docker-compose.yml`-Datei im Projektverzeichnis mit folgendem Inhalt:
```yaml
version: '3'
services:
pocket-id-exporter:
build: .
ports:
- "3000:3000"
volumes:
- ./data:/app/data
```
2. Erstellen Sie eine `Dockerfile` im Projektverzeichnis:
```Dockerfile
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"]
```
3. Stellen Sie sicher, dass Ihre SQLite-Datenbank im Verzeichnis `./data` mit dem Namen `pocket-id.db` liegt.
4. Bauen und starten Sie den Container mit Docker Compose:
```bash
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:
```yaml
scrape_configs:
- job_name: 'pocket-id'
static_configs:
- targets: ['localhost:3000']
```
## Entwicklung
Um den Exporter lokal zu entwickeln und zu testen:
1. Installieren Sie Go (Version 1.17 oder höher)
2. Klonen Sie das Repository
3. Installieren Sie die Abhängigkeiten:
```bash
go mod download
```
4. Bauen und starten Sie den Exporter:
```bash
go build
./pocket-id-exporter
```
## Lizenz
[MIT License](LICENSE)
https://github.com/stonith404/pocket-id
https://goneuland.de/pocket-id-mit-docker-und-traefik-installieren/
https://github.com/stonith404/pocket-id/issues/56