找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1163

积分

0

好友

163

主题
发表于 前天 08:01 | 查看: 7| 回复: 0

本文将在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_exporterIP:端口 即可。

图片

可以使用 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 添加数据源。

  1. 点击左侧齿轮图标,进入 Data Sources
  2. 选择 Prometheus
  3. HTTP URL 中填写 Prometheus 的访问地址(如 http://localhost:9090)。
  4. 滑动到页面底部,点击 Save & test,看到 Data source is working 的提示即表示成功。

图片图片图片图片

接下来导入现成的监控仪表盘(Dashboard)。Grafana 官方社区提供了丰富的模板。

  1. 点击左侧 田字格 图标,选择 Dashboards -> New -> Import
    图片图片
  2. 你可以访问 Grafana Dashboards 官网 搜索并下载喜欢的模板JSON文件。例如,搜索 “node exporter”。
    图片
  3. Node Exporter Full 仪表盘(ID: 1860)为例,进入详情页下载其JSON文件。
    图片图片
  4. 回到 Grafana 的导入页面,上传JSON文件或直接输入仪表盘ID(如1860)。
  5. 在下一步中,选择前面创建的 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 仪表盘推荐




上一篇:CS专业学生为何回避CSAPP:项目实战与理论学习的平衡策略
下一篇:Grml 2025.12发布:Linux 6.17内核与运维工具集全面清理
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 16:02 , Processed in 0.111208 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表