Prometheus+Altermanager实现钉钉告警

news2025/1/19 7:58:41

Prometheus+Altermanager实现钉钉告警

Prometheus和Altermanager的安装这里就不赘述了,我之前的文章有写到
不记得的小伙伴可以去看看Prometheus和Altermanager的安装使用

直接开始上操作
下载钉钉并打开,先创建一个接收告警信息的钉钉群
在这里插入图片描述
添加一个自定义的钉钉机器人,为了方便测试,都默认就好了,不用选其它配置
将webhook复制下来,等下要通过这个webhook来发送钉钉消息
在这里插入图片描述

在Altermanager告警机器下载钉钉告警插件地址

wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v2.1.0/prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz

我这里选择解压到/usr/local目录下

tar -xvf prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz -C /usr/local

修改目录名,显得短一点

mv prometheus-webhook-dingtalk-2.1.0.linux-amd64 prometheus-webhook-dingtalk

然后进入钉钉告警插件目录,将模板配置文件复制一份

cd /usr/local/prometheus-webhook-dingtalk
cp config.example.yml config.yml

修改配置文件,这里主要是配置告警方式,其它没用的可以注释掉,将刚才复制webhook替换成自己的

vim config.yml

在这里插入图片描述

然后修改告警模板,这个模板可以根据自己的需求进行设置

vim contrib/dingtalk.tmpl
{{ define "__subject" }}
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]
{{ end }}
 
 
{{ define "__alert_list" }}{{ range . }}
---
{{ if .Labels.owner }}@{{ .Labels.owner }}{{ end }}
 
**告警名称**: {{ index .Annotations "title" }} 
 
**告警级别**: {{ .Labels.severity }} 
 
**告警主机**: {{ .Labels.instance }} 
 
**告警信息**: {{ index .Annotations "description" }}
 
**告警时间**: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
{{ end }}{{ end }}
 
{{ define "__resolved_list" }}{{ range . }}
---
{{ if .Labels.owner }}@{{ .Labels.owner }}{{ end }}
 
**告警名称**: {{ index .Annotations "title" }}
 
**告警级别**: {{ .Labels.severity }}
 
**告警主机**: {{ .Labels.instance }}
 
**告警信息**: {{ index .Annotations "description" }}
 
**告警时间**: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
 
**恢复时间**: {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}
{{ end }}{{ end }}
 
 
{{ define "default.title" }}
{{ template "__subject" . }}
{{ end }}
 
{{ define "default.content" }}
{{ if gt (len .Alerts.Firing) 0 }}
**====侦测到{{ .Alerts.Firing | len  }}个故障====**
{{ template "__alert_list" .Alerts.Firing }}
---
{{ end }}
 
