当前位置: 首页 > news >正文

Prometheus实战教程 03 - 主机监控

📚 我的专栏|持续更新中

🐍 Vben Admin框架实战(Python Flask后端)
🐹 Golang 运维开发实战手册
🐧 Linux性能优化原理和实战
💬 Kafka原理与运维实战
🚀 Linux 运维进阶必备【案例分享】

目录

    • 📚 我的专栏|持续更新中
    • 环境准备
    • 部署 Prometheus Server
    • 部署 Grafana
      • 下载 grafana
      • 创建 grafana Service文件
      • 配置 grafana 并启动
      • 访问grafana
      • 配置 grafana 新增 Prometheus 数据源
    • 部署 node_exporter
      • 下载node_exporter安装包文件
      • 创建node_exporter Service 文件
    • Prometheus 添加主机监控目标
      • Prometheus 加载 prometheus.yml 三种方式
        • 通过信号量触发配置重载(推荐)
        • 通过 HTTP API 触发配置重载(v2.0+ 支持)
        • 直接重启Prometheus 服务
      • 查看Prometheus Targets(验证监控是否成功)
    • Grafana 添加 主机监控模板
    • 小结

Prometheus 进行主机监控主要通过部署 Node Exporter 来采集系统级指标,并将其与 Prometheus Server 进行配置连接,最后可通过 Grafana 进行数据可视化。

环境准备

准备两台Centos7 Linux主机(虚拟机)可以通过Vmware或者Virtual Box创建。

IP角色
192.168.37.20Prometheus Server
192.168.37.21node_exporter

部署 Prometheus Server

具体步骤参考我之前这篇文章:

二进制方式部署 Prometheus Server

部署 Grafana

下载 grafana

打开网址:
https://grafana.com/grafana/download/9.5.21?pg=oss-graf&plcmt=hero-btn-1
在这里插入图片描述

mkdir -p  /data/middleware  && cd /data/middleware# 下载文件
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.5.21.linux-amd64.tar.gz解压文件
tar -zxvf grafana-enterprise-9.5.21.linux-amd64.tar.gz

创建 grafana Service文件

vim /etc/systemd/system/grafana.service

[Unit]
Description=Grafana instance
Documentation=https://grafana.com/docs/
Wants=network-online.target
After=network-online.target[Service]
User=grafana
Group=grafana
Type=simple
ExecStart=/data/middleware/grafana-v9.5.21/bin/grafana-server -config /data/middleware/grafana-v9.5.21/conf/custom.ini
Restart=on-failure
WorkingDirectory=/data/middleware/grafana-v9.5.21
PrivateTmp=true[Install]
WantedBy=multi-user.target

配置 grafana 并启动

默认配置可直接启动,如需自定义端口、数据存储路径等,修改/data/middleware/grafana-v9.5.21/conf/defaults.ini

# 备份原来的 defaults.ini
cp defaults.ini custom.ini# 修改
端口修改:找到http_port = 3000,改为自定义端口(如 8080)。
数据存储:找到data = ${GF_PATHS_HOME}/data,指定自定义数据目录(需提前创建并授权)。
日志路径:找到logs = ${GF_PATHS_HOME}/logs,指定自定义日志目录。

在这里插入图片描述

启动 grafana 服务:

systemctl enable grafana  .service
systemctl start grafana  .service
systemctl status grafana  .service

访问grafana

Windows浏览器访问 grafana服务地址: http://192.168.37.20:3000/

在这里插入图片描述
通过默认的账户密码: admin/admin 访问。

登录完成后,会提示修改默认密码,也可以选中忽略,这里应该设置为安全级别高的密码。

配置 grafana 新增 Prometheus 数据源

  1. 登录 Grafana 后,点击左侧菜单 Administration(齿轮图标)→ Data Sources。
  2. 点击 Add data source,选择 Prometheus。
  3. 在配置页填写:
    • Name:自定义名称(如 Prometheus)
    • URL:http://192.168.37.20:9090(具体填写自己的Prometheus地址)
  4. 点击 Save & test,显示 Data source is working 即成功。

部署 node_exporter

下载node_exporter安装包文件

下载地址:https://prometheus.io/download/#node_exporter
github.com仓库地址:https://github.com/prometheus/node_exporter
在这里插入图片描述
下载文件,解压

# 我用的Centos7操作系统
mkdir -p  /data/monitor  && cd /data/monitor/
curl -OL https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz# 解压文件
tar xvf node_exporter-1.10.2.linux-amd64.tar.gz
# 重命名
mv node_exporter-1.10.2.linux-amd64/ node_exporter

创建node_exporter Service 文件

创建 node_exporter 启动脚本:

$ vim /usr/lib/systemd/system/node_exporter.service添加如下内容:[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target[Service]
Type=simple
ExecStart=/data/monitor/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target

启动 node_exporter 服务:

systemctl enable node_exporter.service
systemctl start node_exporter.service
systemctl status node_exporter.service
ss -tnl | grep 9100

打开Window主机浏览器,输入地址:http://192.168.37.21:9100/

在这里插入图片描述
访问: http://192.168.37.21:9100/metrics
在这里插入图片描述

Prometheus 添加主机监控目标

cd /data/middleware/prometheus-3.5.0.linux-amd64
vim prometheus.yml# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.labels:app: "prometheus"# 新添加的对其它node节点抓取数据- job_name: "node_exporter"static_configs:- targets:  ["192.168.37.21:9100"]

Prometheus 加载 prometheus.yml 三种方式

Prometheus 中,加载 prometheus.yml 配置主要有三张种常见方式。

  • 通过信号量触发配置重载(推荐)
  • 通过 HTTP API 触发配置重载(v2.0+ 支持)
  • 重启Prometheus服务
通过信号量触发配置重载(推荐)

Prometheus 支持通过发送 SIGHUP 信号触发配置热加载,无需重启服务,步骤如下:

执行以下命令找到 Prometheus 进程的 PID:

ps aux | grep prometheus

向该进程发送 SIGHUP 信号,触发配置重新加载:

kill -HUP <prometheus_pid>
通过 HTTP API 触发配置重载(v2.0+ 支持)

Prometheus 提供了 HTTP 接口用于重载配置,需确保启动时开启了 API 服务(默认开启,监听在 --web.listen-address 配置的端口,通常为 9090):

调用 reload 接口

curl -X POST http://<prometheus_ip>:9090/-/reload

验证结果

  • 若返回空响应(状态码 200 OK),表示重载成功。
  • Lifecycle API is not enabled. 提示需要启动命令加参数 --web.enable-lifecycle
直接重启Prometheus 服务

生产环境不推荐此方式。

systemctl restart prometheus

查看Prometheus Targets(验证监控是否成功)

访问Prometheus页面 http://192.168.37.20:9090/targets
在这里插入图片描述
现在我们主机已经添加到Prometheus Targets中了,并且State 是 up 状态,说明主机目前运行中。

Grafana 添加 主机监控模板

推荐使用社区成熟模板(ID:1860,Node Exporter 全面监控模板):

  1. 点击左侧菜单 Dashboards → + Import。
  2. 在 Import via grafana.com 输入模板 ID:1860,点击 Load。
  3. 在配置页:
    • Name:自定义面板名称(如 Host Monitoring)
    • Prometheus:选择已配置的 Prometheus 数据源
  4. 点击 Import,完成后即可看到主机监控面板(包含 CPU、内存、磁盘、网络等指标)。

在这里插入图片描述
在这里插入图片描述

小结

今天我们学习了以下内容:

  • 基于二进制方式部署Prometheus
  • 基于二进制方式部署Grafana
  • 部署node_exporter 对主机添加监控。
  • Grafana 导入 主机监控模板
  • 了解到 Prometheus 加载 prometheus.yml 变更的 三种常用方式
http://www.dtcms.com/a/558590.html

相关文章:

  • 建行网站查询密码是什么东西江门关键词优化公司
  • 开源企业网站建设系统中小企业有哪些公司
  • 金融投资网站方案精湛的中山网站建设
  • 人工智能训练师——2.1.1题解
  • 大学生网页设计与制作模板seo顾问服务福建
  • JavaScript 错误处理:全面解析与高效解决方案
  • 网站开发的广告国网商旅网页地址
  • 网站建设新闻++常识龙岗网站建设szaow
  • 学习RT-Thread(RT-Thread简介、RT-Thread环境搭建)
  • 外贸网站高端定做易店无忧官网
  • 手机集团网站建设洛阳网站建设优化案例
  • 建立网站一般会遇到什么问题免费设计签名软件
  • linux系统启动失败之flash异常分析
  • 2025年江西省职业院校技能大赛高职组“区块链技术应用”任务书(2卷)
  • 会外语和做网站成都最差的十大物业公司
  • wordpress多站点注册页手机怎么做网站
  • printf线程问题
  • 裂变速度提升300%!279模式如何盘活一个私域商城
  • 浙江省工程建设协会网站上海工程招标网招标公告
  • Linux用户和权限
  • 2025年 11月 每日分享
  • 网站建设应遵循的原则十大酒店管理系统
  • 襄阳网站建设首选公司哪家好潢川网站建设公司
  • 新手小白如何使用串口发送一个字符串
  • 西部数码网站建设教程母婴用品网站建设规划
  • wordpress super cacheseo关键词优化服务
  • Python---数据容器( tuple 元组)
  • 微信小程序在哪里找?seo联盟怎么赚钱
  • Windows上使用WSL2创建Ubuntu系统,实现无缝高效开发的体验
  • 好的活动策划网站华为荣耀官网手机旗舰店