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 (https://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 momentan (30.03.2021) zur Verfügung.

JVM

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

Backups

Metrik Beschreibung

bpc_backups_scheduled_jobs

Number of scheduled backup jobs

Client Sessions

Metrik Beschreibung

bpc_user_sessions_total

Number of active user sessions

bpc_user_sessions_limit

Concurrent user sessions limit

bpc_websocket_connections_total

Number of open websocket connections

OpenSearch BPC Plugin

Metrik Beschreibung

bpc_os_bpc_plugin_status_websocket

Status of the websocket connection (0=disconnected, 1=connected, 2=error)

bpc_os_bpc_plugin_status_plugin

Status of the plugin (0=unknown, 1=accessible, 2=not accessible, 3=errors)

General

Metrik Beschreibung

bpc_jvm_uptime_in_milliseconds

Uptime of the BPC JVM in milliseconds.

bpc_maintenance_mode_enabled

Status of the maintenance mode (1=enabled; 0=disabled)

bpc_license_status

Status of the license (0=missing; 1=valid; 2=expired)

bpc_license_expires_in_days

Number of days until the license expires

bpc_license_expires_on_utc_timestamp_millis

UTC timestamp in milliseconds when the license expires

Replication

Metrik Beschreibung

bpc_replication_number_of_jobs

Number of replication jobs

bpc_replication_number_of_enabled_jobs

Number of enabled replication jobs

bpc_replication_number_of_disabled_jobs

Number of disabled replication jobs

bpc_replication_number_of_jobs_with_errors

Number of replication jobs with errors

Database Connection Pool

Metrik Beschreibung

karaf_dbcp2_pool_connections_active

Number of active pool connections

karaf_dbcp2_pool_connections_waiters

Number of waiting for pool connection

karaf_dbcp2_pool_connections_idle

Number of idle pool connections

karaf_dbcp2_pool_connections_max_total

Max total number of pool connections

karaf_dbcp2_pool_connections_borrowed

Number of borrowed pool connections

karaf_dbcp2_pool_connections_returned

Number of returned pool connections

karaf_dbcp2_pool_connections_mean_borrow_wait_time

Mean borrow wait time in milliseconds

karaf_dbcp2_pool_connections_max_borrow_wait_time

Max borrow wait time in milliseconds


Keywords: