Alertsnitch 可以捕获 Prometheus AlertManager 警报并将它们写入 MySQL 或 Postgres 数据库以供将来检查。
部署流程
部署mysql
- 创建 alertsnitch 的用户名,密码,数据库。
- 导入初始化sql文件(sql文件见gitlab)。
过程略。
部署 Alertsnitch
Deployment如下:
修改下面ALERTSNITCH_DSN的值。
# alertsnitch-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: alertsnitch
namespace: alertmanager
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: alertsnitch
template:
metadata:
labels:
app.kubernetes.io/name: alertsnitch
spec:
containers:
- image: registry.gitlab.com/yakshaving.art/alertsnitch
name: alertsnitch
ports:
- containerPort: 9567
name: http
env:
- name: ALERTSNITCH_BACKEND
value: mysql
- name: ALERTSNITCH_DSN
value: ${MYSQL_USER}:${MYSQL_PASSWORD}@(${MYSQL_IP}:${MYSQL_PORT})/{$MYSQL_DATABASE}
readinessProbe:
httpGet:
path: /-/ready
port: 9567
initialDelaySeconds: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /-/health
port: 9567
initialDelaySeconds: 60
periodSeconds: 10
配置 alertManager
route:
receiver: all
routes:
- receiver: all
continue: true
--------------------
receivers:
- name: 'all'
webhook_configs:
- url: 'http://:p::.alertmanager.svc:9567/webhook'
send_resolved: true
验证数据库
飞书群接受到告警消息之后,查看数据库。
导入Grafana Dashboard
- 创建 mysql 数据源
- 导入 15833