Prometheus邮件告警

news2024/10/6 4:02:08

一.  部署Alertmanager:

        1.  解压Alertmanager压缩包:

[root@node5 ~]# tar xf alertmanager-0.24.0.linux-amd64.tar.gz -C /usr/local/

        2.  为解压后的文件做软连接:

[root@node5 ~]# ln -sv /usr/local/alertmanager-0.24.0.linux-amd64/ /usr/local/alertmanager

        3.  配置Alertmanager配置文件:

[root@node5 ~]# cd /usr/local/alertmanager

## 备份原本配置文件
[root@node5 alertmanager]# cp alertmanager.yml{,.bak}

[root@node5 alertmanager]# vim alertmanager.yml

global:  ##全局配置
  resolve_timeout: 5m  
  smtp_smarthost: 'smtp.163.com:456'
  smtp_from: 'xxq20010723@163.com'  ##发送告警的邮箱
  smtp_auth_username: 'xxq20010723@163.com'  ##邮箱的用户名
  smtp_auth_password: 'KEZSZMNTQZXBQXRU'  ##邮箱的授权码,并非邮箱的登陆密码
  smtp_require_tls: false

route:  ##配置报警分发策略
  group_by: ['alertname']  ##分组标签
  group_wait: 10s  ##告警等待时间
  group_interval: 10s  ##两组告警的间隔时间
  repeat_interval: 1m  ##重复告警的间隔时间
  receiver: 'mail'  ##默认接收者
  routes:  ##指定哪些组可以接受消息
    - receiver: mail

receivers:  ##配置接收者信息
  - name: 'mail'
    email_configs:
      - to: 'xxq20010723@163.com'  ##接收报警邮件的邮箱

        4.  测试配置文件语法是否正确:

[root@node5 alertmanager]# ./amtool check-config alertmanager.yml

Checking 'alertmanager.yml'  SUCCESS
Found:
 - global config
 - route
 - 0 inhibit rules
 - 1 receivers
 - 0 templates

二.  关联Prometheus和Alertmanager:

        1.  修改Prometheus.yml文件中的alerting配置项及rule_files配置项:

[root@node5 ~]# vim /usr/local/prometheus/prometheus.yml

alerting:
  alertmanagers:
    - static_configs:
        - targets:
            - localhost:9093

rule_files:  ##告警规则的文件
  - "rules.yml"

        2.  编写告警规则文件" rules.yml ":

[root@node5 ~]# vim /usr/local/prometheus/rules.yml

groups:
  - name: mem_rule
    rules:  ##告警规则
      - alert: '内存报警'  ##告警规则的名称
        expr: (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes )) / node_memory_MemTotal_bytes * 100 > 1  
##基于PromQL表达式告警触发条件,用于计算是否有时间序列满足该条件
        for: 30s  ##评估等待时间,可选参数。用于表示只有当触发条件持续一段时间后才发送告警
        labels:  ##自定义标签,允许用户指定要附加到告警上的一组附加标签
          severity: warning
        annotations:  ##用于指定一组附加信息
          summary: "服务名:{{$labels.altername}} 内存报警"  ##告警的摘要信息
          description: "{{ $labels.altername }} 内存资源利用率大于 10%"  ##告警的详细信息
          value: "{{ $value }}"  ##表达式计算后的值

        3.  重启prometheus服务:

[root@node5 ~]# systemctl restart prometheus.service

三.  配置Alertmanager服务启动文件:

        1.  编写服务启动文件:

[root@node5 ~]# vim /usr/lib/systemd/system/alertmanager.service

[Unit]
Description=alertmanager
Documentation=https://github.com/prometheus/alertmanager
After=network.target

[Service]
Type=simple
User=prometheus
WorkingDirectory=/usr/local/alertmanager
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --storage.path=/usr/local/alertmanager/data --log.level=debug --log.format=json
Restart=on-failure

[Install]
WantedBy=multi-user.target

        2.  创建alertmanager的数据目录:

[root@node5 ~]# mkdir -p /usr/local/altermanager/data

        3.  修改目录属主,属组:

[root@node5 ~]# chown -R prometheus.prometheus /usr/local/alertmanager/*

         4.  启动服务:

[root@node5 ~]# systemctl daemon-reload

[root@node5 ~]# systemctl enable --now alertmanager.service

        5.  alertmanager服务默认端口是9093,查看端口是否监听:

[root@slave2 ~]# ss -lntup | grep 9093
tcp    LISTEN     0      4096   [::]:9093     [::]:*    users:(("alertmanager",pid=9770,fd=8))

        6.  访问alertmanager:

http://192.168.188.115:9093

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

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

相关文章

SSM整合(三)

redis之简单使用 1.准备工作 1.1 在resource资源文件夹下面创建redis.properties文件,并填写如下内容 #连接端口 redis.port6379 #连接地址 redis.host127.0.0.1 #超时时间:单位ms redis.timeout3000 #授权密码 redis.password #最大连接数:能够同时建…

GUI编程--PyQt5--QLineEdit

文章目录键盘文本输入框文本占位符密码显示与隐藏自动补全输入限制掩码字符光标移动设置文本区域常用编辑功能输入控件,用于捕获用户的信息键盘文本输入框 QLineEdit, 单行,纯文本输入框 # 实例化 文本输入框 le QLineEdit("默认值", windo…

Material Design之CoordinatorLayout 与AppbarLayout与CollapsingToolbarLayout

