System Monitoring (Metriken für Prometheus)

In vielen Projekten kommt zur Überwachung der aufgesetzten Systeme Prometheus und Grafana zum Einsatz. Einige Metriken können auch vom BPC abgefragt werden.

Endpunkt und Sicherheit

Die Metriken können wie gewöhnlich über den /metrics Endpunkt (http://localhost:8181/metrics) vom Prometheus abgefragt werden. Allerdings kann der Endpunkt nur per Basic Authentication aus aufgerufen werden.

BPC Konfiguration : Basic Authentication

Beim Start des BPC werden, falls noch nicht vorhanden, der Benutzername und das Passwort für die Basic Authentication in die BPC Konfigurationsdatei [karaf]/etc/de.virtimo.bpc.core.cfg geschrieben. Dabei wird virtimo als Benutzername vorgegeben und das Passwort zufällig generiert. Diese können bei Bedarf angepasst werden und mit einem Neustart des Karaf oder nur des BPC Core Bundles aktiviert werden.

de.virtimo.bpc.core.cfg
...
de.virtimo.bpc.metrics.basic_auth.username = virtimo
de.virtimo.bpc.metrics.basic_auth.password = 0e6a8052eb814aaea397c45f77bffcf7
...

Nutzen Sie folgenden Schnelltest, um zu überprüfen, ob der Zugriff möglich ist: curl "http://virtimo:0e6a8052eb814aaea397c45f77bffcf7@localhost:8181/metrics"

Prometheus Konfiguration : Basic Authentication

Damit Prometheus die per Basic Authentication geschützten BPC Metriken abrufen kann, muss dem Prometheus Scrape dies bekannt gegeben werden. Siehe auch Prometheus Config Dokumentation

prometheus.yml
...
  - job_name: 'bpc'
    scrape_interval: 5s
    basic_auth:
      username: virtimo
      password: 0e6a8052eb814aaea397c45f77bffcf7
    static_configs:
      - targets: ['localhost:8181']
        labels:
          alias: bpc1
...

Verfügbare Metriken

folgende Metriken stehen zur Verfügung.

JVM

die Standard JVM Metriken welche der Prometheus Java Client zur Verfügung stellt.

Backups

Metrik Beschreibung

bpc_backups_scheduled_jobs

Anzahl der auszuführenden Sicherungsjobs.

Client Sessions

Metrik Beschreibung

bpc_user_sessions_total

Anzahl der derzeit aktiven User Sessions.

bpc_user_sessions_limit

Maximale Anzahl der User Sessions welche gleichzeitig aktiv sein können. Dies wird über die BPC Lizenz festgelegt.

bpc_websocket_connections_total

Anzahl der derzeit offenen Websocket Verbindungen.

OpenSearch BPC Plugin

Metrik Beschreibung

bpc_es_bpc_plugin_status_websocket

Status der Websocket Verbindung vom Karaf zum OpenSearch Plugin:

  • 0 = Getrennt

  • 1 = Verbunden

  • 2 = Wegen Fehler getrennt

bpc_es_bpc_plugin_status_plugin

Status der HTTP/HTTPS Verbindung vom Karaf zum OpenSearch Plugin:

  • 0 = Unbekannt (es wurde noch kein Aufruf durchgeführt)

  • 1 = Aufrufbar

  • 2 = Kann nicht erreicht werden (Grund könnte sein, dass das Plugin nicht installiert ist)

  • 3 = Beim Aufruf kam es zu Fehlern

Allgemein

Metrik Beschreibung

bpc_jvm_uptime_in_milliseconds

Uptime der BPC JVM in Millisekunden.

bpc_maintenance_mode_enabled

Status des Wartungsmodus:

  • 1 = aktiviert

  • 0 = deaktiviert

bpc_license_status

Status der BPC Lizenz:

  • 0 = Keine vorhanden

  • 1 = Valide

  • 2 = Abgelaufen

bpc_license_expires_in_days

Anzahl der Tage bis zum Ablauf der Lizenz.

bpc_license_expires_on_utc_timestamp_millis

UTC Zeitstempel in Millisekunden, zu dem die Lizenz abläuft.

bpc_modules_state

Status aller BPC Module:

  • 1 = Aktiv

  • 0 = Fehler

Es liefert den Status Fehler, wenn sich mindestens ein BPC-Modul im Karaf-Zustand 'Resolved' oder 'Failure` befindet.

Replication

Metrik Beschreibung

bpc_replication_number_of_jobs

Anzahl aller Replikationsjobs.

bpc_replication_number_of_enabled_jobs

Anzahl der aktivierten Replikationsjobs.

bpc_replication_number_of_disabled_jobs

Anzahl der deaktivierten Replikationsjobs.

bpc_replication_number_of_jobs_with_errors

Anzahl von Replikationsjobs mit Fehlern.

Database Connection Pool

Metrik Beschreibung

karaf_dbcp2_pool_connections_active

Anzahl der aktiven Pool-Verbindungen.

karaf_dbcp2_pool_connections_waiters

Anzahl der Wartenden auf eine freie Pool-Verbindung.

karaf_dbcp2_pool_connections_idle

Anzahl der ungenutzten Pool-Verbindungen.

karaf_dbcp2_pool_connections_max_total

Maximale Gesamtzahl der Pool-Verbindungen.

karaf_dbcp2_pool_connections_borrowed

Anzahl der ausgeliehenen Pool-Verbindungen.

karaf_dbcp2_pool_connections_returned

Anzahl der zurückgegebenen Pool-Verbindungen.

karaf_dbcp2_pool_connections_mean_borrow_wait_time

Mittlere Wartezeit in Millisekunden auf eine Pool-Verbindung.

karaf_dbcp2_pool_connections_max_borrow_wait_time

Maximale Wartezeit in Millisekunden auf eine Pool-Verbindung.

BPC Module

Metrik Beschreibung

bpc_module

Informationen über BPC-Module wie Bundle-ID, Name, Symbolischer-Name, Dateiname, Version, Build-Info und Status.

Der Status kann dabei folgende Werte annehmen:

  • 1 = Aktiv

  • 0 = Fehler

Der Status ist auf 0 (Fehler) gesetzt, falls sich der Karaf Status des BPC-Moduls auf 'RESOLVED' oder 'FAILURE' befindet.


Keywords: