在运维工作中,服务器的健康状态至关重要。如何实时监控 CPU、内存、磁盘、网络等关键指标,并可视化展示?本篇文章将手把手教你使用 Prometheus 和 Grafana 搭建一套完善的 Linux 服务器监控系统,从 0 到 1,让你的服务器监控更智能、更直观!
一、什么是 Prometheus 和 Grafana?
1. Prometheus:一个强大的时间序列数据库,专门用于系统监控和报警,支持多种数据采集方式。
2. Grafana:一个数据可视化工具,可以将 Prometheus 采集的数据以图表、仪表盘等方式直观展示,方便分析。
二、环境准备
1. 服务器环境
o 操作系统:CentOS 7 / Ubuntu 20.04
o Prometheus 版本:最新稳定版
o Grafana 版本:最新稳定版
2. 安装依赖
在安装前,确保你的服务器已安装 wget 和 tar,可以使用以下命令安装:
sudo apt update && sudo apt install -y wget tar # Ubuntu/Debian
sudo yum install -y wget tar # CentOS
三、安装 Prometheus
1. 下载并解压
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-linux-amd64.tar.gz
tar -xvf prometheus-linux-amd64.tar.gz
cd prometheus-*
2. 配置 Prometheus
编辑 prometheus.yml,添加如下配置,采集本机的系统指标:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'linux-monitoring'
static_configs:
- targets: ['localhost:9090']
3. 启动 Prometheus
./prometheus --config.file=prometheus.yml &
Prometheus 运行后,可以通过 http://服务器IP:9090 访问其 Web 界面。
四、安装 Node Exporter(系统监控采集器)
Node Exporter 用于采集 Linux 系统的 CPU、内存、磁盘等指标。
1. 下载并启动
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-linux-amd64.tar.gz
tar -xvf node_exporter-linux-amd64.tar.gz
cd node_exporter-*
./node_exporter &
Node Exporter 运行后,会监听 9100 端口,Prometheus 可以通过它采集系统数据。
2. 配置 Prometheus 采集 Node Exporter
修改 prometheus.yml 文件,添加 Node Exporter 目标:
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['localhost:9100']
然后重启 Prometheus:
pkill prometheus
./prometheus --config.file=prometheus.yml &
五、安装 Grafana
1. 下载并安装
wget https://dl.grafana.com/oss/release/grafana-9.4.7.linux-amd64.tar.gz
tar -xvf grafana-9.4.7.linux-amd64.tar.gz
cd grafana-*
./bin/grafana-server &
2. 访问 Grafana
Grafana 运行后,访问 http://服务器IP:3000,默认账号密码为 admin/admin。
3. 添加 Prometheus 数据源
1. 在 Grafana 后台,进入 “Configuration” -> “Data Sources”。
2. 选择 Prometheus,填入 http://localhost:9090,点击 “Save & Test”。
4. 导入服务器监控仪表盘
1. 进入 “Dashboard” -> “Import”。
2. 输入 1860(官方 Node Exporter Dashboard ID),导入后即可看到完整的 Linux 服务器监控面板!
六、结语
至此,我们完成了一套完整的 Linux 服务器监控系统:
o Prometheus 负责数据采集与存储
o Node Exporter 负责采集 CPU、内存、磁盘等系统指标
o Grafana 负责可视化展示,提供美观的监控面板
这套监控方案简单高效,适用于个人服务器运维、企业 IT 监控等场景。快来试试吧!
如果觉得这篇文章有帮助,记得点赞、收藏,并关注我,后续会分享更多 Linux 运维相关的实战教程!