当前位置: 首页 > article >正文

Prometheus AlertManager 企业微信告警系统

技术选型Prometheus AlertManager Go 中间件Prometheus本身不具备发送通知的能力其实是具有生成告警规则的能力的。可以说它更加专注于状态判定基于时间序列数据的逻辑运算而将状态管理分发、静默、抑制、去重解耦给了 AlertManager。在 Prometheus 生态之中 AlertManager 承担的这一角色除了简单的告警定义之外还有额外的层来添加告警摘要、通知速率限制、静默和告警依赖关系等功能。Prometheus 可以配置为定期向 AlertManager 实例发送告警状态信息然后由 AlertManager 实例负责分发相应的通知。 Prometheus 通过配置服务发现集成来配置为自动发现可用的 AlertManager 实例。我们先假设应用程序全部都正常运行在服务器上了。这里我们先来聊一下针对告警系统的配置部分。配置部分Prometheus 配置官方的prometheus配置文档中有基础的针对警报规则的配置。最核心的主要是两个模块# Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: [IP_ADDRESS:PORT] # Load rules once and periodically evaluate them according to the global evaluation_interval. rule_files: # - first_rules.yml # - second_rules.yml - rule_file_pathalerting: 的配置告诉 prometheus server 具体的警报该向哪里推送AlertingManager 具体的位置在什么地方。而 rule_files: 则配置了具体的警报产生规则。也就是说 prometheus server 根据规则和逻辑判断生成了这些告警随后会根据配置的地址将生成的这些告警推送给AlertingManager。一个示例的 example_rule.yaml 如下groups: - name: system-alerts interval: 30s rules: # 测试 - alert: Test Test expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{modeidle}[5m])) * 100) 0 for: 3s labels: severity: critical annotations: summary: 测试主机 {{ $labels.instance }} CPU 测试 description: 测试信息CPU 使用率已持续 5 分钟达到 {{ $value | printf \%.2f\ }}%请立即检查在这个示例配置文件中发生了如下的行为interval: prometheus 每隔 30s 执行一次查询语句expr。for: 待定状态Pending。如果CPU使用率超过了阈值必须持续满足 3s prometheus 才会正式把这个告警发送给 Alertmanager。一旦告警进入 Firing 状态 Prometheus 会在接下来的每个计算周期也就是 interval 30s都向 AlertingManager 推送一次告警的状态。具体的配置可以在官方文档中获取https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/AlertManager 配置AlertingManager处理由客户端应用程序也就是prometheus server发送的警报。它负责对警报进行去重、分组并将其路由到正确的接收集成非常强大的中间件功能这也是为什么我们会需要它。否则要进行路由我们就只能自己手搓代码了。此外它还负责警报的静默和抑制。我们主要会用到的几个模块如下route: // 路由策略 group_by: [alertname] // 具有相同alertname的告警会被打包成同一个通知发送 group_wait: 10s // 初次发送前的等待时间。当第一个告警触发时AlertManager会等待10s看看后续有没有同组的告警。如果有就会合并发送。 group_interval: 20s // 距离上一次发送之后如果又收到了新的告警加入该组等待多久再次发送 repeat_interval: 1m // 重复频率。如果某个告警一直没解决在发送时隔1分钟重新发送一次告警 receiver: web.hook // 默认的接收者 receivers: // 对接收者的配置。 - name: web.hook // 接收者的唯一标识哪个接收者 webhook_configs: // 使用webhook的方式进行推送通知给接收者 - url: http://127.0.0.1:6666/webhook // 推送到这个位置接口。我们会在这个位置部署一个中间件。 inhibit_rules: // 抑制规则 - source_matchers: [severitycritical] // 源警告 已存在的警告 target_matchers: [severitywarning] // 目标警告 待发送的警告 equal: [alertname, dev, instance] // 匹配条件 // 这一条警告的意思是如果存在了一个级别为critical的告警如果它的alertname\dev\instance与warning级别的告警完全一致那么这个warning告警就会被静音抑制不再发送。这一个示例的行为如下假设告警a,b,c在一个分组初次收到告警等待10s进行发送告警阶段收到组内新增告警等待20s进行发送持续未解决的旧告警每隔1m发送一次AlertManager 可以在运行时重新加载其配置。如果新配置格式不正确则更改将不会生效并且会记录错误。可以通过向SIGHUP进程发送消息或向/-/reload端点发送 HTTP POST 请求来触发配置重新加载。——Prometheus官方文档https://prometheus.io/docs/alerting/latest/configuration/数据周转流程目前可以得知情形如下。比如说有一台主机的CPU处理器持续高于80%的使用率prometheus server 每隔 30s 检查一次所有的告警配置一旦发现某条符合并满足观察的时间阈值以上随后prometheus 向 AlertManager 发送告警。AlertManager 收到了这条告警随后随后根据配置进行判断我是第一次收到这条告警吗还有别的告警吗这条告警一直在来吗种种条件判断之下随后 AlertManager 向 接收者 以json的数据格式发送可能合并后的告警信息。Go 中间件中间件主要负责获取从 AlertManager 处的告警数据也就是位于 PORT:/文件位置/注册该位置的路由进行数据上的获取随后进行数据结构上的处理渲染成 wecom 中可读取的数据最终将数据源源不断地转发到HOOK_KEY的资源链接上。权限管理你要写风就不能只写风。你要写柳条摆动写纸鸢翻飞写行人缩脖写湖面泛起涟漪。新增系统用户 Prometheussudo useradd \ --system \ --shell /bin/false \ --no-create-home \ prometheus sudo usermod -aG adm prometheus将解压出来的 node_exporter 的二进制可执行文件放在 /usr/local/bin/下方并修改权限 保证其他用户只可执行。当看到这个即说明部署成功指标都在 /metrics 中距离 prometheus 部署 全部成功只差临门一脚。

