Docker-compose部署Alertmanager+Dingtalk+Prometheus+Grafana实现钉钉报警

本文主要是介绍Docker-compose部署Alertmanager+Dingtalk+Prometheus+Grafana实现钉钉报警,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

部署监控

version: '3.7'services:
#dingtalkdingtalk:image: timonwong/prometheus-webhook-dingtalk:latestcontainer_name: dingtalkrestart: alwayscommand:- '--config.file=/etc/prometheus-webhook-dingtalk/config.yml'volumes:- /data/monitor/dingtalk/config.yml:/etc/prometheus-webhook-dingtalk/config.yml- /etc/localtime:/etc/localtime:roports:- "8060:8060"
#alertmanageralertmanager:image: prom/alertmanager:latestcontainer_name: alertmanagerrestart: alwaysvolumes:- /data/monitor/alertmanager/config/alertmanager.yml:/etc/alertmanager/alertmanager.ymlports:- "9093:9093"
#prometheusprometheus:image: prom/prometheuscontainer_name: prometheusrestart: alwaysports:- "9090:9090"volumes:- /data/monitor/promethues/prometheus.yml:/etc/prometheus/prometheus.yml- /data/monitor/promethues/alert.yml:/etc/prometheus/rule.yml- /etc/localtime:/etc/localtime:ro
#grafanagrafana:image: grafana/grafanacontainer_name: grafanarestart: alwaysports:- "3000:3000"volumes:- /data/monitor/grafana:/var/lib/grafana
#node-exporternode-exporter:image: prom/node-exportercontainer_name: node-exporterrestart: alwaysports:- "9100:9100"volumes:- /proc:/host/proc:ro- /sys:/host/sys:ro- /:/rootfs:ro    

Dingtalk配置文件

/data/monitor/dingtalk/config.yml

templates:- /etc/prometheus-webhook-dingtalk/templates/templates.tmpltargets: #配置多个接收方webhook2:url: https://oapi.dingtalk.com/robot/send?access_token=钉钉tokensecret: 钉钉加签

Alertmanager配置文件

/data/monitor/alertmanager/config/alertmanager.yml

global:resolve_timeout: 5msmtp_smarthost: 'smtp.qiye.163.com:465'             #邮箱smtp服务器代理,启用SSL发信, 端口一般是465smtp_from: 'user@163.com'              #发送邮箱名称smtp_auth_username: 'user@163.com'              #邮箱名称smtp_auth_password: 'password'                #邮箱密码或授权码smtp_require_tls: falseroute:receiver: 'default'group_wait: 10sgroup_interval: 1mrepeat_interval: 1hgroup_by: ['alertname']inhibit_rules:
- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'instance']receivers:
- name: 'default'webhook_configs:- url: 'http://dingtalk-IP:8060/dingtalk/webhook2/send'   #webhoo2匹配dingtalk targetssend_resolved: true

Prometheus配置prometheus文件

/data/monitor/promethues/prometheus.yml

global:scrape_interval: 60sevaluation_interval: 60s
alerting:alertmanagers:- static_configs:- targets: ['IP:9093']
rule_files:- "/etc/prometheus/rule.yml"- "rules/*.yml"scrape_configs:- job_name: prometheusstatic_configs:- targets: ['localhost:9090']labels:instance: prometheus- job_name: litestatic_configs:- targets: ['IP:9100']labels:env: dev- job_name: redis_exporterstatic_configs:- targets: ['IP:9121']labels:env: devident: redis- job_name: mysql_exporterstatic_configs:- targets: ['IP:9104']labels:env: devident: mysql- job_name: emqx_exportermetrics_path: /api/v5/prometheus/statsscrape_interval: 5shonor_labels: truestatic_configs:- targets: ['IP:18083']- job_name: 'alertmanager'scrape_interval: 15sstatic_configs:- targets: ['IP:9100']

Prometheus配置alert文件

/data/monitor/promethues/alert.yml

groups:
- name: 服务器主机信息监控告警rules:- alert: 公司内部服务器监控expr: up {job="公司内部服务器"} == 0for: 0mlabels:severity: 非常严重annotations:description: "监控的目标已丢失,请检查服务器自身或node_exporter服务"- alert: "内存报警"expr: 100 - ((node_memory_MemAvailable_bytes * 100) / node_memory_MemTotal_bytes) > 10for: 1m  # 告警持续时间,超过这个时间才会发送给alertmanagerlabels:severity: 严重annotations:summary: "{{ $labels.instance }} 内存使用率过高,请尽快处理!"description: "{{ $labels.instance }}内存使用率超过95%,当前使用率{{ $value }}%."- alert: "磁盘空间报警"expr: (1 - node_filesystem_avail_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"}) * 100 > 20for: 60slabels:severity: 严重annotations:summary: "{{ $labels.instance }}磁盘空间使用超过95%了"description: "{{ $labels.instance }}磁盘使用率超过95%,当前使用率{{ $value }}%."- alert: "CPU报警"expr: 100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)* 100) > 5for: 120slabels:severity: 严重instance: "{{ $labels.instance }}"annotations:summary: "{{$labels.instance}}CPU使用率超过95%了"description: "{{ $labels.instance }}CPU使用率超过95%,当前使用率{{ $value }}%."- alert: "磁盘IO性能报警"expr: ((irate(node_disk_io_time_seconds_total[30m]))* 100) > 95for: 3mlabels:severity: 严重annotations:summary: "{{$labels.instance}} 流入磁盘IO使用率过高,请尽快处理!"description: "{{$labels.instance}} 流入磁盘IO大于95%,当前使用率{{ $value }}%."

这篇关于Docker-compose部署Alertmanager+Dingtalk+Prometheus+Grafana实现钉钉报警的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890290

相关文章

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server