Prometheus+Alertmanager+邮件告警

news2024/11/15 18:02:49

参考node_exporter-CSDN博客,球球不要断更!!!!

大致流程

1.部署promethus

可以写一个自定义的 systemd 服务启动文档,详情见自定义的 systemd 服务启动方式-CSDN博客

[root@localhost system]# sudo tee /etc/systemd/system/prometheus.service > /dev/null <<EOF
[Unit]
Description=Prometheus
# 确保 Prometheus 在网络服务启动后再启动
After=network.target
[Service]
# 以 root 用户身份运行 Prometheus 服务
User=root
Group=root
# 服务类型为 simple,表示服务的主要进程是 ExecStart 中指定的进程
Type=simple
# 启动 Prometheus,指定配置文件和数据存储路径
ExecStart=/opt/prometheus/prometheus \\
    --config.file=/opt/prometheus/prometheus.yml \\
    --storage.tsdb.path=/opt/prometheus/data
# 重新加载配置时发送 HUP 信号给主进程
ExecReload=/bin/kill -HUP \$MAINPID
# 服务失败时自动重启
Restart=on-failure
[Install]
# 在 multi-user.target 启动时启动此服务
WantedBy=multi-user.target
EOF

加载配置文件

[root@localhost system]# sudo systemctl daemon-reload
[root@localhost system]# systemctl start prometheus

2.安装alermanager后启动,配置邮件告警文件

vim /opt/alertmanager/alertmanager.yml

=====================================================================

global:
  resolve_timeout: 5m
  smtp_from: '15686346446@163.com' # 发件人,显示在邮件页面,显示是谁发的
  smtp_smarthost: 'smtp.163.com:465' # 邮箱服务器的POP3/SMTP 主机配置 smtp.163.com 或 
  smtp_auth_username: 'xuziwei' # 用户名,真实发件人
  smtp_auth_password: 'XCOKOJVEVXSKUYME' # 授权码
  smtp_require_tls: false
 
