Prometheus+Grafana监控服务器

1、概述

这套组合是目前开源监控领域的主流方案,Prometheus 负责指标采集、存储和查询,Grafana 负责将指标可视化成炫酷的仪表盘,搭配node_exporter可实现服务器(CPU、内存、磁盘、网络、负载等)核心指标的全维度监控,全程基于 Linux 环境(CentOS/Debian 通用),步骤清晰可直接落地。

2、安装

下载

node_exporter:https://github.com/prometheus/node_exporter/releases(服务器指标采集器,核心)

复制代码
# 创建统一安装目录
mkdir -p /opt/monitor && cd /opt/monitor
# 下载node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

安装

node_exporter是 Prometheus 官方的服务器指标采集器,会暴露9100端口,提供 CPU、内存、磁盘 I/O、网络、系统负载、磁盘使用率等全量服务器指标每台需要监控的服务器都必须部署

解压与部署

复制代码
cd /opt/monitor
tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz
mv node_exporter-1.8.2.linux-amd64 node_exporter
# 赋予执行权限
chmod +x /opt/monitor/node_exporter/node_exporter

制作系统服务(开机自启、后台运行)

复制代码
vim /usr/lib/systemd/system/node_exporter.service

写入以下内容:

复制代码
[Unit]
Description=Node Exporter
Documentation=https://prometheus.io/docs/guides/node-exporter/
After=network.target

[Service]
Type=simple
ExecStart=/opt/monitor/node_exporter/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动并设置开机自启

复制代码
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
# 验证是否启动成功(查看9100端口)
netstat -tnlp | grep 9100
# 验证指标是否暴露(返回大量指标则成功)
curl http://localhost:9100/metrics

3、配置 Prometheus(指标存储 / 查询)

Prometheus 是监控核心,负责从node_exporter拉取指标、将指标存储在本地时序数据库中,并提供PromQL查询语言和9090端口的 Web 界面,仅需部署一台即可监控多台服务器

配置 Prometheus(核心:配置采集目标)

修改 Prometheus 主配置文件prometheus.yml,添加node_exporter的采集目标(每台监控服务器的 IP:9100):

复制代码
vim /opt/monitor/prometheus/prometheus.yml

核心修改scrape_configs节点,完整配置如下(替换targets中的 IP 为实际服务器 IP,多个 IP 用逗号分隔):

复制代码
global:
  scrape_interval: 15s  # 采集指标的间隔,默认15秒
  evaluation_interval: 15s  # 规则评估间隔

alerting:
  alertmanagers:
    - static_configs:
        - targets: []

rule_files: []

scrape_configs:
  # 监控Prometheus自身
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  # 监控服务器(node_exporter),自定义job名称
  - job_name: "linux-server"
    static_configs:
      - targets: ["192.168.1.100:9100", "192.168.1.101:9100"]  # 替换为实际的服务器IP:9100

4、配置Grafana(指标可视化)

Grafana 是专业的可视化工具,支持 Prometheus、InfluxDB 等多种数据源,可通过预制仪表盘一键生成服务器监控大屏,无需手动配置图表,操作简单。

导入预制仪表盘(一键生成服务器监控大屏)

Grafana 社区有大量官方预制的服务器监控仪表盘 ,无需手动配置,导入仪表盘 ID 即可直接使用,最推荐的是 Node Exporter 官方仪表盘 ID:1860(覆盖所有服务器核心指标,可视化效果最佳)。

步骤:

  1. 点击左侧【Dashboards】->【New】->【Import】;
  2. 在【Import via grafana.com】中输入1860,点击【Load】;
  3. 选择已添加的 Prometheus 数据源,点击【Import】;
  4. 导入成功后,直接进入监控大屏,可看到CPU、内存、磁盘、网络、负载、磁盘 I/O、进程数等全维度指标的可视化图表。
相关推荐
SkyWalking中文站2 天前
使用 TraceQL 查询 SkyWalking 和 Zipkin 链路追踪数据并在 Grafana 中可视化
运维·grafana·监控
zs宝来了2 天前
Prometheus 监控体系原理:Pull 模式与 TSDB 时序数据库
prometheus·时序数据库·监控·tsdb·pull模式
何中应3 天前
Alertmanager设置邮件通知
运维·自动化·prometheus
安审若无3 天前
运维监控及可视化工具Prometheus和grafana
运维·grafana·prometheus
却话巴山夜雨时i3 天前
互联网大厂Java面试实录:从Spring Boot到Kafka的场景应用深度解析
spring boot·kafka·prometheus·微服务架构·java面试·技术解析·互联网大厂
却话巴山夜雨时i4 天前
Java面试实录:从Spring Boot到Kafka的技术探讨
spring boot·微服务·kafka·grafana·prometheus·java面试
阿杜杜不是阿木木4 天前
authentik开源身份认证与管理平台-与 Grafana 集成(12)
grafana·authentik
人人常欢笑7 天前
Grafana 表格自定义下载样式。
javascript·react.js·grafana
川石课堂软件测试7 天前
涨薪技术|Prometheus使用Recoding Rules优化性能
功能测试·测试工具·jmeter·mysql·面试·单元测试·prometheus
yunson_Liu7 天前
prometheus添加es监控模块
elasticsearch·prometheus