# kube-prometheus-stack Helm Values — Auto-generated by hmcmkit # helm install monitoring prometheus-community/kube-prometheus-stack -f values.yaml prometheus: prometheusSpec: retention: 15d resources: requests: { cpu: "500m", memory: "1Gi" } limits: { cpu: "1", memory: "2Gi" } serviceMonitorSelector: {} podMonitorSelector: {} grafana: enabled: true adminPassword: "${GRAFANA_ADMIN_PASSWORD}" dashboardProviders: dashboardproviders.yaml: apiVersion: 1 providers: - name: default folder: '' type: file options: path: /var/lib/grafana/dashboards/default datasources: datasources.yaml: apiVersion: 1 datasources: - name: Prometheus type: prometheus url: http://monitoring-kube-prometheus-prometheus:9090 isDefault: true - name: Loki type: loki url: http://loki:3100 - name: Tempo type: tempo url: http://tempo:3100 - name: Sentry type: sentry url: "${SENTRY_API_URL}" jsonData: orgSlug: "${SENTRY_ORG_SLUG}" secureJsonData: authToken: "${SENTRY_AUTH_TOKEN}" # Pre-built dashboards dashboards: default: service-health: json: | # Service Health Dashboard — Error Rate + Latency + Sentry Issues # Auto-generated by hmcmkit enterprise error-tracking: json: | # Error Tracking Dashboard — Sentry integration # Panels: Unresolved issues, Error rate trend, Top errors, Affected users alertmanager: config: route: receiver: 'slack-notifications' group_by: ['alertname', 'namespace'] group_wait: 30s group_interval: 5m repeat_interval: 4h routes: - match: severity: critical receiver: 'pagerduty-critical' - match: severity: warning receiver: 'slack-notifications' receivers: - name: 'slack-notifications' slack_configs: - api_url: "${SLACK_WEBHOOK_URL}" channel: '#error-alerts' title: '[{{ .Status }}] {{ .CommonLabels.alertname }}' text: '{{ .CommonAnnotations.description }}' - name: 'pagerduty-critical' pagerduty_configs: - service_key: "${PAGERDUTY_SERVICE_KEY}" severity: critical - name: 'self-healing-webhook' webhook_configs: - url: "${SELF_HEALING_WEBHOOK_URL}" send_resolved: true # Custom PrometheusRules for Self-Healing triggers additionalPrometheusRules: - name: self-healing-rules groups: - name: error-detection rules: - alert: HighErrorRate expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.01 for: 2m labels: severity: warning annotations: description: "Error rate > 1% for {{ $labels.service }} — Self-Healing candidate" - alert: CriticalErrorRate expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.05 for: 2m labels: severity: critical annotations: description: "Error rate > 5% for {{ $labels.service }} — Auto-Rollback triggered" - alert: HighLatency expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 0.5 for: 5m labels: severity: warning annotations: description: "P95 latency > 500ms for {{ $labels.service }}"