Prometheus是一款开源的系统监控和告警工具包,最早由SoundCloud公司开发。它不只是简单的监控软件,还自带时序数据库功能,比如会把收集到的监控指标以时间序列数据的形式存储起来,也就是说,每条指标信息都会附带记录时间戳,还能加上可选的键值对(标签)来补充说明。
Prometheus最常用在容器监控场景,不过也能用来做常规的主机监控。需要提醒的是,Prometheus是一套框架,能和其他组件无缝搭配使用,扩展性很强。
一、Prometheus监控部署教程
1、Prometheus监控部署监控部署环境说明
本次部署涉及两台服务器,地址规划如下:
- Prometheus服务器:192.168.88.5
- 被监控端(web1):192.168.88.100
2、配置系统时间
监控系统对时间同步要求很高,先确保服务器时区和时间正确,操作命令如下:
- 查看当前时区:timedatectl
- 若时区不是上海,执行以下命令修改:timedatectl set-timezone Asia/Shanghai
- 查看当前时间,若时间不正确则手动修改:date(查看时间);date -s “年月日 时:分:秒”(修改时间,比如date -s “2025-12-16 14:30:00″)
3、安装Prometheus
Prometheus官网提供的是二进制安装包,不用编译,下载解压后就能直接使用,步骤如下:
下载地址:https://prometheus.io/download/ ,进入后选择适合自己服务器系统的版本(本次以prometheus-3.0.1.linux-amd64为例);
解压到指定目录:tar -zxvf prometheus-3.0.1.linux-amd64.tar.gz
将解压后的文件夹移动到常用的程序目录:mv prometheus-3.0.1.linux-amd64 /usr/local/prometheus
二、配置文件说明
Prometheus的核心配置文件包含三个主要配置块,各自作用如下:
1、global(全局配置块):控制Prometheus服务器的全局参数,主要有两个关键设置:
- scrape_interval:控制Prometheus抓取监控目标数据的频率,默认全局设置是15秒一次,后续也能为单个监控目标单独设置,覆盖这个全局值;
- evaluation_interval:控制Prometheus评估规则的频率,Prometheus会通过规则生成新的时间序列数据,或是触发告警。
2、rule_files(规则文件块):指定Prometheus服务器需要加载的规则文件路径,比如告警规则、数据处理规则等;
3、scrape_configs(抓取配置块):这是控制Prometheus监控哪些资源的核心配置。值得一提的是,Prometheus会把自己的运行数据通过HTTP接口暴露出来,所以它能监控自身的健康状态。默认配置里就有一个叫“prometheus”的作业(job),专门抓取本机9090端口暴露的监控数据。Prometheus默认会去目标的/metrics路径获取数据,所以这个默认作业实际抓取的地址是:http://localhost:9090/metrics 。
5、编写服务启动文件并启动服务
为了方便管理Prometheus服务(比如设置开机自启),我们需要编写系统服务文件,完成后执行以下命令启动服务:
若启动成功,会显示类似如下的监听信息:
此时可以通过浏览器访问Prometheus的web界面:http://192.168.88.5:9090 (注意替换为你的Prometheus服务器地址)。在界面中可以查看监控数据,比如Prometheus自身的运行内存使用情况等。
三、添加被监控端
Prometheus主要有两种数据采集方式:
1、拉取(pull):由Prometheus服务器主动联系被监控端,从被监控端获取数据(这是Prometheus默认的采集方式);
2、推送(push):由被监控端主动把数据发送给Prometheus服务器。不过这种方式需要额外部署一个叫pushgateway的组件,作为数据中转站。
被监控端需要根据自己运行的服务,安装对应的exporter——这是一类专门运行在被监控端的软件,作用是收集本机的监控数据,并提供HTTP接口给Prometheus抓取,实现数据传递。
常用的exporter列表可以在Prometheus官网查看。
2、部署通用监控exporter(node_exporter)
node_exporter是最常用的通用exporter,主要用于收集主机的系统信息(比如CPU、内存、磁盘等),我们在被监控端web1(192.168.88.100)上部署它,步骤如下:
编写node_exporter的系统服务文件(类似Prometheus的服务配置方式),完成后执行以下命令启动服务:
3、在Prometheus服务器上添加监控节点
node_exporter启动后,需要在Prometheus的配置文件(scrape_configs块)中添加web1节点的监控配置,让Prometheus知道要从哪里抓取该节点的监控数据。具体配置步骤如下:
-
广告合作
-
QQ群号:4114653











