forked from PinSpace-Org/GistPin
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlog-metrics.yaml
More file actions
96 lines (82 loc) 路 2.86 KB
/
Copy pathlog-metrics.yaml
File metadata and controls
96 lines (82 loc) 路 2.86 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
groups:
- name: log-based-metrics
interval: 30s
rules:
- record: log:error_rate:5m
expr: |
sum(rate({app="gistpin-backend"} |= "error" [5m]))
/ sum(rate({app="gistpin-backend"}[5m]))
* 100
- record: log:error_rate:30m
expr: |
sum(rate({app="gistpin-backend"} |= "error" [30m]))
/ sum(rate({app="gistpin-backend"}[30m]))
* 100
- record: log:p99_latency_ms:5m
expr: |
histogram_quantile(0.99,
sum(rate({app="gistpin-backend"} | regexp "duration=(?P<duration>\\d+)ms" [5m])) by (le)
)
- record: log:p95_latency_ms:5m
expr: |
histogram_quantile(0.95,
sum(rate({app="gistpin-backend"} | regexp "duration=(?P<duration>\\d+)ms" [5m])) by (le)
)
- record: log:p50_latency_ms:5m
expr: |
histogram_quantile(0.50,
sum(rate({app="gistpin-backend"} | regexp "duration=(?P<duration>\\d+)ms" [5m])) by (le)
)
- record: log:request_count:5m
expr: |
sum(rate({app="gistpin-backend"}[5m])) by (method, path, status)
- record: log:http_4xx_rate:5m
expr: |
sum(rate({app="gistpin-backend"} |~ "status=(4[0-9][0-9])" [5m]))
/ sum(rate({app="gistpin-backend"}[5m]))
* 100
- record: log:http_5xx_rate:5m
expr: |
sum(rate({app="gistpin-backend"} |~ "status=(5[0-9][0-9])" [5m]))
/ sum(rate({app="gistpin-backend"}[5m]))
* 100
- record: log:active_users:5m
expr: |
count by (tenant_id)
(rate({app="gistpin-backend"} |= "request" | pattern "<method> <path> <status> <duration> <user_id>" [5m]))
- record: log:gist_creations:1h
expr: |
count_over_time({app="gistpin-backend"} |= "gist.created" [1h])
- record: log:transaction_volume:1h
expr: |
count_over_time({app="gistpin-backend"} |= "transaction" [1h])
- name: log-alerts
rules:
- alert: HighLogErrorRate
expr: log:error_rate:5m > 10
for: 5m
labels:
severity: warning
annotations:
summary: "High error rate from logs: {{ $value }}%"
- alert: CriticalLogErrorRate
expr: log:error_rate:5m > 25
for: 2m
labels:
severity: critical
annotations:
summary: "Critical error rate from logs: {{ $value }}%"
- alert: HighLatencyFromLogs
expr: log:p99_latency_ms:5m > 5000
for: 5m
labels:
severity: warning
annotations:
summary: "P99 latency from logs: {{ $value }}ms"
- alert: Elevated4xxRate
expr: log:http_4xx_rate:5m > 15
for: 5m
labels:
severity: warning
annotations:
summary: "Elevated 4xx rate from logs: {{ $value }}%"