Prometheus是一个开源的监控系统和时序数据库,支持多操作系统的部署。除了传统的安装方式Prometheus还可以通过Docker或Kubernetes等容器平台进行部署。本篇教程主要介绍Prometheus和Grafana的基本部署、配置以及集成Node Exporter的步骤。
一、环境准备
1、节点要求
2、软件包
- Prometheus-2.45.1:https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-2.45.1.linux-amd64.tar.gz
- node_exporter-1.6.1:https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
- Grafana-10.2.0:https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.0-1.x86_64.rpm
二、部署Prometheus(二进制)
1、安装Prometheus
下载Prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-2.45.1.linux-amd64.tar.gz
部署:
验证:
配置用户:
groupadd prometheus useradd -g prometheus -s /sbin/nologin prometheus
2、修改安装目录权限
设置 Prometheus 安装目录的访问权限:
chown -R prometheus:prometheus /opt/prometheus/
3、创建Prometheus运行数据目录
创建用于存储 Prometheus 数据的目录:
mkdir -p /opt/prometheus/data chown -R prometheus:prometheus /opt/prometheus/data
三、配置Prometheus
1、配置文件格式
Prometheus 的配置文件采用 YAML 格式,通常是 “prometheus.yml” 文件。YAML 格式简单易读,且支持多种编程语言进行解析。
2、配置文件说明
global
3、常用命令行参数
alerting
rule_files
指定报警规则文件,这些规则基于某些指标触发报警。规则修改后,Prometheus 会根据配置的 “evaluation_interval” 自动加载。
scrape_configs
4、关键配置项
- job_name: 监控任务的名称(可理解为任务组);
- scrape_interval: 单独设置的抓取间隔时间,会覆盖 “global” 中的 “scrape_interval” 参数;
- metrics_path: 监控数据的访问路径;
- targets: 监控目标的地址;
- Prometheus 支持服务发现,可以通过配置文件或文件服务发现来动态发现目标。
5、配置文件重新加载
Prometheus 支持两种重新加载配置文件的方式:
1、向 Prometheus 进程发送 “HUP” 信号:
kill -HUP <pid>
2、通过 HTTP 请求重新加载:
curl -X POST http://<prometheus_host>:9090/-/reload
注意:需要在启动 Prometheus 时指定 “–web.enable-lifecycle” 选项以允许通过 HTTP 请求重新加载配置。
四、创建systemd服务脚本
1、启动并验证
重新加载 systemd 配置并启用 Prometheus 服务:
systemctl daemon-reload systemctl enable prometheus systemctl start prometheus
查看 Prometheus 服务状态:
systemctl status prometheus
查看 Prometheus 服务端口:
ss -tunlp | grep 9090
检查配置文件语法是否正确:
./promtool check config prometheus.yml
五、Grafana绘图
访问 Web UI
进入后,可以在 “Status” 菜单下查看 “Configuration”、”Rule” 和 “Targets” 等信息。
查看 Prometheus 从各个 exporter 收集的数据。
输入某个指标,点击“Execute”按钮,可以查看实时数据图表。
六、部署Node Exporter
Node Exporter 用于收集系统级别的监控指标。除了 Node Exporter,Prometheus 还支持如 Memcached、MySQL、HAProxy 等的 exporter。
1、安装Node Exporter
下载Node Exporter:
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
解压并安装:
添加用户:
设置开机启动:
验证:
在浏览器中访问 Node Exporter 默认的监控页面:
http://<node_exporter_ip>:9101/metrics
2、配置Prometheus集成Node Exporter
在 Prometheus 配置文件 “prometheus.yml” 中,添加 Node Exporter 作为目标:
重启 Prometheus 服务或通过热加载更新配置:
systemctl restart prometheus.service
或
curl -X POST http://<prometheus_host>:9090/-/reload
查看 Target 状态,确认 Prometheus 正在抓取 Node Exporter 数据。
七、部署Grafana
1、安装Grafana
下载 Grafana:
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.0-1.x86_64.rpm
安装Grafana:
yum -y install grafana-enterprise-10.2.0-1.x86_64.rpm
配置文件:
Grafana 的配置文件位于 “/etc/grafana/grafana.ini”,大部分情况下默认配置即可。
设置开机启动:
systemctl enable grafana-server systemctl start grafana-server
2、添加数据源
登录Grafana:
访问 Grafana Web UI:
http://127.0.0.1:3000
默认的用户名和密码是:”admin/admin”,首次登录时需要修改管理员密码。
添加 Prometheus 数据源:
在 Grafana 首页点击 “Add data source”。
URL:”http://localhost:9090″
其他配置保持默认。
3、导入监控模板
Grafana 提供了多种模板用于展示不同的监控数据。你可以从 Grafana 官方目录导入以下主机详情模板:
- 英文版模板 ID:11074
- 中文版模板 ID:16098
选择适合的模板后,Grafana 会自动展示相关的监控面板。
-
广告合作
-
QQ群号:707632017