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、进程数等全维度指标的可视化图表。
相关推荐
牛奶咖啡135 小时前
Prometheus+Grafana构建云原生分布式监控系统(十六) _基于Alertmanager的告警机制(一)
云原生·prometheus·prometheus告警整合·prometheus告警配置·prometheus告警规则·prometheus触发告警·告警规则配置实践
南宫乘风1 天前
Loki 日志采集落地:从单机 Helm 部署到 Promtail 采集与 Grafana 查询
grafana
码农小卡拉2 天前
Prometheus 监控 SpringBoot 应用完整教程
spring boot·后端·grafana·prometheus
牛奶咖啡132 天前
Prometheus+Grafana构建云原生分布式监控系统(十五)_Prometheus中PromQL使用(二)
云原生·prometheus·集合运算·对查询结果排序·直方图原理·统计掉线的实例·检查节点或指标是否存在
咖啡啡不加糖3 天前
Grafana 监控服务指标使用指南:打造可视化监控体系
java·后端·grafana
牛奶咖啡133 天前
Prometheus+Grafana构建云原生分布式监控系统(十四)_Prometheus中PromQL使用(一)
云原生·prometheus·promql·计算一个时间范围内的平均值·将相同数据整合查看整体趋势·计算时间范围内的最大最小比率·向量标量的算术运算
世界尽头与你3 天前
(修复方案)CVE-2021-43798: Grafana路径遍历漏洞
安全·grafana
牛奶咖啡134 天前
Prometheus+Grafana构建云原生分布式监控系统(十三)_Prometheus数据模型及其PromQL
云原生·prometheus·prometheus数据类型·promql使用场景·promql表达式解析·promql数据类型·监控系统的方法论与指标
AC赳赳老秦5 天前
外文文献精读:DeepSeek翻译并解析顶会论文核心技术要点
前端·flutter·zookeeper·自动化·rabbitmq·prometheus·deepseek