{{ if gt (len .Alerts.Resolved) 0 }}
**====恢复{{ .Alerts.Resolved | len  }}个故障====**
{{ template "__resolved_list" .Alerts.Resolved }}
{{ end }}
{{ end }}
 
 
{{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}
{{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}
{{ template "default.title" . }}
{{ template "default.content" . }}

模板设置好后就可以启动了,由于测试我就直接启动了
想保持进程一直运行可以用nohup或者写成服务,根据自己的需要选择

./prometheus-webhook-dingtalk --config.file=config.example.yml >dingtalk.log 2>&1 &

可以执行命令查看端口启动情况,默认使用 8060 端口

netstat -ntlp|grep 8060

接下来到alertmanager的配置

修改alertmanager配置文件,添加钉钉告警方式
大家根据自己alertmanager安装的目录来,我自己是安装在/opt目录下的

vim /opt/alertmanager-0.26.0/alertmanager.yml

在这里插入图片描述

修改好配置以后重新加载alertmanager的配置

curl -lv -X POST http://192.168.121.161:9093/-/reload

到这里配置就结束了,然后现在去实验检测结果

将Prometheus监控的服务器关闭一台,模拟服务器挂掉的情况
在这里插入图片描述

可以看到Prometheus已经发送告警信息

在这里插入图片描述

然后查看alertmanager的告警接收情况,可以看到告警已经产生

在这里插入图片描述
可以看到钉钉群也已经接收到告警信息
在这里插入图片描述
到这里Prometheus监控之钉钉告警就完成了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1801914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构【二叉树——堆】

二叉树——堆 1.二叉树的概念与性质二叉树的概念特殊的二叉树 2.二叉树的性质3.二叉树的存储结构顺序结构链式结构 4.堆堆的概念堆接口的实现(默认为大堆)堆的结构堆的初始化堆的销毁栈的插入堆的删除取堆顶数据堆的元素个数堆的判空 完整代码Heap.hHeap…

ArcGIS for js 4.x 加载图层

二维&#xff1a; 1、创建vue项目 npm create vitelatest 2、安装ArcGIS JS API依赖包 npm install arcgis/core 3、引入ArcGIS API for JavaScript模块 <script setup> import "arcgis/core/assets/esri/themes/light/main.css"; import Map from arcgis…

计网期末复习指南(五):运输层(可靠传输原理、TCP协议、UDP协议、端口)

前言&#xff1a;本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点&#xff0c;从计算机网络体系结构出发到应用层&#xff0c;每一个协议层通过一篇文章进行总结&#xff0c;本系列正在持续更新中... 计网期末复习指南&#xff08;一&#xff09;&#xff1a;计算机…

【Go语言精进之路】构建高效Go程序:零值可用、使用复合字面值作为初值构造器

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言一、深入理解并利用零值提升代码质量1.1 深入Go类型零值原理1.2 零值可用性的实践与优势1.2.1 切片(Slice)的零值与动态扩展1.2.2 Map的零值与安全访问1.2.3 函数参数与零值 二、使用复合字面值作为初值构造器2.1 结构体…

KT1404A语音芯片USB连电脑,win7正常识别WIN10无法识别USB设备

一、简介 KT1404A语音芯片画的板子&#xff0c;USB连接电脑&#xff0c;win7可以正常识别到U盘&#xff0c;WIN10提示无法识别USB设备&#xff08;获取设备描述符失败&#xff09;&#xff0c;这是什么问题 问题 首先&#xff0c;这款芯片已经出货非常非常多了&#xff0c;所…

【已有项目版】uniapp项目发版pda -- Android Studio

必备资料清单&#xff1a; 构建完成的app项目 在HBuilderX开发的uniapp项目 .keystore文件 文章目录 1. 安装Android Studio&#xff1a;https://developer.android.google.cn/studio?hlzh-cn2. 安装Android 离线SDK&#xff1a;https://nativesupport.dcloud.net.cn/AppDocs…

vs2013 - 打包

文章目录 vs2013 - 打包概述installshield2013limitededitionMicrosoft Visual Studio 2013 Installer Projects选择哪种来打包? 笔记VS2013打包和VS2019打包的区别打包工程选择view打包工程中单击工程名称节点&#xff0c;就可以在属性框中看到要改的属性(e.g. 默认是x86, 要…

全面分析找不到msvcr120.dll,无法继续执行程序问题

在计算机使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中“找不到msvcr120.dll”就是常见的一种。那么&#xff0c;找不到msvcr120.dll是什么意思呢&#xff1f; 一&#xff0c;msvcr120.dll文件概述 msvcr120.dll 是 Microsoft Visual C Redistributable …

AI大模型在广告领域的应用

深度对谈&#xff1a;广告创意领域中AIGC的应用_生成式 AI_Tina_InfoQ精选文章

多家加密数字交易所“弃牌”!香港虚拟资产正式进入监管新时代

一、华夏时报的采访内容 6月1日&#xff0c;香港证监会披露HKbitEX、PantherTrade、Accumulus等共11家平台&#xff0c;被当作获发牌的申请者&#xff08;deemed-to-be-licensed&#xff09;。知名的离岸交易所中只有Cryptocom获得批准&#xff0c;此前OKX、HTX、Bybit、Gate …

数据结构与算法笔记:基础篇 - 散列表(下):为什么散列表和链表经常会一起使用?

概述 已经学习了这么多章节了&#xff0c;你有没有发现&#xff0c;两种数据结构&#xff0c;散列表和链表&#xff0c;经常会被放在一起使用。你还记得&#xff0c;前面的章节中都有哪些地方讲到散列表和链表的组合使用吗&#xff1f; 在链表那一节&#xff0c;我讲到如何用…

AI Agentic Design Patterns with AutoGen(下):工具使用、代码编写、多代理群聊

文章目录 四、工具使用: 国际象棋游戏4.1 准备工具4.2 创建两个棋手代理和棋盘代理4.3 注册工具到代理4.4 创建对话流程&#xff0c;开始对话4.5 增加趣味性&#xff1a;加入闲聊 五、代码编写&#xff1a;财务分析5.1导入和配置代码执行器5.2 创建 代码执行/编写 代理5.3 定义…

【Golang】探索进程资源监控的精妙细节:利用Gopsutil/Process实现高级进程性能和资源信息监控

【Golang】探索进程资源监控的精妙细节&#xff1a;利用Gopsutil/Process实现高级进程性能和资源信息监控 大家好 我是寸铁&#x1f44a; 总结了一篇【Golang】探索进程资源监控的精妙细节&#xff1a;利用Gopsutil/Process实现高级进程性能和资源信息监控的文章✨ 喜欢的小伙伴…

dp+矩阵快速幂,CF551D. GukiZ and Binary Operations

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 551D - Codeforces 二、解题报告 1、思路分析 今天LATEX怎么不好用了 数据量很大&#xff0c;应该要用O(log) 或者 O(1)的的算法 按位考虑进行dp&#xff0c;计算k每位的方案数累乘即可&#x…

全光网络与传统网络架构的对比分析

随着信息技术的飞速发展&#xff0c;网络已经成为我们日常生活中不可或缺的一部分。在这个信息爆炸的时代&#xff0c;全光网络和传统网络架构作为两种主流的网络技术&#xff0c;各有其特点和适用范围。本文将对这两种网络架构进行详细的对比分析&#xff0c;帮助读者更好地了…

【sklearn】【逻辑回归1】

学习笔记来自&#xff1a; 所用的库和版本大家参考&#xff1a; Python 3.7.1Scikit-learn 0.20.1 Numpy 1.15.4, Pandas 0.23.4, Matplotlib 3.0.2, SciPy 1.1.0 1 概述 1.1 名为“回归”的分类器 在过去的四周中&#xff0c;我们接触了不少带“回归”二字的算法&#xf…

K-BAT01,K-CU01和利时卡件

K-BAT01,K-CU01和利时卡件。现场控制站下装与在线调试。9二、组态流程&#xff1a;操作站组态控制站组态新建工程控制站用户组态历史站组态下装现场控制站下装历史站下装操作员站10三、组态详解&#xff1a;1、K-BAT01,K-CU01和利时卡件。新建工程&#xff1a;打开工程总控&…

深度学习Week16——数据增强

文章目录 深度学习Week16——数据增强 一、前言 二、我的环境 三、前期工作 1、配置环境 2、导入数据 2.1 加载数据 2.2 配置数据集 2.3 数据可视化 四、数据增强 五、增强方式 1、将其嵌入model中 2、在Dataset数据集中进行数据增强 六、训练模型 七、自定义增强函数 一、前言…

什么时候用C而不用C++?

做接口只用C&#xff0c;千万别要C。C是编译器敏感的&#xff0c;一旦导出的接口里有 std::string这些东西&#xff0c;以及类&#xff0c;注定了要为各个编译器的各个版本准备独立的库。 刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C的资料从专业入门…

[AIGC] SpringBoot的自动配置解析

下面是一篇关于SpringBoot自动配置的文章&#xff0c;里面包含了一个简单的示例来解释自动配置的原理。 SpringBoot的自动配置解析 Spring Boot是Spring的一个子项目&#xff0c;用于快速开发应用程序。它主要是简化新Spring应用的初始建立以及开发过程。其中&#xff0c;自动…