本文将在Linux环境下,手把手教你搭建一套完整的服务器资源监控平台。该平台基于 云原生监控栈 中的核心组件 Prometheus(指标采集与存储)和 Grafana(数据可视化),实现从数据采集到图表展示的全流程。
1. 下载 Prometheus 与 node_exporter
首先,访问 Prometheus 官网下载页面获取最新版本的安装包:
https://prometheus.io/download/
需要下载两个核心组件:
- prometheus: 监控服务主程序。
- node_exporter: 用于采集服务器主机(如CPU、内存、磁盘等)指标的导出器。



下载完成后,将压缩包上传到你的Linux服务器。使用以下命令进行解压:
tar -zxvf prometheus-3.0.0-rc.1.linux-amd64.tar.gz
tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz

2. 启动 node_exporter
进入 node_exporter 解压后的目录,以后台方式启动它,并指定监听端口(例如9091):
nohup ./node_exporter --web.listen-address=":9091" > node.log 2>&1 &

启动成功后,在浏览器访问 http://你的服务器IP:9091,即可看到 node_exporter 提供的原始指标页面。

3. 启动 Prometheus
接下来配置并启动 Prometheus。首先,编辑 Prometheus 目录下的 prometheus.yml 配置文件。

找到 scrape_configs 部分,将其内容替换为以下配置,注意保持YAML格式的缩进。targets 中的地址即为你刚刚启动的 node_exporter 地址。
scrape_configs:
- job_name: "系统资源监控"
static_configs:
- targets: ["localhost:9091"] # node_exporter 监听的地址
若要监控多台服务器,只需在 targets 数组中填入各服务器 node_exporter 的 IP:端口 即可。

可以使用 Prometheus 自带的工具校验配置文件语法是否正确:
./promtool check config prometheus.yml

为了方便管理,我们将其配置为 systemd 服务。创建服务文件:
vim /usr/lib/systemd/system/prometheus.service
写入以下内容,注意修改 ExecStart 中的路径为你的实际安装路径。
[Unit]
Description=Prometheus Server
[Service]
Restart=on-failure
ExecStart=/test/prometheus-3.0.0-rc.1.linux-amd64/prometheus --config.file=/test/prometheus-3.0.0-rc.1.linux-amd64/prometheus.yml
[Install]
WantedBy=multi-user.target

保存后,即可使用 systemd 命令来管理 Prometheus 服务,这是 Linux运维 中的常见操作:
systemctl start prometheus # 启动
systemctl stop prometheus # 停止
systemctl status prometheus # 查看状态

启动后,通过浏览器访问 http://你的服务器IP:9090,即可进入 Prometheus 的Web界面。

4. 安装 Grafana
Grafana 负责将 Prometheus 采集的数据可视化。通过以下命令下载并安装企业版(社区版步骤类似):
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.2.3-1.x86_64.rpm
yum -y localinstall grafana-enterprise-11.2.3-1.x86_64.rpm


同样使用 systemd 管理 Grafana 服务:
systemctl start grafana-server.service # 启动
systemctl stop grafana-server.service # 停止
systemctl status grafana-server.service # 查看状态

服务启动后,访问 http://你的服务器IP:3000,默认用户名和密码均为 admin。

5. 配置 Grafana 数据源与仪表盘
登录后,首要任务是为 Grafana 添加数据源。
- 点击左侧齿轮图标,进入
Data Sources。
- 选择
Prometheus。
- 在
HTTP URL 中填写 Prometheus 的访问地址(如 http://localhost:9090)。
- 滑动到页面底部,点击
Save & test,看到 Data source is working 的提示即表示成功。




接下来导入现成的监控仪表盘(Dashboard)。Grafana 官方社区提供了丰富的模板。
- 点击左侧
田字格 图标,选择 Dashboards -> New -> Import。


- 你可以访问 Grafana Dashboards 官网 搜索并下载喜欢的模板JSON文件。例如,搜索 “node exporter”。

- 以
Node Exporter Full 仪表盘(ID: 1860)为例,进入详情页下载其JSON文件。


- 回到 Grafana 的导入页面,上传JSON文件或直接输入仪表盘ID(如1860)。
- 在下一步中,选择前面创建的 Prometheus 数据源,然后点击
Import 即可。


6. (可选)Grafana 设置为中文界面
编辑 Grafana 的配置文件,例如:
vim /etc/grafana/grafana.ini

找到 [users] 段落下的 default_language 配置项(大约在第507行),取消注释并将其值改为 zh-Hans:
default_language = zh-Hans

重启 Grafana 服务使配置生效:
systemctl restart grafana-server.service
刷新浏览器,界面即显示为中文。

7. 扩展:监控多台服务器
若要监控多个节点的资源,只需在每台目标服务器上重复 步骤1-2,安装并启动 node_exporter。然后,在主 Prometheus 服务器的 prometheus.yml 配置文件中,将它们的地址全部添加到 targets 列表中:
targets: ["192.168.1.100:9091", "192.168.1.101:9091", "192.168.1.102:9091"]

修改配置后,重启 Prometheus 服务:
systemctl restart prometheus
刷新 Grafana 仪表盘,即可在下拉菜单中选择不同的监控节点,查看其资源状态。这构成了一个基础的 分布式服务器监控 方案。

附:常用的 Node Exporter 仪表盘推荐