美文网首页
prometheus 监控报警实践

prometheus 监控报警实践

作者: 癞痢头 | 来源:发表于2019-10-24 22:32 被阅读0次

本文记录一次练手项目的过程,主要用来理解prometheus的监控报警流程及配置,使用docker-compose 快速上手,实现微信以及email报警。本文的主要目的,一是记录, 二时帮助新手来理解报警监控。 项目地址:https://github.com/kekek/prometheus-alert

这个项目监控了docker-compose管理的服务程序 target-go 手动停止后,prometheus 怎样采集指标 , 上报错误,及报警处理。需要了解更多的指标监控, 请查看prometheus 文档

本项目涉及到的知识点:

1. docker-compose 编排管理docker服务

2. prometheus 指标采集

3. prometheus 报警管理 

文件目录结构

.
├── alertmanager/
├── docker-compose.yml
├── grafana/
├── mysql/
├── mysql-export/
├── prometheus/
├── readme.md
└── target-go/

  • alertmanager/ : prometheus 的 报警管理器,负责报警信息归集,发送通知等
  • prometheus/ : docker 启动的 prometheus 服务, 收集监控信息,根据监控信息发送报警
  • target-go/ : go 启动的一个web服务,被监控对象,docker-compse中服务名称为 kingtrader, 在这个项目中,可以通过启动和停止 kingtrader,该项目来观察 prometheus的监控和报警结果
  • docker-compose.yml : 通过 docker-compose 管理管理上面的服务

修改配置

  • 启动docker, clone 仓库到本地目录,假如是prom
  git clone https://github.com/kekek/prometheus-alert prom
  • 修改 alertmanager 报警通知相关的配置文件

alertmanager/conf/alertmanager.yml

///////////////////////////// 发送邮件  /////////////////////////////

// 修改发送配置
  smtp_from: '发送人'
  smtp_smarthost: '发送服务器'
  smtp_auth_username: '账号'
  smtp_auth_password: "密码"

// 接收者

receivers:
- name: 'manager'
  email_configs:
  - send_resolved: false
    to: 接收人email

///////////////////////////// 发送微信消息  /////////////////////////////
  ## 修改 wechat 
  # wechat_api_url: <string> | default = "https://qyapi.weixin.qq.com/cgi-bin/" 
  # wechat_api_secret: <secret> 
  # wechat_api_corp_id: <string> 

运行并观察

  • 进入 prom,启动服务
    cd prom
    docker-compose up 
job="kingtrader"服务启动状态 1 指标报警触发状态 绿色
  • 停止 kingtrader 再次查看
    docker-compose stop kingtrader
job="kingtrader"服务启动状态 0 指标报警触发状态 红色

不出意外的话,过5分钟就能收到报警信息啦

过程说明

prometheus 会不停的的采集 job=kingtrader 的状态, 如果根据配置, 如果该值为0 , 则每个采集周期都是发送一条警告信息到 alertmanager去, 由altermanager来处理信息的归集,过滤, 等, 然后发送报警信息

相关文章

网友评论

      本文标题:prometheus 监控报警实践

      本文链接:https://www.haomeiwen.com/subject/avhjvctx.html