Skip to main content

Shift Metrics - Monitoring

Shift Metrics - Monitoring

The implementation for the KOBIL Shift services metrics (and endpoints per related service) is part of the default KOBIL Shift functionality. The KOBIL Charts covers implementation to create Prometheus style "serviceMonitor" CRD. Using the Prometheus Operator CRD "servicemonitors.monitoring.coreos.com" is supported by KOBIL Shift deployment to create appropriate servicemonitors per KOBIL Shift service. The servicemonitor object is a resource then describing which metrics endpoints are available and how to scrape.

Enable the ServiceMonitors

The KOBIL Services are providing Prometheus Metrics per specific Endpoints which are enabled by default. Use in KOBIL Shift metaconfiguration file "values.yaml" the "global" section find "serviceMonitor" section and enabled: true to get CRD "serviceMonitor" created during deployment.

This will create the "servicemonitor" CRD objects in the KOBIL Shift namespace.

Access to the Prometheus compatible metrics (ports)

  • external access / exposing (not implemented by default in KOBIL Shift Charts - not exposed via ingress/ingress-controller)

  • internal access from pods metrics endpoints

The services metrics created for the KOBIL Shift Services are available by default with (Note: metrics endpoints are not exposted via Ingress):

ServicePortPathComment
ast-client-properties8080/metricsAST service metrics
ast-localization8080/metricsAST service metrics
ast-stream8080/metricsAST service metrics
ast-tms8080/metricsAST service metrics
ast-version8080/metricsAST service metrics
ast-webhooks8080/metricsAST service metrics
astca8080/metricsAST service metrics
astclientmanagement8080/metricsAST service metrics
astcpb8080/metricsAST service metrics
astlogin8080/metricsAST service metrics
idp-core8080/auth/realms/master/metricsMetrics in IDP (keycloak) per realm possible (enable them - see below)
idp-core-wildflywildfly/metricsbasic wildfly keycloak metrics
scp-addressbookhttp/addressbook/metricsSCP service metrics
scp-gatewayhttp/gateway/metricsSCP service metrics
scp-mediahttp/media/metricsSCP service metrics
scp-messengerhttp/messenger/metricsSCP service metrics
scp-presencehttp/presence/metricsSCP service metrics
smartscreendashboard8080/metricsSMART services metrics
smartscreenfrontend8080/metricsSMART services metrics
smartscreensearch8080/metricsSMART services metrics
smartscreenservices8080/metricsSMART services metrics
shift-operatorhttp/metricsShift Operator metrics

Notes:

Defined in the KOBIL Shift meta-configuration (values.yaml) find the ServiceMonitor declaration and set to global.serviceMonitor.enabled:true  - which will then create the ServiceMonitor objects in the target namespace. The created ServiceMonitor objects are in sync with Prometheus Operator Layout and will allow discovery.

Metrics must be enabled in Keycloak separately for each tenant/realm. For this in the Admin UI, go to Events->Config->Event Listeners and select metrics-listener per realm. The IDP-core metric endpoint will then cover all enabled realm metrics under the hood of the "master" endpoint - "/auth/realms/master/metrics".

When the KOBIL Shift Charts "serviceMonitor" is enabled, the default CRD templates
from the KOBIL Shift Chart package is used. Currently the default CRD "serviceMonitor" objects are related to default prometheus configuration. In case of specific Prometheus configuration at customer environment, the default "serviceMonitor" obejcts create by KOBIL Shift deployment may require modification. Or customer can disable the serviceMonitor creation and create its own serviceMonitor objects in the namespace. For this you may use the KOBIL provided CRD serviceMonitor templates as a sample. It is possible to make use of native "curl"-request to receive all TYPE declarations per service.