prometheus告警

alter 告警

下载解压安装

wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz
tar -zxvf alertmanager-0.26.0.linux-amd64.tar.gz -C /usr/local
mv alertmanager-0.26.0.linux-amd64 alertmanager

配置起启动服务

cat > /lib/systemd/system/alertmanager.service <<EOF
[Unit]
Description=mysqld_exporter
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/exporter/mysqld_exporter --config.my-cnf=/usr/local/exporter/config.my-cnf --web.config.file=/usr/local/exporter/webconf.yml
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF

启动服务

systemctl daemon-reload
systemctl enable --now alertmanager
systemctl status alertmanager

prometheus配置

prometheus.yml(缺省配置打开即可)

# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# 打开下面这个配置- alertmanager:9093
rule_files:
# 打开下面这个配置- "first_rules.yml"

将主机名增加到增加hosts文件,或者修改为对应的主机名或者IP地址

增加rules ./rules/alarm_rule.yml

  - alert: 服务告警expr: up == 0for: 30slabels:severity: criticalannotations:instance: "{{ $labels.instance }}"decriptions: "{{ $labels.job }} 服务已关闭 "

重载配置 curl -X POST http://localhost:9090/-/reload -u admin:123456

已经可以看到告警信息

image-20240220093324979

报警状态State分3种:

  • inactive:没有异常。
  • pending:已触发阈值,但未满足告警持续时间(即 rule 中的 for 字段)。
  • firing:已触发阈值且满足条件并发送至 alertmanager。

image-20240220094159190

配置邮箱通知

https://prometheus.io/docs/alerting/latest/configuration/

https://blog.51cto.com/u_14205795/4561320

https://blog.51cto.com/u_10874766/2523351

global:smtp_from: '790079600@qq.com'smtp_smarthost: 'smtp.qq.com:465'               smtp_auth_username: '790079600@qq.com'smtp_auth_password: 'xxx'smtp_require_tls: falsesmtp_hello: 'qq.com'
route:group_by: ['alertname']group_wait: 30sgroup_interval: 5mrepeat_interval: 5mreceiver: 'email'
receivers:- name: 'email'email_configs:- to: '790079600@qq.com'send_resolved: true
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

配置第三方通知

webhook1

安装

wget https://github.com/Rainbowhhy/alertmanager-webhook/releases/download/v1.0/alertmanager-webhook-v1.0-linux-amd64.tar.gz
tar -zxvf alertmanager-webhook-v1.0-linux-amd64.tar.gz -C /usr/local/
mv alertmanager-webhook-v1.0-linux-amd64/ alertmanager-webhook

配置文件

cat alertmanager-webhook.yaml.orig
# 企业微信机器人key
# 使用企业微信时必须配置,不使用则留空
qywechatKey:# 飞书机器人key
# 使用飞书时必须配置,不使用则留空
feishuKey:# 钉钉机器人key
# 使用钉钉时必须配置,不使用则留
dingdingKey:# Redis配置
redisServer: 127.0.0.1  # 必须配置
redisPort:  # 可选项,为空默认为6379
redisPassword: wecloudsre@2023 # redis未设置密码则留空,如果设置了密码登陆则必须配置# 日志配置
logFileDir:   # 可选项,为空则为程序运行目录
logFilePath: alertmanager-webhook.log # 必须配置# 服务监听配置
port: 9095 # 可选项,为空则默认为9095
host: 0.0.0.0 # 可选项,为空默认监听 127.0.0.1

启动

 ./alertmanager-webhook -c alertmanager-webhook.yaml

alertmanager 修改配置

global:smtp_from: '790079600@qq.com'smtp_smarthost: 'smtp.qq.com:465'               smtp_auth_username: '790079600@qq.com'smtp_auth_password: 'xxxxxx'smtp_require_tls: falsesmtp_hello: 'qq.com'
route:group_by: ['alertname']group_wait: 10sgroup_interval: 1mrepeat_interval: 5m receiver: 'web.hook'
receivers:- name: 'web.hook'webhook_configs:- url: 'http://127.0.0.1:9095/qywechat'send_resolved: true- name: 'email'email_configs:- to: '790079600@qq.com'send_resolved: true
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

