From 8c271b9b7b41a733b0018836d3943a5268cfa6b6 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Sun, 16 Nov 2025 18:03:34 -0600 Subject: [PATCH] scrap metrics for webrtc-be --- k8s/monitoring/values-production.yaml | 7 +++++++ k8s/webrtc-be/templates/servicemonitor.yaml | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 k8s/webrtc-be/templates/servicemonitor.yaml diff --git a/k8s/monitoring/values-production.yaml b/k8s/monitoring/values-production.yaml index 8de3d36..0cfbc8b 100644 --- a/k8s/monitoring/values-production.yaml +++ b/k8s/monitoring/values-production.yaml @@ -56,6 +56,13 @@ kube-prometheus-stack: values: # Use the label identified above - prometheus-node-exporter + serviceMonitorNamespaceSelector: + matchExpressions: + - key: kubernetes.io/metadata.name + operator: In + values: + - monitoring # Its own namespace + - webrtc-be # Your app's namespace # Add the manual scrape configuration additionalScrapeConfigs: - job_name: 'node-exporter' diff --git a/k8s/webrtc-be/templates/servicemonitor.yaml b/k8s/webrtc-be/templates/servicemonitor.yaml new file mode 100644 index 0000000..9808485 --- /dev/null +++ b/k8s/webrtc-be/templates/servicemonitor.yaml @@ -0,0 +1,20 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: webrtc-be + namespace: webrtc-be # Deployed in the app's namespace + labels: + # This label isn't strictly needed for selection based on your + # config, but it's good practice. + release: prometheus +spec: + selector: + matchLabels: + app: webrtc-be # <-- This MUST match your Service's label + namespaceSelector: + matchNames: + - webrtc-be # The namespace your Service is in + endpoints: + - port: websocket-port # <-- This MUST match your Service's port name + path: /metrics # The path to your metrics endpoint + interval: 30s # How often to scrape