[stable/2023.2] Add support to collect keycloak application metrics to prometheus (#1558)
This is an automated cherry-pick of #1556
/assign mnaser
diff --git a/roles/keycloak/vars/main.yml b/roles/keycloak/vars/main.yml
index b4bbf26..a03de36 100644
--- a/roles/keycloak/vars/main.yml
+++ b/roles/keycloak/vars/main.yml
@@ -47,6 +47,7 @@
- --spi-events-listener-jboss-logging-success-level=info
- --spi-events-listener-jboss-logging-error-level=warn
- --transaction-xa-enabled=false
+ - --metrics-enabled=true
auth:
adminPassword: "{{ keycloak_admin_password }}"
adminUser: "{{ keycloak_admin_username }}"
@@ -70,3 +71,5 @@
failureThreshold: 120
nodeSelector:
openstack-control-plane: enabled
+ metrics:
+ enabled: true
diff --git a/roles/kube_prometheus_stack/vars/main.yml b/roles/kube_prometheus_stack/vars/main.yml
index 277c937..08cc8dc 100644
--- a/roles/kube_prometheus_stack/vars/main.yml
+++ b/roles/kube_prometheus_stack/vars/main.yml
@@ -394,6 +394,18 @@
targetLabel: application
- *relabeling_set_pod_name_to_instance
- *relabeling_drop_all_kubernetes_labels
+ - name: keycloak
+ jobLabel: application
+ namespaceSelector:
+ matchNames:
+ - auth-system
+ selector:
+ matchLabels:
+ app.kubernetes.io/component: metrics
+ app.kubernetes.io/name: keycloak
+ endpoints:
+ - port: http
+ relabelings: *relabelings_instance_to_pod_name
- name: memcached
jobLabel: application
namespaceSelector: