一、Prometheus 基础介绍
1.1 基本概念
- Prometheus 是SoundCloud 开源的监控报警解决方案,使用Go 语言开发。
- 自身属于时序数据库,专门存储时序数据,数据格式:
<metric name>{<label name>=<label value>, ...},每条数据自带时间标签。 - 适用场景:主打容器监控,同时也可监控常规物理/虚拟主机。
- 特性说明:优先保证高可用,不追求 100% 数据精准、完整,对数据细节要求极高的场景不推荐使用。
- 默认服务端口:9090。
Prometheus 原生仅提供简易Web UI,只做查询、指标浏览,无专业可视化、大屏、告警视图,无法满足日常监控大屏需求。
主流搭配方案:Grafana(行业首选,图表丰富、模板多、易配置),专门用来渲染 Prometheus 监控数据。
补充:Prometheus 自身UI仅作临时查询/调试,生产环境几乎都会配合 Grafana 使用。
Prometheus基于模块化设计,功能拆成独立组件,可单独替换 / 扩展,互不强绑定
Prometheus Server(核心模块)
- Retrieval(抓取模块):从 Jobs/exporters 和 Pushgateway 拉取指标数据,从 Service discovery 获取要监控的目标列表
- TSDB(时序数据库):时序数据读写、压缩、保留
- HTTP server:查询、图表、配置管理
生态扩展模块(可插拔)
- Pushgateway:短生命周期任务(如批处理)主动推送指标
- Alertmanager:独立告警模块,去重、分组、路由、通知(邮件/企业微信)
- Service Discovery:K8s、Consul、AWS 等自动发现 Target
- Grafana:独立可视化模块,并非专门为Prometheus设计,但可以对接 Prometheus 做仪表盘
1.2 环境规划
基于模板机克隆两台虚拟机,使用 WindTerm 远程连接,主机规划如下:
可复用之前的主机,但要注意kill掉zabbix的所有进程,并将/etc/rc.d/rc.local文件中的内容注释掉
注意!本实验博主做了两次,使用的第二个实验环境为
Prometheus:192.168.8.10/24
node1:192.168.8.11/24
第一次实验忘记截图,所以使用的是第二次实验的截图,部分截图的IP会和文本有差异,但不影响阅读和操作(因为两次实验的操作流程和配置完全一致),所以涉及IP的内容和配置一定不要照抄,参照自己实际的实验环境来
二、部署 Prometheus 监控端(192.168.8.100)
2.1 软件解压部署
将prometheus_soft.tar.gz压缩包拷贝至 promethues主机的/root 家目录下
Prometheus 为解压即安装类型,类似 Tomcat
常规源码放置目录:/usr/local/软件名下。
# 拷贝压缩包至 /root 后执行解压操作[root@prometheus ~]# tar -xf prometheus_soft.tar.gz# 进入解压目录[root@prometheus ~]# cd prometheus_soft/# 解压 Prometheus 程序包[root@prometheus prometheus_soft]# tar -xf prometheus-2.17.2.linux-386.tar.gz# 移动并重命名到标准目录[root@prometheus prometheus_soft]# mv prometheus-2.17.2.linux-386 /usr/local/prometheus2.2 基础配置(监控自身)
修改主配置文件prometheus.yml,实现 Prometheus 监控自身,注意 YAML 文件严格缩进。
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml# 配置监控自身节点23 - job_name:'prometheus'#任务名称,如何命名对任务无影响24 25# metrics_path defaults to '/metrics'26# scheme defaults to 'http'.2728 static_configs:29 - targets:['192.168.8.100:9090']#写监控目标的IP2.3 配置文件语法检查
使用自带工具promtool校验配置文件语法:
[root@prometheus ~]# /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml# 输出 SUCCESS 代表语法无误Checking /usr/local/prometheus/prometheus.yml SUCCESS:0rule files found2.4 配置 Systemd 系统服务
原生启动命令复杂,建议编写 systemd 单元文件,实现服务统一管理、开机自启。
推荐使用ai辅助生成相关模板。
# 编辑 systemd 服务文件[root@prometheus ~]# vim /usr/lib/systemd/system/prometheus.service服务文件内容:
[Unit] Description=Prometheus Monitoring System Documentation=Prometheus Monitoring System [Service] ExecStart=/usr/local/prometheus/prometheus \ --config.file=/usr/local/prometheus/prometheus.yml \ --storage.tsdb.path=/usr/local/prometheus/data [Install] WantedBy=multi-user.target重新加载 systemd 守护进程 的配置:
[root@prometheus ~]# systemctl daemon-reload #重新加载配置2.5 启动服务并验证
# 重载系统服务、开机自启并立即启动 Prometheus[root@prometheus ~]# systemctl enable prometheus.service --now# 查看服务运行状态[root@prometheus ~]# systemctl status prometheus.service# 查看 9090 端口监听状态[root@prometheus ~]# ss -ntulp | grep 9090端口监听结果示例:
tcp LISTEN 0 128 *:9090 *:* users:(("prometheus",pid=4637,fd=5))2.6 Web 页面访问与测试
- 浏览器访问地址:
http://192.168.8.100:9090 - 功能验证:
- 进入
Status -> Targets,可查看当前监控节点状态,UP代表正常采集数据。
- 进入
- 进入
Graph页面,输入监控指标(如go_memstats_alloc_bytes_total),点击Execute查询并生成图表。
- 点击Graph --> 搜索监控项 --> 点击Execule
点击Graph可以查看图形页面
- 时差警告解决:若页面出现时间相关黄色警告,虚拟机联网后执行时间同步:
systemctl restart chronyd如果用真机访问 prometheus 时,出现时差问题(会提示黄色的Warning警告) 可以使用systemctl restart chronyd同步最新时间(前提虚拟机可以连接网络);
三、部署被监控端(node1 192.168.8.101)
3.1 部署 node_exporter(主机硬件监控导出器)
node_exporter用于采集服务器 CPU、内存、磁盘、网络等硬件指标,默认端口9100。
3.1.1安装硬件监控导出器
将prometheus_soft.tar.gz软件包导入node1主机
这个导出器是用来监控硬件的,如果想监控nginx或者其他的服务/软件,可以在官网找对应的导出器
# 解压软件包[root@node1 ~]# tar -xf prometheus_soft.tar.gz# 进入目录[root@node1 ~]# cd prometheus_soft/# 安装node_exporter导出器[root@node1 prometheus_soft]# tar -xf node_exporter-1.0.0-rc.0.linux-amd64.tar.gz# 移动至标准目录[root@node1 prometheus_soft]# mv node_exporter-1.0.0-rc.0.linux-amd64 /usr/local/node_exporter# 查看目录文件[root@node1 prometheus_soft]# ls /usr/local/node_exporter/LICENSE node_exporter NOTICE3.1.2 配置 Systemd 服务
- 如果想更好更快的管理 node_exporter 导出器服务,需要编写Unit文件,让 systemd进行管理
[root@node1 ~]# vim /usr/lib/systemd/system/node_exporter.service服务文件内容:
[Unit] Description=node_exporter After=network.target [Service] Type=simple ExecStart=/usr/local/node_exporter/node_exporter [Install] WantedBy=multi-user.target重新加载 systemd 守护进程 的配置:
[root@prometheus ~]# systemctl daemon-reload #重新加载配置3.1.3 启动服务并验证
# 开机自启+立即启动[root@node1 ~]# systemctl enable node_exporter --now# 查看服务状态[root@node1 ~]# systemctl status node_exporter# 查看 9100 端口[root@node1 ~]# ss -utnlp | grep node_exporter端口结果示例:
tcp LISTEN 0 128 *:9100 *:* users:(("node_exporter",pid=14151,fd=3))3.2 Prometheus 配置监控 node1
回到 Prometheus 监控端,修改主配置文件,新增监控任务,严格注意 YAML 缩进。
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml追加配置内容:
30 - job_name:'node1_expoter'31 static_configs:32 - targets:['192.168.8.101:9100']上文的配置就是一个监控主机的任务。要监控几个主机,就增加几个相同的配置
重启 Prometheus 使配置生效:
[root@prometheus ~]# systemctl restart prometheus.service3.3 验证监控状态
刷新 Prometheus Web 页面Status -> Targets,可看到node1_expoter任务状态为UP,代表硬件指标采集正常。同时可在Graph页面查询load15、内存、磁盘等系统指标。
注意:如果linux主机和Windows主机的时间不一致,会有报错
四、部署 Grafana 可视化面板
Prometheus 自带基础 Web 界面,但可视化能力有限。生产环境中通常搭配Grafana等第三方工具,实现丰富的监控图表和仪表盘展示。
4.1 Grafana 简介
- Grafana 是跨平台开源度量分析、数据可视化工具,支持折线图、热图、图表等多种展示形式。
- 支持主流数据源:Graphite、InfluxDB、OpenTSDB、Prometheus、Elasticsearch 等。
- 本次部署在 Prometheus 主机(192.168.8.100),
- Grafana默认端口3000。
需注意,Grafana并非为Prometheus专门定制的,Grafana数据来源可以有很多种
4.2 安装 Grafana
使用 RPM 包安装:
# 进入软件目录[root@prometheus ~]# cd prometheus_soft/# 使用 dnf 安装 rpm 包[root@prometheus prometheus_soft]# dnf -y install grafana-6.7.3-1.x86_64.rpm# 开机自启并启动服务[root@prometheus ~]# systemctl enable grafana-server --now# 查看服务状态[root@prometheus ~]# systemctl status grafana-server# 查看 3000 端口[root@prometheus ~]# ss -utnlp | grep grafana-server4.3 Web 登录与密码设置
- 访问地址:
http://192.168.8.100:3000
- 默认账号密码:
admin / admin,首次登录强制修改密码,示例新密码:123456。
- 密码修改失败解决方案(开启匿名管理员访问):
个别浏览器会出现不兼容的情况,此时可以更换浏览器重新尝试,若仍无法解决问题,需要开启匿名访问。
# 编辑 Grafana 主配置文件[root@prometheus ~]# vim /etc/grafana/grafana.ini修改对应配置项:
304 [auth.anonymous] 306 enabled = true # 启用匿名访问 312 org_role = Admin # 匿名身份为管理员重启服务生效:
[root@prometheus ~]# systemctl restart grafana-server4.4 配置 Prometheus 数据源
- 首页点击
Add data source,选择数据源类型为Prometheus。
自定义数据源名称,填写 Prometheus 地址:
http://192.168.8.100:9090,开启Default设置为默认数据源。点击
Save & Test,出现Data source is working代表数据源对接成功。
- 可通过
Configuration -> Data Sources查看已配置数据源。
4.5 导入监控模板
在有了数据源之后,想让 Grafana 通过数据绘制出相应数据的图形,还需要导入数据模板.Grafana 也自带了一个模板,我们也可以尝试导入,然后查看绘制的图形。不同的数据模板最终绘制的图形以及显示的数据信息不一样
4.5.1 导入 Prometheus 自身模板
在设置–>数据源详情页Dashboards中,找到Prometheus 2.0 Stats,点击Import导入,可查看 Prometheus 自身运行状态。
4.5.2 导入 node_exporter 主机监控模板
默认模板无法查看被监控主机硬件信息,需导入主机监控模板:
- 首页点击
Create -> Import。
导入 node_exporter 导出器的模板(模板文件运维工程师无法自己编写,涉及到开发,如果想要其他模板,需要到官网上下载,搜索时建议加入CN使用中文页面的仪表盘)
选择已配置的 Prometheus 数据源,点击
Import完成导入。
- 进入面板查看主机 CPU、内存、磁盘、网络等监控图表,最后点击
Save保存面板。
注意:这里保存是将当前主机的此模板保存到左上角的模板列表之中:
点击左上角就可以查看保存的模板列表:
可以在Home看到我们加入的所有的模板
4.5.3 多个监控主机切换
在Home中选择对应的模板
进入仪表盘,左上角切换主机
4.5.4 多个监控模板切换
点击左上角
出现模板列表,点击对应模板,即可快速切换
4.5.5 删除监控模板
点击图形页面右上角的齿轮按钮
点击下面的红色按钮进行删除
五、监控 Mariadb 数据库
Prometheus借助Grafana监控mariadb数据库的简略流程:
1.在被监控端部署mariadb服务
2.创建数据库用户,便于导出器使用此用户检索数据
3.在监控端修改prometheus.yml,嘉能可被监控端的mysql_exporter
4.在grafana导入相应监控数据的模板文件,根据监控数据自动绘制图形
5.1 在 node1 部署 Mariadb 数据库
- 将node1主机搭建成Mariadb数据库服务器,配置账号和密码
- 授权连接数据库的用户名和密码
- 用户名:tom
- 密码:123
# 安装 Mariadb 服务[root@node1 ~]# yum -y install mariadb mariadb-server# 开机自启并启动服务[root@node1 ~]# systemctl enable mariadb --now# 登录数据库[root@node1 ~]# mysql数据库内执行授权语句,创建监控专用账号:
# 创建用户 tom,密码 123,允许本地连接并授权所有权限,仅允许从本机(127.0.0.1)登录MariaDB[(none)]>GRANTALLON*.*TOtom@'127.0.0.1'IDENTIFIEDBY'123';# 退出数据库MariaDB[(none)]>EXIT;5.2 部署 mysqld_exporter(数据库导出器)
- 如果想让 prometheus 能够监控 node1 主机的数据库,就需要安装数据库相关的导出器,
mysqld_exporter默认端口号:9104- 安装数据库导出器mysqld_exporter导出器,用于采集数据库信息
- mysqld_exporter端口号:9104
# 进入软件目录[root@node1 ~]# cd prometheus_soft/# 解压数据库导出器[root@node1 prometheus_soft]# tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz# 移动至标准目录[root@node1 prometheus_soft]# mv mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter# 查看文件[root@node1 prometheus_soft]# ls /usr/local/mysqld_exporter/LICENSE mysqld_exporter NOTICE5.3 配置数据库连接文件
- 修改导出器的配置文件,指定数据库的用户名、密码、端口、主机信息
- 使导出器可以获取本机的数据库的状态信息
- 配置文件:/usr/local/mysqld_exporter/.my.cnf
(.开头的文件属于隐藏文件)
[root@node1 prometheus_soft]# vim /usr/local/mysqld_exporter/.my.cnf配置内容:
[client] host=127.0.0.1 port=3306 user=tom password=1235.4 配置 mysqld_exporter Systemd 服务
[root@node1 ~]# vim /usr/lib/systemd/system/mysqld_exporter.service服务文件内容:
[Unit] Description=mysqld_exporter After=network.target [Service] ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \ --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf [Install] WantedBy=multi-user.target[root@node1 ~]# systemctl daemon-reload #重新加载配置5.5 启动服务并验证端口
# 开机自启+启动服务[root@node1 ~]# systemctl enable mysqld_exporter --now# 查看服务状态[root@node1 ~]# systemctl status mysqld_exporter# 查看 9104 端口[root@node1 ~]# ss -nutlp | grep mysqld_exporter端口结果:
tcp LISTEN 0 128 :::9104 :::* users:(("mysqld_exporter",pid=11807,fd=3))5.6 Prometheus 配置监控数据库
编辑 Prometheus 主配置文件,新增数据库监控任务:
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml追加配置:
33 - job_name:'mysqld_exporter'34 static_configs:35 - targets:['192.168.8.101:9104']重启 Prometheus 生效:
[root@prometheus ~]# systemctl restart prometheus5.7 Grafana 导入数据库监控模板
- 访问 Grafana
http://192.168.8.100:3000,进入Import页面。 - 上传 MySQL 专用模板文件
mysql-overview_rev5.json,选择 Prometheus 数据源。 - 导入完成后查看数据库连接数、查询性能、缓存、慢查询等指标,最后保存面板。
选择信息源,点击导入即可
随后就进入监控图形页面
六、部署 Alertmanager 告警系统
本节内容以了解为主,着重理解报警机制的原理。
6.1 Alertmanager 概述
- 工作流程:Prometheus 根据告警规则生成告警信息,发送至 Alertmanager;Alertmanager 统一处理告警,支持静默、分组、抑制,并通过邮件、即时通讯等渠道推送通知。
部署步骤:
- 修改 Alertmanager 配置文件,设置收件人和发件人
- 对接 Prometheus 与 Alertmanager
- 编写 Prometheus 的告警规则。
Prometheus 中一条告警规则由以下几个部分组成:
- 告警名称 :用户需要为告警规则命名
- 告警规则:告警规则实际上主要由PromQL进行定义,其实际意义是当表达式(PromQL)查询结果持续多长时间(During)后触发告警
Alertmanager 核心特性:
Alertmanager处理客户端应用程序(如Prometheus服务器)发送的警报。它负责重复数据删除、分组,并将其路由到正确的接收方集成- 分组:将同类告警合并为一条通知,避免大量告警刷屏;
- 抑制:主告警触发后,屏蔽关联的衍生告警,减少无效通知;
- 静默:临时屏蔽指定标签的告警,可在 Web 页面配置。
- 去重:消除重复告警通知,避免同一故障反复刷屏轰炸运维;HA 多实例部署时,保证同一条告警只发一次消息。
Alertmanager 默认端口:9093。
6.2 安装 Alertmanager
Alertmanager 默认端口:9093。
部署在 Prometheus 监控端:
# 进入软件目录[root@prometheus ~]# cd prometheus_soft/# 解压程序包[root@prometheus prometheus_soft]# tar -xf alertmanager-0.20.0.linux-386.tar.gz# 移动至标准目录[root@prometheus prometheus_soft]# mv alertmanager-0.20.0.linux-386 /usr/local/alertmanager6.3 配置 Systemd 服务
[root@prometheus prometheus_soft]# vim /usr/lib/systemd/system/alertmanager.service服务文件内容:
[Unit] Description=alertmanager System [Service] ExecStart=/usr/local/alertmanager/alertmanager \ --config.file=/usr/local/alertmanager/alertmanager.yml [Install] WantedBy=multi-user.target重载服务并启动:
[root@prometheus ~]# systemctl daemon-reload[root@prometheus ~]# systemctl enable alertmanager.service --nowWeb 访问验证:http://192.168.8.100:9093。
6.4 Alertmanager 配置文件结构
- Alertmanager的配置主要包含两个部分:路由(route)以及接收器(receivers)。所有的告警信息都会从配置中的顶级路由(route)进入路由树,根据路由规则将告警信息发送给相应的接收器。
- 在Alertmanager中可以定义一组接收器,比如可以按照角色(比如系统运维,数据库管理员)来划分多个接收器。接收器可以关联邮件,Slack以及其它方式接收告警信息。
- 目前配置文件中只设置了一个顶级路由route并且定义的接收器为default-receiver。因此,所有的告警都会发送给default-receiver。
主配置文件alertmanager.yml核心模块:
global:全局配置,如 SMTP 邮件服务参数;templates:告警通知模板(邮件、HTML 样式等);route:告警路由,匹配标签并转发至对应接收器;receivers:告警接收器(邮箱、Webhook、聊天工具等),配合告警路由使用;inhibit_rules:告警抑制规则,减少垃圾告警的产生。
6.5 Prometheus 对接 Alertmanager
修改 Prometheus 主配置文件,指定 Alertmanager 地址:
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml修改alerting模块:
7# Alertmanager configuration8 alerting:9 alertmanagers:#指定Alertmanager 地址10 - static_configs:11 - targets:12-localhost:9093#修改此处重启 Prometheus:
[root@prometheus ~]# systemctl restart prometheus.service(如果报错,可以使用:/usr/local/prometheus/promtool check config prometheus.yml检查一下语法有没有错误)
验证:访问http://192.168.8.100:9090/config,查看配置是否加载成功。
6.6 配置 Alertmanager 邮件告警
6.6.1 备份并修改 Alertmanager 配置
# 备份原配置文件[root@prometheus ~]# cp /usr/local/alertmanager/alertmanager.yml /opt# 编辑告警配置[root@prometheus ~]# vim /usr/local/alertmanager/alertmanager.yml接下来配置增加发件人和收件人地址,接收器名称等
邮件告警完整配置:
global:smtp_from:'test@test.com'# 发件人邮箱smtp_smarthost:'localhost:25'# 本地邮件服务地址端口smtp_require_tls:false# 关闭 TLS 安全链接加密route:group_by:['alertname']# 按告警名称分组group_wait:30s# 首次等待 30s,合并同组告警group_interval:1m# 同组告警间隔 1 分钟发送一次repeat_interval:1h# 同一告警持续 1 小时重复推送receiver:'default-receiver'# 指定接收器名称receivers:-name:'default-receiver'# 接收器名称email_configs:-to:'root@localhost.localdomain'# 收件人邮箱inhibit_rules:# 告警抑制(静默)规则-source_match:severity:'critical'target_match:severity:'warning'equal:['alertname','dev','instance']6.7 配置 Prometheus 告警规则文件
6.7.1 创建规则目录并上传规则文件
- 创建规则目录**/usr/local/prometheus/rules/**
- 将hoststats-alert.rules上传至/usr/local/prometheus/rules/
# 创建规则存放目录[root@prometheus ~]# mkdir /usr/local/prometheus/rules/# 上传规则文件 hoststats-alert.rules 至该目录[root@prometheus ~]# ls /usr/local/prometheus/rules/hoststats-alert.rules6.7.2 在 Prometheus 中声明规则路径
编辑prometheus.yml,加载规则文件:
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml添加规则配置:
15 rule_files:16-/usr/local/prometheus/rules/*.rules规则文件hoststats-alert.rules示例内容:
groups:-name:examplerules:# 节点宕机告警:采集状态为 0 持续 5 分钟触发告警(宕机5分钟就触发告警)-alert:InstanceDownexpr:up == 0for:5mlabels:severity:warnannotations:summary:"Instance {{ $labels.instance }} down"description:"{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."# 内存使用率超过 85% 告警,持续 1 分钟触发-alert:hostMemUsageAlertexpr:(node_memory_MemTotal-node_memory_MemAvailable)/node_memory_MemTotal>0.85for:1mlabels:severity:warnannotations:summary:"Instance {{ $labels.instance }} MEM usgae high"6.7.3 安装本地邮件服务 Postfix
# 安装邮件服务与客户端[root@prometheus ~]# dnf -y install postfix mailx# 开机自启并启动[root@prometheus ~]# systemctl enable postfix --now# 查看 25 端口[root@prometheus ~]# ss -nutlp | grep :256.8 告警功能测试
- 模拟故障:关闭被监控端 node1
[root@node1 ~]# shutdown -h now- 在 Prometheus 主机查看邮件:
[root@prometheus ~]# mail #查看邮件Heirloom Mail version12.56/20/10. Type ?forhelp."/var/spool/mail/root":1message>1test@test.com Wen Jun2223:30227/12706"[FIRING:2] InstanceDown "&- 将告警邮件内容从复制粘贴到一个文件中,如文件名为alert.html,用浏览器打开,可以得到以下页面:
浏览器访问:http://192.168.8.100:9093可以查询当前告警状态
6.8.1 告警验证
由于虚拟机环境邮件推送延迟较高,本实验的邮件延迟将会非常久,几分钟到数小时不等,所以配置完迟迟收不到邮件也是正常情况。(但在生产环境延迟极低)
我们可以通过ip:9090的自带视图查看规则是否生效:
解读:Firing(1):正在触发的告警
图中有 2 条 InstanceDown 告警处于 FIRING 状态
告警的文件路径:/usr/local/prometheus/rules/hoststats-alert.rules,正是我们设置的告警文件路径,说明我们的告警规则已生效
七、整体知识点总结
- Prometheus:Go 语言开发的时序型监控系统,解压安装,通过
exporter采集各类指标,依赖 PromQL 查询数据。 - Exporter 导出器:被监控端组件,不同服务对应专属导出器(
node_exporter监控主机、mysqld_exporter监控数据库),负责采集指标并对外暴露接口。 - Grafana:可视化工具,对接 Prometheus 数据源,通过模板生成精美监控图表,直观展示监控数据。
- Alertmanager:告警组件,对接 Prometheus,实现告警分组、抑制、静默,支持邮件等多渠道推送告警通知。
- 完整监控链路:
被监控服务 → Exporter → Prometheus(采集+规则判断)→ Grafana(可视化)/ Alertmanager(告警推送)