webhook2 - 强烈推荐,太好用了

https://github.com/feiyu563/PrometheusAlert?tab=readme-ov-file

安装

wget https://github.com/feiyu563/PrometheusAlert/releases/download/v4.9/linux.zip
unzip linux.zip
mv linux /usr/local/prometheusalert
cd /usr/local/prometheusalert
./PrometheusAlert

image-20240221105231812

飞书和企微群告警

github上有详细的配置指导

image-20240221114132624

  • 修改app.conf配置

    #是否开启微信告警通道,可同时开始多个通道0为关闭,1为开启
    open-weixin=1
    #默认企业微信机器人地址
    wxurl=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=22b46592-2601-40c4-aa17-xxx
    #是否开启飞书告警通道,可同时开始多个通道0为关闭,1为开启
    open-feishu=1
    #默认飞书机器人地址
    fsurl=https://open.feishu.cn/open-apis/bot/hook/53e6cda3-b391-4f30-8d8f-xxx
    
  • 修改配置alertmanager.yml

    global:resolve_timeout: 5m
    route:group_by: ['instance']group_wait: 10sgroup_interval: 10srepeat_interval: 5m receiver: 'web.hook.prometheusalert'
    receivers:- name: 'web.hook.prometheusalert'webhook_configs:- url: 'http://127.0.0.1:8080/prometheusalert?type=fs&tpl=prometheus-fs&fsurl=【app.conf中的地址】'send_resolved: true- url: 'http://127.0.0.1:8080/prometheusalert?type=wx&tpl=prometheus-wx&wxurl=【app.conf中的地址】'- url: 'http://127.0.0.1:8080/prometheusalert?type=email&tpl=prometheus-email&email=【收件人的值】'
    
  • 配置服务

    cat > /lib/systemd/system/prometheusalert.service <<EOF
    [Unit]
    Description=prometheusalert[Service]
    Restart=on-failure
    ExecStart=/usr/local/prometheusalert/PrometheusAlert[Install]
    WantedBy=multi-user.target
    EOF
    

alter 告警

下载解压安装

wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz
tar -zxvf alertmanager-0.26.0.linux-amd64.tar.gz -C /usr/local
mv alertmanager-0.26.0.linux-amd64 alertmanager

配置起启动服务

cat > /lib/systemd/system/alertmanager.service <<EOF
[Unit]
Description=mysqld_exporter
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/exporter/mysqld_exporter --config.my-cnf=/usr/local/exporter/config.my-cnf --web.config.file=/usr/local/exporter/webconf.yml
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF

启动服务

systemctl daemon-reload
systemctl enable --now alertmanager
systemctl status alertmanager

prometheus配置

prometheus.yml(缺省配置打开即可)

# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# 打开下面这个配置- alertmanager:9093
rule_files:
# 打开下面这个配置- "first_rules.yml"

将主机名增加到增加hosts文件,或者修改为对应的主机名或者IP地址

增加rules ./rules/alarm_rule.yml

  - alert: 服务告警expr: up == 0for: 30slabels:severity: criticalannotations:instance: "{{ $labels.instance }}"decriptions: "{{ $labels.job }} 服务已关闭 "

重载配置 curl -X POST http://localhost:9090/-/reload -u admin:123456

已经可以看到告警信息

image-20240220093324979

报警状态State分3种:

  • inactive:没有异常。
  • pending:已触发阈值,但未满足告警持续时间(即 rule 中的 for 字段)。
  • firing:已触发阈值且满足条件并发送至 alertmanager。

image-20240220094159190

配置邮箱通知

https://prometheus.io/docs/alerting/latest/configuration/

https://blog.51cto.com/u_14205795/4561320

https://blog.51cto.com/u_10874766/2523351

