prometheus、grafana、alertmanager、钉钉机器人集成教程

一、搭建prometheus

使用docker方式:

docker run --name=prometheus -itd -p 9090:9090 -v C:\Users\Administrator\Desktop\promethues\server\prometheus.yml:/etc/prometheus/prometheus.yml -v C:\Users\Administrator\Desktop\promethues\server\rules:/etc/prometheus/rules prom/prometheus --config.file=/etc/prometheus/prometheus.yml --web.enable-lifecycle

本地访问地址是http://127.0.0.1:9090/,注意clashx也是用的9090端口,启动了clashx会有端口占用问题

记得把本地配置文件和rule文件映射进容器,prometheus.yml文件如下

global:
  scrape_interval: 15s
  external_labels:
    monitor: 'codelab-monitor'
rule_files:
  - /etc/prometheus/rules/*.rules
scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']
  - job_name: "node"
    static_configs:
      - targets: ['10.8.0.54:1880']
    metrics_path: /nodered
  - job_name:       'example-random'
    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s
    static_configs:
      - targets: ['10.8.0.54:8080', '10.8.0.54:8081']
        labels:
          group: 'production'
      - targets: ['10.8.0.54:8082']
        labels:
          group: 'canary'
  - job_name: 'localNode'
    static_configs:
      - targets: ['10.8.0.54:9100']
alerting:
  alertmanagers:
  - scheme: http
  - static_configs:
    - targets: ["10.8.0.54:9093"]

配置报警到alertmanager

node export启动命令如下:

docker run -d --name=node-exporter -p 9100:9100 prom/node-exporter

启动node exporter后会暴露这个端口,地址是http://127.0.0.1:9100/metrics

同时我用nodered也做了个接口

rule文件配置如下:

groups:
- name: hostStatsAlert
  rules:
  - alert: hostCpuUsageAlert
    expr: sum(avg without (cpu)(irate(node_cpu_seconds_total{mode="idle"}[5m]))) by (instance) > 0.85
    for: 10s
    labels:
      severity: page
    annotations:
      summary: "Instance {{ $labels.instance }} CPU usgae high"
      description: "{{ $labels.instance }} CPU usage above 85% (current value: {{ $value }})"
  - alert: hostMemUsageAlert
    expr: (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes)/node_memory_MemTotal_bytes > 0.25
    for: 10s
    labels:
      severity: page
    annotations:
      summary: "Instance {{ $labels.instance }} MEM usgae high"
      description: "{{ $labels.instance }} MEM usage above 85% (current value: {{ $value }})"

我们配置两个监控报警,一个是监控cpu是否超过85%,一个监控内容是否超过25%,持续10秒钟报警

二、启动alertmanager用来进行报警

还是使用docker方式

docker run --name alertmanager -itd -p 9093:9093 -v C:\Users\Administrator\Desktop\promethues\alert:/etc/alertmanager prom/alertmanager --config.file=/etc/alertmanager/alertmanager.yml

本地访问地址是http://localhost:9093/#/alerts

记得把本地配置文件映射进去,配置文件默认名字是alertmanager.yml,配置如下

我这里配置了两种报警方式,分别是mail和钉钉机器人,但是mail可能有限制,频繁发送邮件可能被限制,所以我集成了钉钉机器人,邮件方式没用

钉钉机器人需要先去申请,然后起个服务

按这个官方教程申请即可

https://developers.dingtalk.com/document/app/custom-robot-access?spm=ding_open_doc.document.0.0.6d9d28e1BhlUXA#topic-2026027

申请完成后用postman测试下,看看能否走通

然后搭建钉钉机器人发送服务,这里直接用别人做好的

docker run -itd --name dingtalk --restart always -p 8060:8060 timonwong/prometheus-webhook-dingtalk:master --ding.profile="webhook1=https://oapi.dingtalk.com/robot/send?access_token=***********************"

可以参考这篇文章

https://blog.csdn.net/qq_39680564/article/details/107835890

启动后就暴露了8060的发送接口,记得修改alertmanager的配置文件,这是别人的例子,本项目的配置向上找

记得用postman试试通不通

这样配置好后钉钉就可以收到报警了,盗用别人的一张效果图,企业微信机器人应该是一样的,因为本质是一样的

å¨è¿éæå¥å¾çæè¿°

这篇文章也不错,不懂可以看看

https://blog.csdn.net/qq_24794401/article/details/103245804

三、使用Grafana进行可视化展示

grafana我也是用的docker

docker run -itd --name grafana -p 3000:3000 grafana/grafana 

本地地址是http://127.0.0.1:3000/

首先要配置数据源

grafana不局限于某一个数据库,其他的例如mysql等也支持,mongo需要装插件

然后在dashboard里增加panel就可以了

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuyuinsdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值