
czerwonk/ping_exporterPrometheus导出器,用于ICMP回显请求(ping)监控,基于digineo/go-ping库开发。该服务通过采集ICMP请求的统计数据(如往返时间、丢包率等),并通过HTTP接口暴露指标供Prometheus采集,适用于网络连通性和性能监控场景。
适用于需要通过Prometheus监控网络性能的场景,可监控目标主机、IP或域名的网络连通性、往返时间和丢包情况,广泛应用于网络设备监控、服务器可达性检测等运维监控场景。
监控目标和参数可通过YAML配置文件指定,示例如下:
yamltargets: - 8.8.8.8 # IPv4目标 - 8.8.4.4 - 2001:4860:4860::8888 # IPv6目标 - 2001:4860:4860::8844 - google.com # 域名(自动解析为IPv4/IPv6) dns: refresh: 2m15s # DNS记录刷新间隔 nameserver: 1.1.1.1 # 自定义DNS服务器(可选,默认使用系统resolver) ping: interval: 2s # ping间隔时间 timeout: 3s # 超时时间 history-size: 42 # 历史记录大小(用于计算统计值) payload-size: 120 # ICMP包负载大小(字节)
说明:域名会定期解析为对应的A(IPv4)和AAAA(IPv6)记录。默认使用系统resolver解析域名,可通过--dns.nameserver参数指定自定义DNS服务器,例如:
console# 使用Cloudflare公共DNS服务器 ./ping_exporter --dns.nameserver=1.1.1.1:53 [其他选项]
| 指标名称 | 描述 | 标签 |
|---|---|---|
ping_rtt_best_ms | 最佳往返时间(毫秒) | ip(目标IP)、ip_version(4/6)、target(目标名称) |
ping_rtt_worst_ms | 最差往返时间(毫秒) | 同上 |
ping_rtt_mean_ms | 平均往返时间(毫秒) | 同上 |
ping_rtt_std_deviation_ms | RTT标准差(毫秒) | 同上 |
ping_loss_percent | 丢包率(百分比) | 同上 |
ping_up | 导出器运行状态(版本信息) | - |
默认情况下,RTT指标以毫秒(ms)为单位,不符合Prometheus建议的秒为单位的规范。可通过--metrics.rttunit参数调整:
console# 保持毫秒单位(默认) ./ping_exporter --metrics.rttunit=ms [其他选项] # 使用秒为单位 ./ping_exporter --metrics.rttunit=s [其他选项] # 同时导出毫秒和秒单位指标(便于迁移) ./ping_exporter --metrics.rttunit=both [其他选项]
旧版本导出的ping_rtt_ms指标(含type标签,值为best/worst/mean/std_dev)默认仍会导出,但未来可能移除。可通过--metrics.deprecated参数控制:
console# 启用旧指标 ./ping_exporter --metrics.deprecated=enable [其他选项] # 禁用旧指标 ./ping_exporter --metrics.deprecated=disable [其他选项]
console# 指定目标列表 ./ping_exporter [选项] 目标1 目标2 ... # 使用配置文件 ./ping_exporter --config.path 配置文件路径 [选项] # 查看帮助 ./ping_exporter --help
通过curl获取指标:
consolecurl http://localhost:9427/metrics
Docker镜像地址:czerwonk/ping_exporter
consoledocker run -p 9427:9427 -v /本地配置目录:/config:ro --name ping_exporter czerwonk/ping_exporter
说明:
-p 9427:9427:映射容器的9427端口(默认暴露端口)到主机-v /本地配置目录:/config:ro:挂载本地配置目录到容器的/config目录(只读),配置文件需放在该目录下并命名为config.yml(或通过--config.path指定路径)通过fork仓库并提交pull request参与贡献,项目维护者会尽快响应。
MIT许可证,版权所有 (c) 2018 Philip Berndroth pberndro 和 Daniel Czerwonk dan_nrw



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务