Material Design 之 CoordinatorLayout 第一次接触CoordinatorLayout 你可能有这些疑问,CoordinatorLayout 到底是个什么玩意儿呢?它到底能帮我们做什么?我们要了解它,肯定是先看官方文档了。文档的第一句话就非常醒目&#xff1a…

高职网络系统管理比赛实例

同一交换机不同端口配置不同vlan,实现同一交换机内不同业务部门隔离。 在路由器中配置斜面的内容 1 输入enableRuijie>enable 2 第一次使用该交换机时,需要设置密码,然后再次确认密码 Please Set the password:*** Please check the pass…

掌握这10个Pandas函数,助你彻底了解数据集

10个帮助你完全理解数据集的Pandas 函数 长按关注《Python学研大本营》,加入读者群,分享更多精彩 扫码关注《Python学研大本营》,加入读者群,分享更多精彩 Pandas是用于探索性数据分析 (EDA)的最佳 Python 模块。 许多初级数据科…

如何在liunx下实现一个简单的程序?

目录:安装nano写代码保存退出查看文件内容生成可执行程序控制台输出你的代码博后小知识(gcc -g -o -c分别是什么意思?)安装nano [rootVM-8-11-centos ~]# yum install -y nano 写代码 [rootVM-8-11-centos ~]# nano no_die.c 保存…

向量加权平均算法附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【C++学习第八讲】简单变量(二)

目录:简单变量(二)一、无符号类型二、选择整型类型三、 char类型:字符和小整数一、无符号类型 前面介绍的4种整型都有一种不能存储负数值的无符号变体,其优点是可以增大变量能够存储的最大值。 例如,如果…

软件测试---

一 : 主要内容 二 : 什么是软件测试 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程.上面这是官话 . 在我们日常生活中 , 就有许多测试的行为 , 比如地铁站的金属检测仪 , 用于检测旅客…

深度学习——损失函数推导过程(三个方面诠释损失函数的由来意义)

三个维度诠释损失函数 我们在学习机器学习的过程中,通常利用损失函数来衡量模型所做出的预测离真实值之间的偏离程度。 损失函数大致分为3类方法 最小二乘法极大似然估计法交叉熵 1.最小二乘法 这个方法是最显而易懂的,假设x是真实值,y是…

【PyTorch】Neural Network 神经网络

文章目录四、Neural Network 神经网络1、Containers - Module2、Convolution Layers - functional.conv2d2.1 stride2.2 padding3、Convolution Layers - Conv2d3.1 in_channels out_channels4、Pooling layers - MaxPool2d4.1 ceil_mode4.2 TensorBoard5、Non-linear Activati…

Eclipse启动SpringBoot无法读取application.properties或者application.yml文件内容

原因 eclipse配置源代码excludes过滤掉了application.properties或application.yml造成的 解决 2.1 右键项目,选Build Path --> Configure Build Path 2.2 找到 Source --> resources --> Excluded,点击Edit 2.3 点击Edit 2.4 将**改成Non…

【Java八股文总结】之多线程

文章目录Java多线程一、线程1、什么是线程?什么是进程?二者的区别1、给线程起别名的3种方式2、this关键字3、守护线程和用户线程4、并发和并行的区别?5、线程间通信的方式2、synchronized关键字补充:snchronized底层实现原理3、vo…

如何用FMEA方法排除架构隐患

FMEA介绍 定义 FMEA(Failure mode and effects analysis,故障模式与影响分析)又称为失效模式与后果分析、失效模式与效应分析、故障模式与后果分析等,本文采用“故障模式与影响分析” 历史 FMEA 最早是在美国军方开始应用的&a…

2022-11-20-使用BeatuifulSoup进行页面内容的获取

一、什么是DOM树 DOM树是一种结构,树是由DOM元素和属性节点组成的,DOM的本质是把html结构化成js可识别的树模型,有了树模型,就有了层级结构,层级结构是指的是元素和元素之间的关系父子、兄弟。 实例: 标题…

Java语法之多态

上次给大家分享了Java的继承,今天小编给大家分享面向对象三大特性的第三大特性,也就是多态,fighting~~ 目录 🎈一. 多态 🎈1.1多态的概念 🎈1.2多态的实现条件 🎈1.3向上转型和向下转型 &a…

HDFS 的 shell操作

文章目录前言一、基本语法二、创建目录三、上传moveFromLocal-copyFromLocal-put-appendToFile四、下载-copyToLocal-get五、HDFS直接操作-ls-cat-chgrp、-chmod、-chown-mkdir-cp-mv-tail-rmrm -r-du-setrep前言 HDFS的shell操作很多跟linux的shell语法是比较相近&#xff0c…

Python学习基础笔记八——字典

字典: 1)字典中的元素是通过键来存储的,而不是通过偏移来存取的。字典是唯一内置的映射类型(键映射到值的对象) 2)是无序集合; 3)字典是作为散列表(支持快速检索的数据…

html网页设计期末大作业_网页设计平时作业(诗词网页 4页)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 茶文化网站 | 中华传统文化题材 | 京剧文化水墨风书画 | 中国民间年画文化艺术网站 | 等网站的设计与制作 | HTML期末大学生网页设计作业,…

39-Docker-部署Jenkins

部署Jenkins前言部署Jenkins1. 下载镜像2. 创建挂载目录3. 创建并启动Jenkins容器使用Jenkins1. 访问Jenkins2. 输入密码3. 配置Jenkins前言 本篇来学习使用Jenkins镜像部署Jenkins 部署Jenkins 1. 下载镜像 docker pull jenkins/jenkins2. 创建挂载目录 # 创建挂载目录 m…