global:smtp_from: '790079600@qq.com'smtp_smarthost: 'smtp.qq.com:465'               smtp_auth_username: '790079600@qq.com'smtp_auth_password: 'xxx'smtp_require_tls: falsesmtp_hello: 'qq.com'
route:group_by: ['alertname']group_wait: 30sgroup_interval: 5mrepeat_interval: 5mreceiver: 'email'
receivers:- name: 'email'email_configs:- to: '790079600@qq.com'send_resolved: true
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

配置第三方通知

webhook1

安装

wget https://github.com/Rainbowhhy/alertmanager-webhook/releases/download/v1.0/alertmanager-webhook-v1.0-linux-amd64.tar.gz
tar -zxvf alertmanager-webhook-v1.0-linux-amd64.tar.gz -C /usr/local/
mv alertmanager-webhook-v1.0-linux-amd64/ alertmanager-webhook

配置文件

cat alertmanager-webhook.yaml.orig
# 企业微信机器人key
# 使用企业微信时必须配置,不使用则留空
qywechatKey:# 飞书机器人key
# 使用飞书时必须配置,不使用则留空
feishuKey:# 钉钉机器人key
# 使用钉钉时必须配置,不使用则留
dingdingKey:# Redis配置
redisServer: 127.0.0.1  # 必须配置
redisPort:  # 可选项,为空默认为6379
redisPassword: wecloudsre@2023 # redis未设置密码则留空,如果设置了密码登陆则必须配置# 日志配置
logFileDir:   # 可选项,为空则为程序运行目录
logFilePath: alertmanager-webhook.log # 必须配置# 服务监听配置
port: 9095 # 可选项,为空则默认为9095
host: 0.0.0.0 # 可选项,为空默认监听 127.0.0.1

启动

 ./alertmanager-webhook -c alertmanager-webhook.yaml

alertmanager 修改配置

global:smtp_from: '790079600@qq.com'smtp_smarthost: 'smtp.qq.com:465'               smtp_auth_username: '790079600@qq.com'smtp_auth_password: 'xxxxxx'smtp_require_tls: falsesmtp_hello: 'qq.com'
route:group_by: ['alertname']group_wait: 10sgroup_interval: 1mrepeat_interval: 5m receiver: 'web.hook'
receivers:- name: 'web.hook'webhook_configs:- url: 'http://127.0.0.1:9095/qywechat'send_resolved: true- name: 'email'email_configs:- to: '790079600@qq.com'send_resolved: true
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

webhook2 - 强烈推荐,太好用了

https://github.com/feiyu563/PrometheusAlert?tab=readme-ov-file

安装

wget https://github.com/feiyu563/PrometheusAlert/releases/download/v4.9/linux.zip
unzip linux.zip
mv linux /usr/local/prometheusalert
cd /usr/local/prometheusalert
./PrometheusAlert

image-20240221105231812

飞书和企微群告警

github上有详细的配置指导

image-20240221114132624

  • 修改app.conf配置

    #是否开启微信告警通道,可同时开始多个通道0为关闭,1为开启
    open-weixin=1
    #默认企业微信机器人地址
    wxurl=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=22b46592-2601-40c4-aa17-xxx
    #是否开启飞书告警通道,可同时开始多个通道0为关闭,1为开启
    open-feishu=1
    #默认飞书机器人地址
    fsurl=https://open.feishu.cn/open-apis/bot/hook/53e6cda3-b391-4f30-8d8f-xxx
    
  • 修改配置alertmanager.yml

    global:resolve_timeout: 5m
    route:group_by: ['instance']group_wait: 10sgroup_interval: 10srepeat_interval: 5m receiver: 'web.hook.prometheusalert'
    receivers:- name: 'web.hook.prometheusalert'webhook_configs:- url: 'http://127.0.0.1:8080/prometheusalert?type=fs&tpl=prometheus-fs&fsurl=【app.conf中的地址】'send_resolved: true- url: 'http://127.0.0.1:8080/prometheusalert?type=wx&tpl=prometheus-wx&wxurl=【app.conf中的地址】'- url: 'http://127.0.0.1:8080/prometheusalert?type=email&tpl=prometheus-email&email=【收件人的值】'
    
  • 配置服务

    cat > /lib/systemd/system/prometheusalert.service <<EOF
    [Unit]
    Description=prometheusalert[Service]
    Restart=on-failure
    ExecStart=/usr/local/prometheusalert/PrometheusAlert[Install]
    WantedBy=multi-user.target
    EOF
    

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

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

