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.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. |