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、进程数等全维度指标的可视化图表。
相关推荐
成为你的宁宁12 小时前
【Prometheus监控Nginx/Mysql/Redis/Docker/Rabbitmq】
mysql·nginx·prometheus
happymade1 天前
全网拓扑自动发现与服务器全维度监控的技术实践
linux·运维·服务器·网络·zabbix·路由器·prometheus
heimeiyingwang1 天前
【架构实战】监控告警Prometheus+Grafana:让系统问题无处遁形
架构·grafana·prometheus
ElevenS_it1882 天前
Zabbix+Prometheus+云监控告警统一接入实战:用Webhook+事件总线搭建多源告警归一化平台
kubernetes·zabbix·prometheus
成为你的宁宁2 天前
【基于 Docker-compose 部署 Prometheus 监控系统实战教程 】
docker·容器·prometheus
成为你的宁宁2 天前
【Prometheus+Grafana 监控平台二进制安装配置(图文实操详解)】
grafana·prometheus
蜀道山老天师3 天前
实操|Prometheus Pushgateway 部署、推送与数据管理全流程
运维·服务器·云原生·prometheus
蜀道山老天师3 天前
Docker Compose实战案例:一键部署WordPress+Prometheus监控平台
运维·docker·容器·prometheus
川石课堂软件测试3 天前
接口测试常见面试题及答案
python·网络协议·mysql·华为·单元测试·prometheus·harmonyos
海兰4 天前
在 Grafana 中驾驭 ES|QL:Elasticsearch 管道查询实战指南
大数据·elasticsearch·grafana