相关文章

Qt程序设计-仪表盘自定义控件实例

本文讲解Qt仪器表盘自定义控件实例。 效果如下 创建仪表表盘类 #ifndef DIALPLATE_H #define DIALPLATE_H#include <QWidget> #include <QTimer> #include <QPainter> #include <QPen> #include <QDebug> #include <QtMath> #include &l…

【论文阅读】基于图像处理和卷积神经网络的板式换热器气泡识别与跟踪

Bubble recognizing and tracking in a plate heat exchanger by using image processing and convolutional neural network 基于图像处理和卷积神经网络的板式换热器气泡识别与跟踪 期刊信息&#xff1a;International Journal of Multiphase Flow 2021 期刊级别&#xff1a;…

IDEA中 @SpringBootApplication 多个注解无法引入依赖

终于解决了&#xff01;&#xff01;&#xff01; cd到报红项目的根目录&#xff0c;然后输入mvn idea:idea就行了。

2024022701-信息安全(二)——密码学

密码学的基本概念 密码学(Cryptology)&#xff1a; 研究信息系统安全保密的科学。 密码编码学(Cryptography)&#xff1a; 研究对信息进行编码,实现对信息的隐蔽。 密码分析学(Cryptanalytics) &#xff1a; 研究加密消息的破译或消息的伪造。 消息被称为明文(Plaintext)。 用…

windows安装部署node.js并搭建Vue项目

一、官网下载安装包 官网地址&#xff1a;https://nodejs.org/zh-cn/download/ 二、安装程序 1、安装过程 如果有C/C编程的需求&#xff0c;勾选一下下图所示的部分&#xff0c;没有的话除了选择一下node.js安装路径&#xff0c;直接一路next 2、测试安装是否成功 【winR】…

Docker(运维工具)—— 学习笔记

快速构建、运行、管理应用的工具 一、安装docker 参考Install Docker Engine on Ubuntu | Docker Docs 二、快速入门 1、镜像和容器 docker镜像可以做到忽略操作系统的差异&#xff0c;跨平台运行&#xff0c;忽略安装的差异 当我们利用Docker安装应用时&#xff0c;Dock…

有效防止CDN网站被溯源ip的教程

如何反溯源隐藏自己的源IP防止溯源&#xff1f; 还有些大牛会进行渗透攻击、CC攻击&#xff0c;溯源打服务器&#xff0c;各式各样的&#xff0c;防不胜防。所以很多站长套起了cdn&#xff0c;比起cdn提供的加速效果&#xff0c;更多的站长可能还是为了保护那可怜弱小的源站ip…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Recolor)

Recolor&#xff0c;顾名思义就是重上色的意思&#xff0c;很明显能想到的用法就是老照片上色&#xff0c;也就是老照片修复&#xff0c;看下效果吧&#xff08;左边为老旧照片&#xff0c;右边为重上色效果&#xff09;&#xff1a; 当然除了这种玩法&#xff0c;也可以局部修…

安防视频监控EasyCVR平台使用GB28181协议接入时,如何正确配置端口?

国标GB28181协议EasyCVR安防视频监控平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流…

Python数据处理(三)-txt文件指定数据提取并可视化作图

系列文章&#xff1a; 1&#xff0c;20G文件&#xff0c;分类&#xff0c;放入不同文件&#xff0c;每个单独处理 2&#xff0c;数据的归类并处理 3&#xff0c;txt文件指定数据提取并可视化作图&#xff08;本文&#xff09; 4&#xff0c;......... 一&#xff0c;数据格…

【推荐算法系列十六】:协同过滤

文章目录 参考原理基于邻域的协同过滤算法基于用户的协同过滤&#xff08;User-Based Collaborative Filtering&#xff09;基于内容的协同过滤 基于模型的协同过滤算法 扩展优缺点 参考 推荐系统之神经协同过滤 原理 基于邻域的协同过滤算法 基于邻域的协同过滤算法又包括…

