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、进程数等全维度指标的可视化图表。
相关推荐
DLYSB_1 小时前
Kafka 消费倾斜死锁与 Partition 掉队:我用 Rust 写了个“数据管道物理哨兵”,比 Grafana 报警快了 18 秒
rust·kafka·grafana·报警灯
云烟成雨TD1 小时前
Micrometer 系列【63】统一观测:基于 Spring Boot 的生产级演示案例 | 基于 OTLP 集成 Prometheus + Jaeger
spring boot·云原生·prometheus
江南风月3 天前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
小张同学a.4 天前
zabbix企业级监控平台4——分布式监控与grafana数据可视化
linux·运维·数据库·分布式·信息可视化·zabbix·grafana
凤山老林5 天前
可观测性落地:Spring Boot 3.x + Actuator + Prometheus + Grafana 监控体系搭建
spring boot·grafana·prometheus
企鹅郁金香7 天前
部署搭建 Prometheus 和 Grafana教程
eureka·grafana·prometheus
云边有个稻草人7 天前
Ubuntu部署Prometheus与Alertmanager:服务接入和远程监控
数据库·ubuntu·prometheus
A 糖醋排骨9 天前
grafana loki alloy轻量级日志采集
运维·grafana·loki
雨辰AI9 天前
K8s 国产数据库慢 SQL 自动监控|Prometheus+Grafana 可视化全落地
数据库·sql·安全·容器·kubernetes·grafana·prometheus
lee_curry9 天前
RuoYi Cloud:Gateway、Auth、System 接入 Prometheus JVM 监控,并练习多副本、滚动升级和故障恢复
jvm·gateway·prometheus