news 2026/9/1 22:16:37

docker 搭建 grafana+prometheus 监控主机资源之node_exporter

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
docker 搭建 grafana+prometheus 监控主机资源之node_exporter

服务基本信息
服务 作用 端口(默认)
Prometheus 普罗米修斯的主服务器 9090
Node_Exporter 负责收集Host硬件信息和操作系统信息 9100
MySqld_Exporter 负责收集mysql数据信息收集 9104
Cadvisor 负责收集Host上运行的docker容器信息 8080
Grafana 负责展示普罗米修斯监控界面 3000
Altermanager 等待接收prometheus发过来的告警信息,altermanager再发送给定义的收件人 9093
pometheus 是一套开源的监控 + 预警 + 时间序列数据库的组合,现在越来越多的公司或组织开始采用 Prometheus,现在常见的 kubernetes 容器管理系统,也会搭配 Prometheus 来进行监控。
Prometheus 本身不具备收集监控数据功能,需要使用 http 接口来获取不同的 export 收集的数据,存储到时序数据库中。

一、下载镜像
docker pull prom/prometheus
docker pull grafana/grafana
docker pull prom/node-exporter //下载到需要被监控的机器上
docker pull prom/mysqld-exporter //下载到需要被监控的机器上
docker pull google/cadvisor //下载到需要被监控的机器上
docker pull prom/alertmanager //下载到需要被监控的机器上

二、部署Prometheus

# 启动容器
docker run -itd --name docker_prometheus prom/prometheus

# 复制容器内部的配置文件到宿主机,不用事先创建$PWD/prometheus目录(后续的配置主要在该目录下展开,因此一定要拉到本地)
docker cp -a docker_prometheus:/etc/prometheus/ $PWD/prometheus

# 删除容器
docker rm -f docker_prometheus

# 启动容器 设置端口
docker run -itd --name docker_prometheus --restart=always -p 9090:9090 -v $PWD/prometheus:/etc/prometheus/ prom/prometheus

# docker run 运行
# --name 容器的名称
# -p 指定容器的端口映射
# -v 将本地路径映射到容器内(这样如果修改了本地的文件,只需restart容器即可在容器内生效)
# --restart 容器重启策略 no不重启,always 退出时总是重启
# prom/prometheus 选择镜像名称启动容器(默认镜像后面会加latest 如果拉取自己创建的镜像后面要加自己的版本号)

查看容器是否启动成功

docker ps | grep docker_prometheus

浏览器输入http://ip:9090/targets进入页面
docker ps | grep docker_prometheus

三、部署Grafana

# 启动grafana
docker run -itd --name grafana grafana/grafana

# 复制容器内部的配置文件到宿主机,不用事先创建$PWD/prometheus目录
docker cp -a grafana:/var/lib/grafana $PWD/grafana-storage

# 删除容器
docker rm -f grafana

# 添加目录权限(不添加权限不够,容器无法启动)
chmod -R 777 grafana-storage

# 启动容器 设置端口
docker run -itd --name=grafana --restart=always -p 3000:3000 -v $PWD/grafana-storage:/var/lib/grafana grafana/grafana

# docker run 运行
# --name 容器的名称
# -p 指定容器的端口映射
# -v:挂载宿主机目录和docker容器中的目录; $PWD/grafana-storage:本地宿主机绝对目录;/var/lib/grafana:容器目录(将容器目录挂载到本地)
# --restart 容器重启策略 no:不重启,always:退出时总是重启
# grafana/grafana 选择镜像名称启动容器.

四、安装node_exporter
node_export 是 Prometheus 的一个 export,主要是用来收集服务器硬件资源使用情况的。所以这个往往会部署再被监控的服务器上。即:grafana、Prometheus 会独立部署在一台机器上,node_export 则被部署在被监控的服务器上,收集被监控的服务器资源数据,给 Prometheus,然后再通过 grafana 展示出来。

# 启动node-exporter
docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

五、配置 Prometheus+node_exporter收集数据

vim prometheus/prometheus.yml

# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# 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: ["192.168.101.63:9090"]

# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.
labels:
app: "prometheus"
# 网站监控
- job_name: 'http_status'
static_configs:
- targets: ["192.168.101.63:9100"]
rgets:[‘xxx.xxx.xxx.xxx’]:服务器ip地址,可添加多台服务器以,分割。eg:[‘xxx.xxx.xxx.xxx’,‘xxx.xxx.xxx.xxx’]
但可以看到,有三个job_name,第一个似乎系统默认自带,其实这里的job_name可以在后续的prom界面以及grafana看到,且我本可以将后两个job_name的ip写在一起,用,隔开。但我还是写了两个,作用后面会看到,这里插个眼
重启Prometheus 容器后 修改后的文件直接同步到容器/etc/prometheus/中(因为我们docker run的时候指定了-v)

docker restart docker_prometheus

这里我就给一张总图哈,这是我所有的配置完成后的效果图,大家取自己需要的看,后续也就只用这张图了。这里就可以看下endpoint、labels的参数其实就是prometheus.yml中配置的参数,对应关系找到,各位根据需求自行修改,但这个并不是我刚才插眼要解释的地方

六、配置Granfana面板
  • 登录granfana 用户名密码默认为admin
  • 设置–数据源–添加数据源
  • 选择Prometheus并添加http://ip:9090
  • 选择数据展示模版,添加模版

模版地址1:(或者直接导入ID:8919)
模版地址2:(或者直接导入ID:11074)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 18:19:18

「直通」英伟达,蓝思科技补齐AI算力布局又一块拼图

AI产业炙手可热&#xff0c;如今&#xff0c;又一个巨头“曲线”加入。日前&#xff0c;蓝思科技&#xff08;300433.SZ/6613.HK&#xff09;公告拟战略收购PMG International Co.,LTD.&#xff08;裴美高国际有限公司&#xff09;&#xff0c;进而将元拾科技&#xff08;浙江&…

作者头像 李华
网站建设 2026/9/2 16:08:28

Dify + Jenkins 实现AI应用持续集成与自动化部署

Dify Jenkins 实现AI应用持续集成与自动化部署 在企业加速拥抱大模型的今天&#xff0c;一个现实问题日益凸显&#xff1a;如何让AI应用像传统软件一样&#xff0c;实现高效、稳定、可追溯的迭代&#xff1f;许多团队仍停留在“手动调试提示词—截图保存—人工上线”的原始模式…

作者头像 李华
网站建设 2026/9/1 17:26:33

MTS AI智能聚合公链正式上线

MTS AI 智能聚合公链于2025年12月15日正式上线MTS AI将为区块链赋予智慧&#xff0c;开启一次伟大的进化。 AI原生驱动&#xff0c;万链生态聚合&#xff0c;让创意无界生长&#xff01; 公链代币名称MTS&#xff0c;总发行量1亿枚&#xff0c;采用POS挖矿机制&#xff0c;技术…

作者头像 李华
网站建设 2026/9/1 17:26:56

LobeChat能否生成SQL语句?数据库查询助手上线

LobeChat能否生成SQL语句&#xff1f;数据库查询助手上线 在企业数据爆炸式增长的今天&#xff0c;一个业务人员想查“上个月华东区销售额破百万的客户有哪些”&#xff0c;却不得不等数据团队排期、写SQL、跑结果——这种低效早已成为组织敏捷性的瓶颈。而当大语言模型&#x…

作者头像 李华
网站建设 2026/9/2 13:29:23

告别深夜批改:用Qwen3-VL大模型打造会“理解”的作文阅卷助手

深夜十一点&#xff0c;李老师揉了揉发酸的眼睛&#xff0c;面前还有三十多篇作文等待批改。 这是无数语文教师的日常写照——繁重的批改负担、难以完全统一的标准、反馈到达学生手中时已失去时效性。 而在AI技术日新月异的今天&#xff0c;我们能否让机器真正“理解”一篇作…

作者头像 李华
网站建设 2026/9/1 9:09:46

LobeChat语音输入功能实测:让AI对话更自然流畅

LobeChat语音输入功能实测&#xff1a;让AI对话更自然流畅 在移动办公、车载交互和无障碍场景日益普及的今天&#xff0c;用户对AI助手的期待早已不止于“能答”&#xff0c;而是“听得懂、反应快、用得顺”。键盘敲字虽然精准&#xff0c;但面对做饭时腾不出手查菜谱、开车途中…

作者头像 李华