在 Android 运行 GNU/Linux 二进制程序 (proot)

在 GNU/Linux 系统上运行 Android 应用比较容易 (比如 waydroid), 但是反过来就很麻烦了. Android 虽然也使用 Linux 内核 (kernel), 但是系统环境和一般的 GNU/Linux 系统 (比如 ArchLinux, Debian, Ubuntu, Fedora, NixOS 等) 具有不可忽略的显著差异, 所以为 GNU/Linux 编译…

【React源码 - 调度任务循环EventLoop】

我们知道在React中有4个核心包、2个关键循环。而React正是在这4个核心包中运行&#xff0c;从输入到输出渲染到web端&#xff0c;主要流程可简单分为一下4步&#xff1a;如下图&#xff0c;本文主要是介绍两大循环中的任务调度循环。 4个核心包&#xff1a; react&#xff1a;…

4核8G服务器多少钱?腾讯云和阿里云哪家便宜?

4核8G云服务器多少钱一年&#xff1f;阿里云ECS服务器u1价格955.58元一年&#xff0c;腾讯云轻量4核8G12M带宽价格是646元15个月&#xff0c;阿腾云atengyun.com整理4核8G云服务器价格表&#xff0c;包括一年费用和1个月收费明细&#xff1a; 云服务器4核8G配置收费价格 阿里…

网站的安全防护需要注意哪些问题?有什么方法可以加固网站的防护

网站的安全防护&#xff0c;是一项复杂性、多方面的系统工程。现如今网络安全风险的增加&#xff0c;使得上至国家部门机关&#xff0c;小到个人博客&#xff0c;都有可能遭受网络安全问题。说到网络安全问题&#xff0c;比如&#xff1a;竞争最为激烈的游戏行业&#xff0c;从…

MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)

文章目录 一、InnoDB引擎逻辑储存结构二、架构——内存结构三、架构——磁盘结构四、架构——后台线程五、事务原理持久性&#xff1a;redo log。重做日志原子性&#xff1a;undo log。回滚日志 六、MVCC基本概念七、MVCC实现原理八、undo log日志 回滚日志&#xff0c;版本链九…

shell中正则表达式讲解

1. 概念 在进行程序设计的过程中&#xff0c;用户会不可避免地遇到处理某些文本的情况。有的 时候&#xff0c;用户还需要查找符合某些比较复杂规则的字符串。对于这些情况&#xff0c;如果 单纯依靠程序设计语言本身&#xff0c;则往往会使得用户通过复杂的代码来实现。但 是&…

在linux上不依赖于Nignx等服务器部署ASP.NET Core 7.0 WebAPI

笔者近期需要部署一款基于B/S架构的后端程序在linux的Debian发行版上&#xff0c;本文章以本次部署遇到的问题为线索&#xff0c;总结如何在Debian上部署ASP.NET Core7.0WebAPI应用程序。 在linux上不依赖于Nignx等服务器部署ASP.NET Core 7.0 WebAPI 1.先决条件2.应用发布3.部…

3D可视化项目,选择unity3D还是three.js,是时候挑明了。

2023-08-10 23:07贝格前端工场 Hi&#xff0c;我是贝格前端工场&#xff0c;在开发3D可视化项目中&#xff0c;是选择U3D还是three,js时&#xff0c;很多老铁非常的迷茫&#xff0c;本文给老铁们讲清楚该如何选择&#xff0c;欢迎点赞评论分享转发。 一、Unity3D和three.js简…

[Mac软件]Adobe Substance 3D Stager 2.1.4 3D场景搭建工具

应用介绍 Adobe Substance 3D Stager&#xff0c;您设备齐全的虚拟工作室。在这个直观的舞台工具中构建和组装 3D 场景。设置资产、材质、灯光和相机。导出和共享媒体&#xff0c;从图像到 Web 和 AR 体验。 处理您的最终图像 Substance 3D Stager 可让您在上下文中做出创造性…