相关文章:

Prometheus AlertManager 企业微信告警系统

技术选型: Prometheus AlertManager Go 中间件 Prometheus本身不具备发送通知的能力,其实是具有生成告警规则的能力的。可以说,它更加专注于状态判定(基于时间序列数据的逻辑运算),而将状态管理&#x…...

Ref-Extractor:从Word文档提取Zotero/Mendeley参考文献的专业工具

Ref-Extractor:从Word文档提取Zotero/Mendeley参考文献的专业工具 【免费下载链接】ref-extractor Reference Extractor - Extract Zotero/Mendeley references from Microsoft Word files 项目地址: https://gitcode.com/gh_mirrors/re/ref-extractor 当研究…...

RexUniNLU在嵌入式Linux系统日志分析中的实践

RexUniNLU在嵌入式Linux系统日志分析中的实践 1. 引言 嵌入式设备每天产生海量系统日志,从硬件状态监控到应用运行记录,这些日志数据蕴含着设备健康状况的关键信息。传统的关键词匹配和正则表达式方法在面对复杂多变的日志模式时显得力不从心&#xff…...

硬盘开盘后能不能保修?

目录 一、什么是硬盘开盘?为什么它会影响保修? 二、开盘后还能保修吗?答案是:可以,但有前提 三、为什么厂商会接受开盘后的保修申请? 四、实际操作中需要注意什么? 五、写在最后 一、什么是…...

造相 Z-Image 医疗科普:人体解剖图/中药图谱/健康知识插画生成

造相 Z-Image 医疗科普:人体解剖图/中药图谱/健康知识插画生成 你是不是也遇到过这样的烦恼?想给一篇关于心脏结构的科普文章配张图,网上找的要么版权不明,要么细节不够清晰;想制作一份中药草药的介绍手册&#xff0c…...

嵌入式学习day15

指针部分概总: C语言指针核心笔记 一、指针基础 1. 指针的本质 指针是存储内存地址的变量,其核心作用是间接操作内存空间(解决函数内无法修改外部变量、动态管理内存等问题)。 2. 指针的定义语法 // 格式:数据类型 * 指…...

利用Batch Normalization优化VAE训练:突破后验坍塌的KL散度困境

1. 为什么VAE训练中会出现后验坍塌? 我第一次用LSTM作为VAE的解码器时,遇到了一个诡异现象:模型生成的文本看似合理,但隐变量z完全失去了意义。后来才明白这就是典型的后验坍塌(posterior collapse)。简单来…...

CRUISE纯电动车仿真模型与Simulink DLL联合仿真:电制动优先能量回收策略实现指南...

