Skip to content

simono41/pocket-id-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pocket ID Metrics Exporter

Dieser Pocket ID Metrics Exporter ist ein Go-Programm, das Metriken aus einer Datenbank (SQLite oder PostgreSQL) ausliest und diese für Prometheus bereitstellt.

Funktionen

  • Unterstützung für SQLite und PostgreSQL Datenbanken
  • Erfassung der Gesamtanzahl der Anmeldungen
  • Erfassung der Gesamtanzahl der Benutzer
  • Bereitstellung der Metriken über einen HTTP-Endpunkt für Prometheus

Voraussetzungen

  • Go 1.15 oder höher
  • SQLite oder PostgreSQL Datenbank
  • Zugriff auf die Tabellen Audit_Logs und Users in der Datenbank

Installation

  1. Klonen Sie das Repository:

    git clone https://github.com/yourusername/pocket-id-metrics-exporter.git
    cd pocket-id-metrics-exporter
    
  2. Installieren Sie die erforderlichen Abhängigkeiten:

    go get github.com/prometheus/client_golang/prometheus
    go get github.com/prometheus/client_golang/prometheus/promhttp
    go get github.com/lib/pq
    go get github.com/mattn/go-sqlite3
    

Konfiguration

Das Programm verwendet Umgebungsvariablen für die Konfiguration:

  • DB_TYPE: Der Typ der Datenbank ("sqlite3" oder "postgres")
  • DB_CONNECTION: Die Verbindungszeichenfolge für die Datenbank

Beispiele:

Für SQLite:

export DB_TYPE=sqlite3
export DB_CONNECTION=./data/pocket-id.db

Für PostgreSQL:

export DB_TYPE=postgres
export DB_CONNECTION="host=localhost port=5432 user=yourusername dbname=yourdbname password=yourpassword sslmode=disable"

Verwendung

  1. Setzen Sie die Umgebungsvariablen wie oben beschrieben.

  2. Starten Sie das Programm:

    go run main.go
    
  3. Das Programm läuft nun auf http://localhost:3000. Die Metriken sind unter dem /metrics Endpunkt verfügbar.

Metriken

  • pocket_id_login_count: Gesamtanzahl der Anmeldungen
  • pocket_id_user_count: Gesamtanzahl der Benutzer

Prometheus Konfiguration

Fügen Sie folgende Job-Konfiguration zu Ihrer prometheus.yml hinzu:

scrape_configs:
  - job_name: 'pocket_id_metrics'
    static_configs:
      - targets: ['localhost:3000']

Fehlerbehebung

  • Stellen Sie sicher, dass die Datenbank erreichbar ist und die erforderlichen Tabellen existieren.
  • Überprüfen Sie die Konsolenausgabe auf Fehlermeldungen.
  • Vergewissern Sie sich, dass die Umgebungsvariablen korrekt gesetzt sind.

Beitragen

Beiträge sind willkommen! Bitte erstellen Sie einen Pull Request oder öffnen Sie ein Issue für Vorschläge und Fehlermeldungen.

Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Siehe die LICENSE Datei für Details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published