Description
Create and deploy Grafana dashboards for each microservice using Helm-managed ConfigMaps or sidecar importers. Each dashboard should visualize HTTP request metrics (e.g., request count, latency, errors) exposed via Prometheus /metrics.
User Story
As a developer or operator, I want to automatically provision Grafana dashboards for each service via Helm so that I can monitor service behavior in real-time without manual dashboard setup.
Acceptance Criteria
- Given a microservice with Prometheus metrics exposed, when its Helm chart is installed or upgraded, then a Grafana dashboard is automatically deployed or made available for import.
- If metrics are not yet available (e.g., endpoint not scraped), then the panels should remain empty without causing dashboard load errors.
Notes
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "your-service.fullname" . }}-dashboard
labels:
grafana_dashboard: "1"
data:
{{ (.Files.Glob "dashboards/*.json").AsConfig | indent 2 }}
-
Grafana must be configured to use sidecar.dashboards.enabled=true via its Helm chart:
sidecar:
dashboards:
enabled: true
label: grafana_dashboard
-
Dashboard panels should visualize:
- HTTP request rate (
http_requests_total)
- Request latency (
http_request_latency_seconds)
- 4xx/5xx response trends
- Custom events (if any, like table detections, translations, etc.)
-
Optional: Include a values.yaml flag like monitoring.grafanaDashboards.enabled to make dashboard creation configurable.
Description
Create and deploy Grafana dashboards for each microservice using Helm-managed ConfigMaps or sidecar importers. Each dashboard should visualize HTTP request metrics (e.g., request count, latency, errors) exposed via Prometheus
/metrics.User Story
As a developer or operator, I want to automatically provision Grafana dashboards for each service via Helm so that I can monitor service behavior in real-time without manual dashboard setup.
Acceptance Criteria
Notes
Preferred deployment pattern:
ConfigMap.dashboards/folder in the Helm chart and template them into aConfigMap.Example
ConfigMaptemplate:Grafana must be configured to use
sidecar.dashboards.enabled=truevia its Helm chart:Dashboard panels should visualize:
http_requests_total)http_request_latency_seconds)Optional: Include a
values.yamlflag likemonitoring.grafanaDashboards.enabledto make dashboard creation configurable.