CRUISE纯电动车仿真模型,simulink DLL联合仿真,实现电制动优先能量回收策略。 关于模型:策略是用64位软件编译的,如果模型运行不了请将软件切换成64位。 切换位置在启动界面platform,或者进入软件后点option→ layout。…...

基于Doris构建实时数仓:架构设计与最佳实践

基于Doris构建实时数仓:架构设计与最佳实践 关键词:实时数仓、Doris数据库、MPP架构、实时数据摄入、查询优化 摘要:本文从电商大促场景下的实时数据需求出发,系统讲解基于Doris构建实时数仓的核心逻辑。通过“故事引入-概念拆解-…...

Phi-4-reasoning-vision-15B零基础上手:从打开网页到产出专业分析报告

Phi-4-reasoning-vision-15B零基础上手:从打开网页到产出专业分析报告 1. 引言:你的视觉分析新助手 想象一下,你拿到一份满是数据和图表的PDF报告,或者一张复杂的软件界面截图,需要快速提炼出关键信息。传统方法可能…...

WarcraftHelper:让经典魔兽争霸III重获新生的现代适配工具

WarcraftHelper:让经典魔兽争霸III重获新生的现代适配工具 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 问题发现:当经典遭遇…...

【新手必看】编译知识从入门到避坑,一文吃透流程+报错排查,学完直接落地

文章目录第一章 编译与解释的区别,别再混淆了1.1 编译型语言:一次性翻译,运行更高效1.2 解释型语言:逐行翻译,调试更灵活第二章 编译完整流程,4步从代码到可执行文件2.1 预处理:清理代码&#x…...

5个步骤掌握多智能体协作:SMAC框架从环境搭建到实战应用

5个步骤掌握多智能体协作:SMAC框架从环境搭建到实战应用 【免费下载链接】smac SMAC: The StarCraft Multi-Agent Challenge 项目地址: https://gitcode.com/gh_mirrors/smac/smac 多智能体强化学习框架已成为人工智能研究的重要方向,而SMAC&…...

高压漏电起痕测试仪配置维护全攻略

高电压漏电起痕耐电痕化测试仪交直流漏电起痕试验装置以下是进行该试验时对材料(试样)的详细要求,主要依据国际标准IEC60587和与之对应的国家标准GB/T6553《严酷环境条件下使用的电气绝缘材料评定耐电痕化和蚀损的试验方法》。核心要求概述该…...

终极实战指南:UWB超宽带室内定位系统如何实现厘米级精度与商业价值

终极实战指南:UWB超宽带室内定位系统如何实现厘米级精度与商业价值 【免费下载链接】UWB-Indoor-Localization_Arduino Open source Indoor localization using Arduino and ESP32_UWB tags anchors 项目地址: https://gitcode.com/gh_mirrors/uw/UWB-Indoor-Loc…...

BiRefNet高分辨率图像分割实战指南:从环境搭建到性能优化

BiRefNet高分辨率图像分割实战指南:从环境搭建到性能优化 【免费下载链接】BiRefNet [arXiv24] Bilateral Reference for High-Resolution Dichotomous Image Segmentation 项目地址: https://gitcode.com/gh_mirrors/bi/BiRefNet BiRefNet作为专注于高分辨率…...

YOLOv8鹰眼目标检测避坑:统计看板数据不准怎么办?

YOLOv8鹰眼目标检测避坑:统计看板数据不准怎么办? 1. 问题现象与影响分析 当使用"鹰眼目标检测 - YOLOv8"镜像进行物体统计时,您可能会遇到以下典型问题: 数量统计偏差:实际画面中有10个人,但…...

Java多线程:从基础到高级应用

Java 多线程:从基础到高级应用(2025–2026 生产视角) Java 多线程在过去 20 年经历了从“平台线程 线程池”到 Project Loom(虚拟线程 结构化并发 Scoped Values) 的巨大范式转变。 2025 年底到 2026 年&#xff0…...

Qwen3-32B-Chat百度技术布道者计划:认证讲师体系与标准化课件包开放下载

Qwen3-32B-Chat百度技术布道者计划:认证讲师体系与标准化课件包开放下载 1. 镜像概述与优化特性 Qwen3-32B-Chat私有部署镜像专为RTX 4090D 24GB显存显卡深度优化,基于CUDA 12.4和驱动550.90.07构建,提供开箱即用的大模型推理环境。该镜像已…...

