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>
This commit is contained in:
commit
964a841de1
3978 files changed
+58013356
No files matched your search
@@ -0,0 +1,116 @@
|
||||
# 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 }}"
|
||||
@@ -0,0 +1,27 @@
|
||||
# Loki + Promtail Helm Values — Auto-generated by hmcmkit
|
||||
# helm install loki grafana/loki-stack -f loki-stack.values.yaml
|
||||
|
||||
loki:
|
||||
enabled: true
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 10Gi
|
||||
config:
|
||||
table_manager:
|
||||
retention_deletes_enabled: true
|
||||
retention_period: 168h # 7 days
|
||||
|
||||
promtail:
|
||||
enabled: true
|
||||
config:
|
||||
clients:
|
||||
- url: http://loki:3100/loki/api/v1/push
|
||||
scrape_configs:
|
||||
- job_name: kubernetes-pods
|
||||
kubernetes_sd_configs:
|
||||
- role: pod
|
||||
relabel_configs:
|
||||
- source_labels: [__meta_kubernetes_pod_label_app]
|
||||
target_label: app
|
||||
- source_labels: [__meta_kubernetes_namespace]
|
||||
target_label: namespace
|
||||
@@ -0,0 +1,86 @@
|
||||
# OpenTelemetry Collector + Tempo — Auto-generated by hmcmkit
|
||||
# Distributed tracing: App → OTel Collector → Tempo → Grafana
|
||||
|
||||
# OpenTelemetry Collector
|
||||
# helm install otel open-telemetry/opentelemetry-collector -f otel-tempo.values.yaml
|
||||
opentelemetry-collector:
|
||||
mode: deployment
|
||||
config:
|
||||
receivers:
|
||||
otlp:
|
||||
protocols:
|
||||
grpc: { endpoint: "0.0.0.0:4317" }
|
||||
http: { endpoint: "0.0.0.0:4318" }
|
||||
processors:
|
||||
batch:
|
||||
timeout: 5s
|
||||
send_batch_size: 1024
|
||||
exporters:
|
||||
otlp:
|
||||
endpoint: "tempo:4317"
|
||||
tls: { insecure: true }
|
||||
prometheus:
|
||||
endpoint: "0.0.0.0:8889"
|
||||
connectors:
|
||||
spanmetrics:
|
||||
histogram:
|
||||
explicit:
|
||||
buckets: [5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2.5s]
|
||||
dimensions:
|
||||
- name: http.method
|
||||
- name: http.status_code
|
||||
- name: service.name
|
||||
service:
|
||||
pipelines:
|
||||
traces:
|
||||
receivers: [otlp]
|
||||
processors: [batch]
|
||||
exporters: [otlp]
|
||||
traces/sentry:
|
||||
receivers: [otlp]
|
||||
processors: [batch]
|
||||
exporters: [sentry]
|
||||
metrics:
|
||||
receivers: [otlp, spanmetrics]
|
||||
processors: [batch]
|
||||
exporters: [prometheus]
|
||||
|
||||
# Sentry Exporter — Forward error spans to Sentry for correlation
|
||||
# Traces with error status → Sentry issue linkage
|
||||
sentry-exporter:
|
||||
dsn: "${SENTRY_DSN}"
|
||||
environment: "${ENVIRONMENT}"
|
||||
insecure: false
|
||||
|
||||
# Tempo (Trace Backend)
|
||||
# helm install tempo grafana/tempo -f otel-tempo.values.yaml
|
||||
tempo:
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 10Gi
|
||||
config:
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
distributor:
|
||||
receivers:
|
||||
otlp:
|
||||
protocols:
|
||||
grpc: {}
|
||||
storage:
|
||||
trace:
|
||||
backend: local
|
||||
local:
|
||||
path: /var/tempo/traces
|
||||
|
||||
# Blackbox Exporter (Uptime Monitoring)
|
||||
# helm install blackbox prometheus-community/prometheus-blackbox-exporter
|
||||
blackbox-exporter:
|
||||
config:
|
||||
modules:
|
||||
http_2xx:
|
||||
prober: http
|
||||
timeout: 5s
|
||||
http:
|
||||
valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
|
||||
valid_status_codes: [200, 301, 302]
|
||||
follow_redirects: true
|
||||
Reference in new issue
Block a user