Files
FruitServer/grafana/provisioning/alerting/rules.yml
T
2026-10-29 10:53:07 +08:00

129 lines
4.0 KiB
YAML

# Author: fruit.com.cn
# Grafana 告警规则:服务下线 / 响应慢 / 磁盘满 自动通知。
# 需要在 Grafana UI 里配一个 Contact Point(飞书 webhook)并绑定到这些规则。
apiVersion: 1
groups:
- orgId: 1
name: fruitshorts-health
folder: FruitShorts
interval: 30s
rules:
# ── 服务下线 ──
- uid: fruitshorts-app-down
title: "app-api 下线"
condition: C
data:
- refId: A
relativeTimeRange: { from: 120, to: 0 }
datasourceUid: prometheus
model:
expr: 'probe_success{instance=~"http://app-api:8081/.*"} == 0'
refId: A
- refId: C
relativeTimeRange: { from: 0, to: 0 }
datasourceUid: __expr__
model:
conditions:
- evaluator: { params: [0.5], type: gt }
operator: { type: and }
query: { params: [A] }
reducer: { type: last }
type: query
refId: C
noDataState: Alerting
for: 2m
annotations:
summary: "app-api (8081) 已下线超过 2 分钟"
labels:
severity: critical
team: backend
- uid: fruitshorts-admin-down
title: "admin-api 下线"
condition: C
data:
- refId: A
relativeTimeRange: { from: 120, to: 0 }
datasourceUid: prometheus
model:
expr: 'probe_success{instance=~"http://admin-api:8080/.*"} == 0'
refId: A
- refId: C
relativeTimeRange: { from: 0, to: 0 }
datasourceUid: __expr__
model:
conditions:
- evaluator: { params: [0.5], type: gt }
operator: { type: and }
query: { params: [A] }
reducer: { type: last }
type: query
refId: C
noDataState: Alerting
for: 2m
annotations:
summary: "admin-api (8080) 已下线超过 2 分钟"
labels:
severity: critical
team: backend
# ── 响应慢 ──
- uid: fruitshorts-slow-response
title: "接口响应过慢"
condition: C
data:
- refId: A
relativeTimeRange: { from: 300, to: 0 }
datasourceUid: prometheus
model:
expr: 'histogram_quantile(0.95, rate(probe_duration_seconds_bucket[5m])) > 2'
refId: A
- refId: C
relativeTimeRange: { from: 0, to: 0 }
datasourceUid: __expr__
model:
conditions:
- evaluator: { params: [0.5], type: gt }
operator: { type: and }
query: { params: [A] }
reducer: { type: last }
type: query
refId: C
for: 5m
annotations:
summary: "接口 P95 响应时间超过 2 秒"
labels:
severity: warning
team: backend
# ── 容器重启频繁 ──
- uid: fruitshorts-container-restart
title: "容器频繁重启"
condition: C
data:
- refId: A
relativeTimeRange: { from: 600, to: 0 }
datasourceUid: prometheus
model:
expr: 'increase(container_start_time_seconds[10m]) > 3'
refId: A
- refId: C
relativeTimeRange: { from: 0, to: 0 }
datasourceUid: __expr__
model:
conditions:
- evaluator: { params: [0.5], type: gt }
operator: { type: and }
query: { params: [A] }
reducer: { type: last }
type: query
refId: C
for: 1m
annotations:
summary: "有容器在 10 分钟内重启超过 3 次"
labels:
severity: warning
team: infra