templates:                
  - /opt/alertmanager/tmpl/*.tmpl   #定义邮件模板的路径

 
# 设置路由规则,指定如何分组和发送警报
route:
  group_by: ['alertname']      # 根据警报名称进行分组,确保同一类型的警报被归为一组
  group_wait: 30s             # 当一个警报组内的警报发生后,等待 30 秒,以便将它们一起发送
  group_interval: 1m          # 每 5 分钟发送一次警报组
  repeat_interval: 1h         # 如果警报仍然处于活动状态,每小时重复发送一次
  receiver: 'email-notifications'  # 默认使用 'email-notifications' 接收者来发送警报通知
 
# 定义接收者配置,包括电子邮件通知设置
receivers:
# 优先使用这里的配置规则,如果没有则去global里的设置
  - name: 'email-notifications'  # 接收者名称,用于路由规则中的指定
    email_configs:
      - to: '2228790268@qq.com'   # 收件人的电子邮件地址
        from: '15686346446@163.com' # 发件人的电子邮件地址
        smarthost: 'smtp.163.com:25'  # SMTP 服务器地址和端口
        auth_username: '15686346446@163.com'  # SMTP 服务器的用户名
        auth_password: 'XCOKOJVEVXSKUYME'    # SMTP 服务器的密码
        html: '{{ template "email.html" . }}'  # 使用指定的邮件模板
 
# 定义抑制规则,用于控制警报的触发和抑制
inhibit_rules:
 - source_match:
     severity: 'critical'  # 匹配来自严重性为 'critical' 的警报
   target_match:
     severity: 'warning'  # 匹配目标严重性为 'warning' 的警报
   equal: ['alertname', 'dev', 'instance']  # 仅当警报名称、标签 'dev' 和 'instance' 均匹配时抑制

=====================================================================

3.创建邮件模板的目录存放 --直接粘贴即可

mkdir /opt/alertmanager/tmpl/

创建邮件模版

vim /opt/alertmanager/tmpl/email.tmpl

4.重启alertmanager

[root@localhost alertmanager]# pkill alertmanager
[root@localhost alertmanager]# nohup ./alertmanager &

5.设置监控项

[root@localhost alertmanager]# cd /opt/prometheus
# 创建规则文件存放目录
[root@localhost prometheus]# mkdir ./rules/
[root@localhost prometheus]# vim prometheus.yml    --修改配置文件
rule_files:
  - "/opt/prometheus/rules/disk.yml"

6.配置监控项

[root@localhost prometheus]# vim ./rules/disk.yml

比如cpu告警等等规则

=====================================================================

groups:
  - name: 'disk-usage-alerts'
    # 这是告警组的名称
    rules:
      - alert: DiskSpaceUsageHigh
        # 这是告警规则的名称
        expr: 100 - (node_filesystem_avail_bytes / node_filesystem_size_bytes * 100) > 50
        # 告警表达式检查磁盘使用率是否超过50%
        for: 5m
        # 如果条件持续5分钟,则触发告警
        labels:
          severity: 'warning'
          # 为告警添加标签,指定严重性为“警告”
        annotations:
          summary: '磁盘使用率过高 {{ $labels.instance }}'
          # 摘要注释,描述告警的内容,包括实例名称

=====================================================================

7.重启prometheus

systemctl stop prometheus

systemctl start prometheus

8.访问ip+9090

9.注意时间同步

systemctl restart chronyd

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

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

相关文章

python-局部求和(赛氪OJ)

[题目描述] 输入 2020 个整数&#xff0c;输出其中能被数组中其它元素整除的那些数组元素。输入格式&#xff1a; 输入一行&#xff0c;输入 2020 个整数&#xff0c;中间用空格隔开。输出格式&#xff1a; 输出能被数组中其他元素整除的元素&#xff0c;每行输出一个。样例输入…

Sqlserver递归生成日期范围

文章目录 Sqlserver递归生成日期范围业务背景SQL脚本执行结果 Sqlserver递归生成日期范围 业务背景 有时候需要按天生成数据&#xff0c;需要用到日期表进行循环处理 SQL脚本 ;WITH DateRange AS ( SELECT 1 AS Seq, 2024-01-01 AS DateValue UNION ALL SELECT Seq1 Seq, C…

苹果手机升级iOS18测试版本后使用体验不好?怎么降级?

近期苹果发布了诸多的iOS18版本给用户提前尝鲜测试&#xff0c;许多果粉们都迫不及待的选择了升级&#xff0c;但是有不少的果粉升级时没有考虑到设备适配性问题&#xff0c;导致升级之后手机变得有些卡顿&#xff0c;使用体验不好时&#xff0c;想要降级回到正式的版本&#x…

双向链表知识点(附源代码)

双向链表的特点 带头链表⾥的头结点&#xff0c;实际为“哨兵位”&#xff0c;哨兵位结点不存储任何有效元素&#xff0c;只是站在这⾥“放哨的” 例图解析 双向链表与单链表的区别 双向链表&#xff1a;除了存储的数据外还有两个指针&#xff0c;具有头节点&#xff0c;还有…

【秋招笔试】24-08-01-用友-秋招笔试题

🍭 大家好这里是清隆Coding ,一枚热爱算法的程序员 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 ⌚️ 01.物流网络安全节点 问题描述 L…

数据结构与算法(Java)--栈(Linked_Stack)

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;Java SE关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 线性表&#xff1a;栈 栈的定义 栈&#xff08;Stack&#xff09;是一种特殊的…

谷歌开源最强端侧小模型:2B参数越级跑赢GPT-3.5-Turbo,苹果15Pro运行飞快

谷歌也来卷「小」模型了&#xff0c;一出手就是王炸&#xff0c;胜过了比自己参数多得多的GPT-3.5、Mixtral竞品模型。 点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com 今年 6 月底&#xff0c;谷歌开源了 9B、27B 版 Gemma 2 模型系列&#xff0c;并且自亮…

嵌入式C++、MQTT、React、Spring Boot和MongoDB:物联网工厂检测系统设计思路(代码示例)

项目概述 随着工业4.0和物联网&#xff08;IoT&#xff09;技术的发展&#xff0c;越来越多的工厂借助智能化手段进行生产数据的采集和实时监控。本项目设计并实现一个物联网工厂检测系统&#xff0c;通过传感器采集关键参数&#xff0c;并利用云平台进行数据存储和分析&#…

Python 教程(九):内置模块与第三方模块

目录 专栏列表前言1. 模块基础目录结构示例模块 mymodule.py 2. 导入模块3. 从模块中导入特定内容3.1 from … import *总结&#xff1a; 4. 包示例包结构moduleone.pymoduletwo.py__init__.py导入包 5. 模块搜索路径6. 内置模块示例 7. 第三方库8. __name__ 属性9. 初始化和清…

开源小项目-基于STM32F103的频率测量实现 V1.1(ADC+TIM+DMA+FFT)

目录 一、快速傅里叶变换&#xff08;FFT&#xff09; 1.1 工作原理 1.2 应用 1.3 FFT官方支持库 二、使用外设简介 2.1 ADC外设 2.2 TIM外设 3.3 DMA外设 三、代码设计过程 3.1 初始化 3.2 DMA中断数据处理 3.3 其他自定义函数 1. 计算信号频率 2. 计算信号幅度…

G-EVAL: NLG Evaluation using GPT-4 with Better Human Alignment

文章目录 题目摘要方法实验分析相关工作结论 题目 G-EVAL:使用GPT-4进行NLG评估&#xff0c;具有更好的人类一致 论文地址&#xff1a;https://arxiv.org/abs/2303.16634 项目地址&#xff1a;https://github.com/nlpyang/geval 摘要 自然语言生成(NLG)系统生成的文本质量难以…

网站开发涉及到的技术内容介绍——前端

一、网站开发涉及前后端交互模式 一般来说网站项目分为两种【前后端不分离、前后端分离】,其中前后端不分离的项目是(后端语言可以直接与前端的html等内容糅合在一起,后端语言可以操作数据进行动态渲染前端的html文件进行展示)。后端分离的项目是(后端语言不会直接对前端的…

c++| c++11左右值引用,完美转发,可变参数模板

c| c11的新特性 左&#xff0c;右值引用什么是左值&#xff0c;右值左值引用和右值引用右值引用解决什么问题呢&#xff1f;移动构造万能引用形式 完美转发格式 lambada表达式格式 可变参数模板可变参数模板实现打印不同类型emplace_push以list的emplace_back的实现举例 左&…

掌握 HTTP 请求的艺术:理解 cURL GET 语法

在 Web 开发和服务器通信领域&#xff0c;掌握 HTTP 请求对于寻求有效与 Web 服务和 API 交互的开发人员至关重要。在众多可用于发出 HTTP 请求的工具中&#xff0c;cURL 脱颖而出&#xff0c;成为全球开发人员信赖的强大且多功能的命令行工具。在这篇博文中&#xff0c;我们将…

MySQL分组查询有关知识总结

目录 4. 分组查询&#xff08;group by&#xff09; 4.1 概述 4.2 分组函数 4.2.1 单个使用 4.2.2 组合使用 4.2.3 注意&#xff01; 4.3 group by 4.3.1 单个字段 4.3.2 多个字段 4.3.3 提醒&#xff01; 4.4 having 4.5 分组查询演示 4. 分组查询&#xff08;…

海外仓怎么入局?货代还有发展的空间吗?

很多货代小伙伴可能都有一个疑惑&#xff1a;海外仓虽然火爆&#xff0c;但是怎么入局呢&#xff1f;显然&#xff0c;自建海外仓的试错代价太高了&#xff0c;成本高、选址难、管理起来更是一地鸡毛。既然无法自建&#xff0c;那转换赛道&#xff0c;管理别人的仓库&#xff0…

iOS面试之属性关键字(二):常见面试题

Q:ARC下&#xff0c;不显式指定任何属性关键字时&#xff0c;默认的关键字都有哪些&#xff1f; 对应基本数据类型默认关键字是:atomic,readwrite,assign 对于普通的 Objective-C 对象:atomic,readwrite,strong Q&#xff1a;atomic 修饰的属性是怎么样保存线程安全的&#x…

如何将本地下载的切片电影进行合成一个视频

合成后的时长1&#xff1a;41 没有合成前是50个电影切片 注明:电影切片不是真实的切片名称而是自定义从0-50的数字 import requests # with open("电影.m3u8","r") as f: # n0 # for line in f: # if line.startswith("#"): …

SpringBoot项目如何安装Selenium自动化(详解)

目录 一、打开intellij idea&#xff0c;创建Maven项目 二、添加依赖 三、在Test路径下创建自动化文件 3.1 项目结构 3.2 代码 四、运行自动化 前言&#xff1a; java版本最低要求为8。电脑至少已安装一种浏览器&#xff0c;如&#xff1a;Chrome&#xff08;推荐&#xff09;、…

十日Python项目——第五日(商品数据)

#前言&#xff1a; 在最近十天我会用Python做一个购物类项目&#xff0c;会用到DjangoMysqlRedisVue等。 今天是第五天&#xff0c;主要负责撰写响应具体的商品数据。若是有不懂大家可以先阅读我的前四篇博客以能够顺承。 若是大家基础有不懂的&#xff0c;小编前面已经关于…