prometheus+grafana监控虚拟机实操
本实验主要包括安装Node Exporter,用来收集系统指标。如何下载、安装和启动Node Exporter,包括创建服务文件,下载和配置Prometheus,编辑配置文件,添加Node Exporter的target到prometheus,最后是Grafana的安装和配置,以及Grafana的简单操作。
注:本实验在centos7系统的root管理员下进行。
1. 架构概述
- Prometheus:定时从目标拉取指标数据并存储。
- Node Exporter:部署在被监控的虚拟机上,用于采集系统指标(CPU、内存、磁盘等)。
- Grafana:从 Prometheus 读取数据并展示可视化仪表盘。
2. 安装与配置
2.1 安装 Node Exporter(在被监控的虚拟机上)
# 下载 Node Exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
# 解压并安装
tar -zxf node_exporter-1.7.0.linux-amd64.tar.gz
cd node_exporter-1.7.0.linux-amd64
mv node_exporter /usr/local/bin/
useradd -rs /bin/false node_exporter #创建node_exporter用户仅需读取系统指标,无需完整权限。
# 创建 systemd 服务文件
tee /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=Node Exporter
[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
验证 Node Exporter:
curl http://localhost:9100/metrics # 应看到指标数据
运行结果:
2.2 配置 Prometheus(在监控服务器上)
# 安装 Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz
tar -xzf prometheus-2.51.2.linux-amd64.tar.gz
mv prometheus-2.51.2.linux-amd64/prometheus /usr/local/bin/
mv prometheus-2.51.2.linux-amd64/promtool /usr/local/bin/
mkdir /etc/prometheus /var/lib/prometheus
#修改配置文件
cd prometheus-2.51.2.linux-amd64
vim prometheus.yml #增加下列配置文件
scrape_configs:
- job_name: "node"
static_configs:
- targets: ["192.168.111.106:9100"] # 替换为你自己node_export的ip
#移动配置文件
mv prometheus-2.51.2.linux-amd64/prometheus.yml /etc/prometheus/
3.创建 Prometheus 的 systemd 服务文件
执行以下命令创建服务文件 /etc/systemd/system/prometheus.service
:
tee /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus Server
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/data \
--web.listen-address=0.0.0.0:9090
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
4. 创建 Prometheus 用户和目录
确保用户、目录及权限正确:
# 创建 Prometheus 用户和组
useradd -r --no-create-home -s /bin/false prometheus
# 创建数据存储目录并授权
mkdir -p /var/lib/prometheus/data
chown -R prometheus:prometheus /var/lib/prometheus
chown -R prometheus:prometheus /etc/prometheus
5. 重新加载 systemd 并启动服务
# 重新加载 systemd 配置
systemctl daemon-reload
# 启动 Prometheus
systemctl start prometheus
# 设置开机自启
systemctl enable prometheus
6. 验证服务状态
systemctl status prometheus
浏览器访问prometheus的主机IP的9090端口可以进入其主页
7.安装 Grafana(在监控服务器上)
tee /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
EOF
yum install grafana -y
# 启动服务
systemctl start grafana-server
systemctl enable grafana-server
访问 Grafana:
http://192.168.111.105:3000
(默认账号:admin/admin)。
8.Grafana简单使用
1.添加数据源
- 左侧菜单点击 Configuration > Data Sources > Add data source。
- 选择数据源类型 Prometheus。
2.新建仪表盘
- 左侧菜单点击 Create > Dashboard。
- 点击 Add Visualization 添加第一个面板。
3.配置面板(Panel)
- Query 标签页:选择数据源,Prometheus。
- Visualization 标签页:选择图表类型。
- Panel Title:自定义面板名称。
4.保存仪表盘
- 点击顶部 Save,输入仪表盘名称,即可保存仪表盘。
如有问题欢迎留言~~