-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.monitoring.example
More file actions
204 lines (165 loc) · 6.58 KB
/
.env.monitoring.example
File metadata and controls
204 lines (165 loc) · 6.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# FlakeGuard Monitoring Configuration
# Copy to .env.monitoring and customize for your environment
# ============================================================================
# Metrics Collection
# ============================================================================
METRICS_ENABLED=true
METRICS_PORT=9090
METRICS_PATH=/metrics
METRICS_COLLECTION_INTERVAL=15000
# ============================================================================
# Health Checks
# ============================================================================
HEALTH_CHECK_ENABLED=true
HEALTH_CHECK_PORT=3000
HEALTH_CHECK_TIMEOUT=5000
HEALTH_CHECK_DATABASE_ENABLED=true
HEALTH_CHECK_REDIS_ENABLED=true
# ============================================================================
# SLO Configuration
# ============================================================================
SLO_API_AVAILABILITY_TARGET=0.999
SLO_INGESTION_LATENCY_TARGET=30
SLO_PARSE_SUCCESS_RATE_TARGET=0.99
SLO_CHECK_RUN_DELIVERY_TARGET=60
SLO_ERROR_BUDGET_WINDOW=2592000 # 30 days in seconds
# ============================================================================
# Alerting Configuration
# ============================================================================
ALERTS_ENABLED=true
ALERT_FAST_BURN_MULTIPLIER=1440 # For API availability (30min to exhaust budget)
ALERT_SLOW_BURN_MULTIPLIER=6 # For sustained issues (5 days to exhaust budget)
# ============================================================================
# Prometheus Configuration
# ============================================================================
PROMETHEUS_URL=http://localhost:9090
PROMETHEUS_RETENTION_TIME=30d
PROMETHEUS_RETENTION_SIZE=50GB
PROMETHEUS_SCRAPE_INTERVAL=15s
# ============================================================================
# Alertmanager Configuration
# ============================================================================
ALERTMANAGER_URL=http://localhost:9093
ALERTMANAGER_GROUP_WAIT=30s
ALERTMANAGER_GROUP_INTERVAL=5m
ALERTMANAGER_REPEAT_INTERVAL=12h
# ============================================================================
# Notification Channels
# ============================================================================
# Slack Integration
SLACK_ENABLED=false
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/EXAMPLE/EXAMPLE/EXAMPLE
SLACK_CHANNEL_CRITICAL=#sre-alerts
SLACK_CHANNEL_WARNING=#flakeguard-alerts
SLACK_CHANNEL_INFO=#flakeguard-info
# Email Notifications
EMAIL_ENABLED=false
EMAIL_SMTP_HOST=smtp.company.com
EMAIL_SMTP_PORT=587
EMAIL_SMTP_USERNAME=flakeguard-alerts@company.com
EMAIL_SMTP_PASSWORD=your-smtp-password
EMAIL_FROM=flakeguard-alerts@company.com
EMAIL_TO_CRITICAL=sre-oncall@company.com
EMAIL_TO_WARNING=dev-team@company.com
# PagerDuty Integration
PAGERDUTY_ENABLED=false
PAGERDUTY_INTEGRATION_KEY=your-pagerduty-integration-key
PAGERDUTY_ROUTING_KEY=your-routing-key
# OpsGenie Integration
OPSGENIE_ENABLED=false
OPSGENIE_API_KEY=your-opsgenie-api-key
OPSGENIE_TEAM=database-team
# ============================================================================
# Grafana Configuration
# ============================================================================
GRAFANA_URL=http://localhost:3001
GRAFANA_ADMIN_USERNAME=admin
GRAFANA_ADMIN_PASSWORD=admin123
GRAFANA_DEFAULT_THEME=dark
GRAFANA_ALLOW_SIGN_UP=false
# Dashboard Settings
GRAFANA_AUTO_REFRESH=30s
GRAFANA_DEFAULT_TIME_RANGE=1h
# ============================================================================
# Resource Monitoring
# ============================================================================
# Memory Thresholds (MB)
MEMORY_WARNING_THRESHOLD=512
MEMORY_CRITICAL_THRESHOLD=1024
# CPU Thresholds (%)
CPU_WARNING_THRESHOLD=70
CPU_CRITICAL_THRESHOLD=90
# Disk Thresholds (%)
DISK_WARNING_THRESHOLD=80
DISK_CRITICAL_THRESHOLD=95
# ============================================================================
# Business Metrics
# ============================================================================
# Repository Activity
ACTIVE_REPO_WINDOW=7d # Consider repos active if they had activity in last 7 days
# Flake Detection
FLAKE_RATE_WARNING_THRESHOLD=10 # Alert if detecting >10 flakes/hour
FLAKE_RATE_CRITICAL_THRESHOLD=50 # Alert if detecting >50 flakes/hour
# Queue Monitoring
QUEUE_WARNING_DEPTH=100 # Alert if queue depth > 100
QUEUE_CRITICAL_DEPTH=500 # Alert if queue depth > 500
# ============================================================================
# Development/Testing
# ============================================================================
# Test Environment Settings (set to true for development)
DISABLE_CRITICAL_ALERTS=false
DISABLE_PAGING_ALERTS=false
MOCK_EXTERNAL_SERVICES=false
METRICS_DEBUG_MODE=false
# Test Data Generation
GENERATE_TEST_METRICS=false
TEST_METRICS_INTERVAL=10000 # Generate test metrics every 10s
# ============================================================================
# Security
# ============================================================================
# Metrics endpoint authentication (if needed)
METRICS_AUTH_ENABLED=false
METRICS_AUTH_TOKEN=your-secure-metrics-token
# Dashboard access control
DASHBOARD_AUTH_ENABLED=true
DASHBOARD_VIEWER_PASSWORD=viewer123
DASHBOARD_EDITOR_PASSWORD=editor123
# ============================================================================
# Deployment Configuration
# ============================================================================
# Environment
ENVIRONMENT=production # development, staging, production
CLUSTER_NAME=production
REGION=us-west-2
# Service Discovery
SERVICE_DISCOVERY=static # static, kubernetes, consul
KUBERNETES_NAMESPACE=flakeguard
# External Labels (added to all metrics)
SERVICE_NAME=flakeguard
SERVICE_VERSION=1.0.0
TEAM=engineering
# ============================================================================
# Performance Tuning
# ============================================================================
# Metrics Collection
METRICS_BATCH_SIZE=1000
METRICS_FLUSH_INTERVAL=5000
HIGH_CARDINALITY_METRICS_ENABLED=false
# Alert Evaluation
ALERT_EVALUATION_INTERVAL=15s
ALERT_QUEUE_CAPACITY=10000
# Dashboard Performance
DASHBOARD_QUERY_TIMEOUT=30s
DASHBOARD_MAX_DATA_POINTS=11000
# ============================================================================
# Backup and Retention
# ============================================================================
# Prometheus Data
PROMETHEUS_BACKUP_ENABLED=true
PROMETHEUS_BACKUP_RETENTION=90d
PROMETHEUS_BACKUP_SCHEDULE="0 2 * * *" # Daily at 2 AM
# Grafana Dashboards
GRAFANA_BACKUP_ENABLED=true
GRAFANA_BACKUP_RETENTION=30d
# Alert History
ALERT_HISTORY_RETENTION=90d