CYBER-VISION效果展示:YOLO算法精准识别障碍物案例

CYBER-VISION效果展示:YOLO算法精准识别障碍物案例 1. 当AI视觉成为视障者的"第二双眼睛" 想象一下,当你走在繁忙的街道上,眼前突然变得模糊不清——路边的消防栓、随意停放的共享单车、突然窜出的电动车,都可能成为危…...

AI审核驱动的IACheck:海洋环境监测报告如何在多源数据中实现高质量稳定输出

在全球生态保护体系中,海洋环境监测占据着越来越重要的位置。从近岸水域到深海区域,从常规水质指标到生态系统变化,监测范围不断扩大,数据维度持续增加。在这一背景下,监测报告不仅承担着记录数据的功能,更…...

收藏备用|2026大模型学习全攻略(小白+程序员专属,从入门到精通无坑路线)

本文专为CSDN平台零基础小白、在岗程序员量身打造,核心分享“从实践到理论再到复盘实践”的科学大模型学习体系,覆盖Prompt工程、AI编程提效、API调用落地、RAG检索增强、Agent智能代理开发全流程,详解模型微调核心技术,同步附上2…...

毕业论文格式自动化:Paperxie 4000 + 院校模板,重构学术排版新效率

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippthttps://www.paperxie.cn/format/typesettinghttps://www.paperxie.cn/format/typesetting 一、学术排版的效率革命:从手动 “磨格式” 到 AI “一键成稿” 在毕业论文的全流程中&#xf…...

终极突破:TimeMixer如何用可分解多尺度混合重新定义时间序列预测 [特殊字符]

终极突破:TimeMixer如何用可分解多尺度混合重新定义时间序列预测 🚀 【免费下载链接】TimeMixer [ICLR 2024] Official implementation of "TimeMixer: Decomposable Multiscale Mixing for Time Series Forecasting" 项目地址: https://git…...

Argos Translate颠覆解析:3个核心价值实战指南

Argos Translate颠覆解析:3个核心价值实战指南 【免费下载链接】argos-translate Open-source offline translation library written in Python 项目地址: https://gitcode.com/GitHub_Trending/ar/argos-translate 开篇:重新定义语言障碍的三大痛…...

Qwen3.5-9B一文详解:9B参数开源镜像+Gradio界面完整部署流程

Qwen3.5-9B一文详解:9B参数开源镜像Gradio界面完整部署流程 1. 引言 Qwen3.5-9B作为新一代开源大模型,凭借其9B参数的强大能力和创新架构,正在成为开发者社区的热门选择。本文将带您从零开始,完整部署这个集成了Gradio界面的强大…...

CosyVoice3问题解决手册:音频生成失败、发音不准怎么办?

CosyVoice3问题解决手册:音频生成失败、发音不准怎么办? 1. 常见问题快速诊断 遇到音频生成问题,建议按照以下步骤快速排查: 检查音频样本:是否符合3-15秒、16kHz以上的要求查看文本长度:是否超过200字符…...

Stable-Diffusion-3.5-FP8入门指南:3步完成环境配置,轻松生成高清图片

Stable-Diffusion-3.5-FP8入门指南:3步完成环境配置,轻松生成高清图片 想体验最新最强的AI绘画模型,但又担心自己的电脑配置不够?Stable Diffusion 3.5(SD 3.5)的发布确实带来了令人惊艳的画质&#xff0c…...

开源工具Synology HDD db:突破群晖NAS硬件兼容性限制实现存储自由选择指南

开源工具Synology HDD db:突破群晖NAS硬件兼容性限制实现存储自由选择指南 【免费下载链接】Synology_HDD_db 项目地址: https://gitcode.com/GitHub_Trending/sy/Synology_HDD_db 您是否曾遇到群晖NAS无法识别第三方硬盘的问题?是否因官方兼容性…...

ESP32 TWAI/CAN驱动深度解析与Arduino工程实践

1. ESP32-CAN 接口技术深度解析与工程实践指南ESP32 是乐鑫(Espressif)推出的高性能双核 Wi-Fi 蓝牙 SoC,广泛应用于工业控制、智能传感和物联网边缘节点。尽管其官方 SDK(ESP-IDF)自 v4.0 起已原生支持 CAN 总线协议…...