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
Empfohlen wird, Benutzername und Passwort über Umgebungsvariablen in der zentralen Konfigurationsdatei bpc.env zu setzen:
-
Unix-Systeme (bpc.env.sh)
-
Windows-Systeme (bpc.env.cmd)
export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_METRICS_BASIC_AUTH_USERNAME="virtimo"
export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_METRICS_BASIC_AUTH_PASSWORD="0e6a8052eb814aaea397c45f77bffcf7"
SET DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_METRICS_BASIC_AUTH_USERNAME=virtimo
SET DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_METRICS_BASIC_AUTH_PASSWORD=0e6a8052eb814aaea397c45f77bffcf7
|
Es wird dringend empfohlen, Konfigurationsanpassungen nicht direkt in den Karaf-Konfigurationsdateien unter |
Falls keine Umgebungsvariablen gesetzt sind, werden beim Start des BPC der Benutzername und das Passwort für die Basic Authentication automatisch in die BPC-Konfigurationsdatei <BPC-INSTALL-DIR>/karaf/etc/de.virtimo.bpc.core.cfg geschrieben.
Dabei wird virtimo als Benutzername vorgegeben und das Passwort zufällig generiert.
Diese Werte können bei Bedarf auch direkt in der Datei angepasst werden und werden mit einem Neustart des Karaf oder des BPC Core Bundles aktiviert.
...
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 zur Verfügung.
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:
|
bpc_es_bpc_plugin_status_plugin |
Status der HTTP/HTTPS Verbindung vom Karaf zum OpenSearch Plugin:
|
Allgemein
| Metrik | Beschreibung |
|---|---|
bpc_jvm_uptime_in_milliseconds |
Uptime der BPC JVM in Millisekunden. |
bpc_maintenance_mode_enabled |
Status des Wartungsmodus:
|
bpc_license_status |
Status der BPC Lizenz:
|
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:
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:
Der Status ist auf 0 (Fehler) gesetzt, falls sich der Karaf Status des BPC-Moduls auf 'RESOLVED' oder 'FAILURE' befindet. |