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.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:
|
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
...
- 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.
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 |
Elasticsearch 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_enabled |
Status of the replication (1=enabled; 0=disabled) |
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 |