k8s/prometheus告警
k8s/alertmanager+alertsnitch告警管理第七章 告警管理
·
k8s使用
提示:记录k8s使用
第七章 kuboard实现prometheus告警管理+展示
文章目录
一、说明
选型如下:
名称 | 功能 | 版本 |
---|---|---|
prometheus | 采集数据 | 2.29.1 |
grafana | 图表展示 | 8.1.1 |
alertmanager | 报警消息推送 | 0.22.2 |
alertsnitch | 告警持久化 | latest |
mysql | 存储历史告警信息 | 5.6 |
二、部署
prometheus与grafana部署见本系列第四章
alertmanager
- 添加配置字典(内容见第三章)
- 创建工作负载
负载类型:部署,分层:API网关层
添加存储卷,给alertmanager配置字典添加至/etc/alertmanager/config.yml
服务添加端口映射9093
运行后查看ip:9093
mysql(alertsnitch需要)
负载类型:部署,分层:持久层
添加环境变量,添加端口映射如下:
创建存储卷nfs用于永久存储
服务中添加端口映射
能够使用navicate连接成功jdbc://ip:13306 root/root
执行alertsnitch必要的sql,见https://github.com/yakshaving-art/alertsnitch/tree/master/db.d/mysql
alertsnitch
根据github中说明,创建容器,相应添加两个环境变量
负载类型:部署,分层:API网关
端口映射
三、配置
prometheus告警配置
- 在prometheus.yml中添加内容
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- "/opt/bitnami/prometheus/rules/cadvisor_rules.yml"
- "/opt/bitnami/prometheus/rules/host_rules.yml"
- "/opt/bitnami/prometheus/rules/prometheus_rules.yml"
- 创建新的nfs并在挂载到prometheus的上述路径下(容器中/opt/bitnami/prometheus/rules)(详细配置见参考)
- 重启prometheus容器,查看界面中alerts内容(参考中有可用的rules,本文添加了Docker.rules, Hosts.rules, Prometheus.rules)
prometheus添加alertmanager
在prometheus.yml中添加配置
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets: [alertmanager:9093]
alertmanager配置
alertmanager.yml
global:
resolve_timeout: 5m
route:
receiver: "alertsnitch"
group_wait: 3s
group_interval: 5m
repeat_interval: 5s
group_by: ["alertname"]
routes:
- receiver: "alertsnitch"
continue: true
receivers:
- name: "alertsnitch"
webhook_configs:
- url: "http://alertsnitch:9567/webhook"
send_resolved: true
grafana数据库与图表配置
- 配置数据源mysql
- import dashboard使用模板15833
四、检查
当prometheus出现alerts时(关闭cadvisor容器模拟断线),界面中可查看到
同时,在alertmanager中能查看到告警信息
在mysql中有告警数据
参考
prometheusAlerts
常见的prometheus告警yml
prometheusAlerts讲解
告警持久化
alertsnitch
grafana告警
更多推荐
已为社区贡献7条内容
所有评论(0)