33 lines
1.3 KiB
YAML
33 lines
1.3 KiB
YAML
---
|
|
# ServiceMonitor for Keycloak (R-OBS-01, docs/10). CR of monitoring.coreos.com (kube-prometheus-stack,
|
|
# Phase 4) — CARRIED BY platform-config so it is not applied in the same pass as the CRD-installing
|
|
# HelmRelease (F-MON1). Prometheus discovers ServiceMonitors in all namespaces
|
|
# (serviceMonitorSelectorNilUsesHelmValues=false).
|
|
#
|
|
# Keycloak 26 exposes health + Prometheus metrics on the MANAGEMENT interface (port 9000, path
|
|
# /metrics) once metrics-enabled/health-enabled are set (see keycloak-instance.yaml additionalOptions).
|
|
# We select the operator-created keycloak-service (which selects the Keycloak pods) and scrape the pods'
|
|
# management port by number via targetPort.
|
|
# TODO(WS-SEC, bring-up): confirm the management port number/name the operator exposes (9000 default)
|
|
# and adjust targetPort if the pinned operator changes it. The KeycloakDown / KeycloakDatabaseDown
|
|
# alerts (platform/monitoring/alerts.yaml) key on kube-state-metrics and fire regardless of this SM.
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: ServiceMonitor
|
|
metadata:
|
|
name: keycloak
|
|
namespace: keycloak
|
|
labels:
|
|
release: kube-prometheus-stack
|
|
spec:
|
|
namespaceSelector:
|
|
matchNames:
|
|
- keycloak
|
|
selector:
|
|
matchLabels:
|
|
app: keycloak
|
|
endpoints:
|
|
- targetPort: 9000
|
|
path: /metrics
|
|
scheme: http
|
|
interval: 30s
|