#Linux监控与安全Day03:Prometheus全套部署与基础操作,Prometheus与Grafana,数据库监控,Alertmanager 监控报警机制
一、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/prometheus
2.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'.
27
28 static_configs:
29 - targets: ['192.168.8.100:9090'] #写监控目标的IP
2.3 配置文件语法检查
使用自带工具 promtool 校验配置文件语法:
[root@prometheus ~]# /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml
# 输出 SUCCESS 代表语法无误
Checking /usr/local/prometheus/prometheus.yml
SUCCESS: 0 rule files found
2.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 NOTICE
3.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.service
3.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-server
4.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-server
4.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)]> GRANT ALL ON *.* TO tom@'127.0.0.1' IDENTIFIED BY '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 NOTICE
5.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=123
5.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 prometheus
5.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/alertmanager
6.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 --now
Web 访问验证: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 configuration
8 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.rules
6.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: example
rules:
# 节点宕机告警:采集状态为 0 持续 5 分钟触发告警(宕机5分钟就触发告警)
- alert: InstanceDown
expr: up == 0
for: 5m
labels:
severity: warn
annotations:
summary: "Instance {{ $labels.instance }} down"
description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."
# 内存使用率超过 85% 告警,持续 1 分钟触发
- alert: hostMemUsageAlert
expr: (node_memory_MemTotal - node_memory_MemAvailable)/node_memory_MemTotal > 0.85
for: 1m
labels:
severity: warn
annotations:
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 :25
6.8 告警功能测试
- 模拟故障:关闭被监控端 node1
[root@node1 ~]# shutdown -h now
- 在 Prometheus 主机查看邮件:
[root@prometheus ~]# mail #查看邮件
Heirloom Mail version 12.5 6/20/10. Type ? for help.
"/var/spool/mail/root": 1 message
> 1 test@test.com Wen Jun 22 23:30 227/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(告警推送)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)