k8s使用

提示:记录k8s使用
第七章 kuboard实现prometheus告警管理+展示

一、说明

选型如下:

名称功能版本
prometheus采集数据2.29.1
grafana图表展示8.1.1
alertmanager报警消息推送0.22.2
alertsnitch告警持久化latest
mysql存储历史告警信息5.6

二、部署

prometheus与grafana部署见本系列第四章

alertmanager

  1. 添加配置字典(内容见第三章)
    配置字典
  2. 创建工作负载
    负载类型:部署,分层:API网关层
    添加存储卷,给alertmanager配置字典添加至/etc/alertmanager/config.yml
    存储卷
    服务添加端口映射9093
    运行后查看ip:9093
    alertmanager界面

mysql(alertsnitch需要)

负载类型:部署,分层:持久层
添加环境变量,添加端口映射如下:
容器信息
创建存储卷nfs用于永久存储
nfs
服务中添加端口映射
端口映射
能够使用navicate连接成功jdbc://ip:13306 root/root
执行alertsnitch必要的sql,见https://github.com/yakshaving-art/alertsnitch/tree/master/db.d/mysql

alertsnitch

根据github中说明,创建容器,相应添加两个环境变量
负载类型:部署,分层:API网关
环境变量
端口映射
映射

三、配置

prometheus告警配置

  1. 在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"
  1. 创建新的nfs并在挂载到prometheus的上述路径下(容器中/opt/bitnami/prometheus/rules)(详细配置见参考)
  2. 重启prometheus容器,查看界面中alerts内容(参考中有可用的rules,本文添加了Docker.rules, Hosts.rules, Prometheus.rules)
    alerts

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数据库与图表配置

  1. 配置数据源mysql
  2. import dashboard使用模板15833
    图表

四、检查

当prometheus出现alerts时(关闭cadvisor容器模拟断线),界面中可查看到
alerts界面
同时,在alertmanager中能查看到告警信息
alertmanager告警信息
在mysql中有告警数据
mysql数据

参考

prometheusAlerts
常见的prometheus告警yml
prometheusAlerts讲解
告警持久化
alertsnitch
grafana告警

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