1,下载ping_exporter包 点我下载
把下载好的rpm包 ping_exporter 上传到服务器上
sudo rpm -ivh ping_exporter_1.1.3_linux_amd64.rpm
2,编写一个ping.yml文件 以下是模板
sudo vim /data/prometheus/ping.yml
targets:
- 192.168.137.10
- 192.168.137.11
- 192.168.137.12
- 192.168.137.13
dns:
refresh: 2m15s
nameserver: 192.168.137.1
ping:
interval: 3s #每 3 秒发送一次 Ping 请求。
timeout: 5s #每次 Ping 请求等待目标主机响应的时间最多为 5 秒。
history-size: 42 #保留最近 42 次 Ping 请求的历史数据,用于计算统计信息,如丢包率。
payload-size: 120 #每次 Ping 请求的负载大小为 120 字节。
options:
disableIPv6: true
3,编写一个systemd守护进程 来启动ping_exporter
sudo vim /etc/systemd/system/ping_exporter.service
[Unit]
Description=Ping Exporter Service
Documentation=https://github.com/czerwonk/ping_exporter
After=network.target
[Service]
ExecStart=/usr/bin/ping_exporter --config.path=/data/prometheus/ping.yml
Restart=always
RestartSec=5s
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=ping_exporter
[Install]
WantedBy=multi-user.target
4, 启动ping_exporter
sudo systemctl daemon-reload
sudo systemctl enable ping_exporter --now
5,Prometheus配置
- job_name: 'ping_exporter'
static_configs:
- targets:
- 'localhost:9427'
labels:
service: ipmi
curl -X POST http://127.0.0.1:9090/-/reload
基本查询语句
ping_rtt_best_seconds
:最佳往返时间(秒)ping_rtt_worst_seconds
:最差往返时间(秒)ping_rtt_mean_seconds
:平均往返时间(以秒为单位)ping_rtt_std_deviation_seconds
:标准偏差(秒)ping_loss_ratio
:数据包丢失值从 0.0 到 1.0
定义 Prometheus 告警规则
groups:
- name: ping_alerts
rules:
- alert: HighPacketLoss
expr: ping_loss_ratio == 1
for: 3m
labels:
severity: critical
annotations:
summary: "High packet loss detected for target {{ $labels.target }}"
description: "Ping丢失率超过阈值 ({{ $value }} == 1) 超过3分钟。"
这个规则会在目标的 ping_loss_ratio
超过 5% 且持续超过 1 分钟时触发告警。
rules 自定义指标配置
- record: node:wping
expr: ping_loss_ratio{job="ping_exporter"}
labels:
tag: remote
No Comments