Files
Pier_v1/.hmcmkit/knowledge/templates/infra/observability/kube-prometheus-stack.values.yaml
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합
- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 11:20:18 +09:00

117 lines
3.8 KiB
YAML

# 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 }}"