linux怎么查看本机内存大小
428
2022-10-09
#yyds干货盘点# Prometheus Exporter(十)Ping Exporter
本文已经收录在 Prometheus 合集 Prometheus 都可以采集那些指标?-- 常用 Exporter 合集 中。
在使用 Prometheus 的过程中,我们经常有需要 Ping 某个地址或者域名,并且监控 Ping 结果的来确定稳定性和延迟,这个时候我们可以使用 Ping Exporter 来实现,官方网址 ,Ping Exporter 的发行遵循 MIT License。
安装
下载二进制部署包
wget Ping Exporter 的二进制文件我们可以得到帮助信息
usage: ping_exporter [
从帮助信息来看,我们需要一个配置文件来指定要 Ping 的列表。另外常规的监听端口、 Metric 数据导出路径、日志输出级别都可以自定义。与 Ping 相关的时间间隔、超时时间、Ping 包大小、DNS 刷新时间等也可以自行设置,这些参数既可以在启动的时候 通过参数来设置,也可以在配置文件中进行设置。
我们来先准备一个配置文件:ping.yml 。其中 targets 下是我们要 Ping 的 IP 地址,V4 或者 V6 协议,也可以是域名。
targets: - 8.8.8.8 - 8.8.4.4 - 2001:4860:4860::8888 - 2001:4860:4860::8844 - baidu.com dns: refresh: 2m15s nameserver: 1.1.1.1 ping: interval: 2s timeout: 3s history-size: 42 payload-size: 120
官方提供了一个 ping-exporter.service 文件来控制 Ping Exporter 的启停。
[Unit] Description=Ping Exporter After=network.target [Service] User=ping_exporter ExecStart=/usr/local/bin/ping_exporter --config.path=/etc/ping_exporter/config.yml --web.listen-address=":9427" NoNewPrivileges=yes CapabilityBoundingSet=CAP_NET_RAW AmbientCapabilities=CAP_NET_RAW PrivateDevices=true PrivateTmp=yes ProtectControlGroups=true ProtectKernelModules=yes ProtectKernelTunables=true ProtectSystem=strict ProtectClock=true ProtectHostname=true ProtectHome=true DevicePolicy=closed RestrictNamespaces=yes RestrictRealtime=yes RestrictSUIDSGID=yes MemoryDenyWriteExecute=yes LockPersonality=yes [Install] WantedBy=default.target
如果我们使用 Docker 镜像来启动 Ping Exporter 的话,启动命令如下:
docker run -p 9427:9427 -v /path/to/config/directory:/config:ro --name ping_exporter czerwonk/ping_exporter
指标
Ping Exporter 运行后输出的结果如下:
# HELP ping_loss_percent Packet loss in percent # TYPE ping_loss_percent gauge ping_loss_percent{ip="2001:4860:4860::8844",ip_version="6",target="2001:4860:4860::8844"} 1 ping_loss_percent{ip="2001:4860:4860::8888",ip_version="6",target="2001:4860:4860::8888"} 1 ping_loss_percent{ip="220.181.38.148",ip_version="4",target="baidu.com"} 0 ping_loss_percent{ip="39.156.69.79",ip_version="4",target="baidu.com"} 0 ping_loss_percent{ip="8.8.4.4",ip_version="4",target="8.8.4.4"} 0 ping_loss_percent{ip="8.8.8.8",ip_version="4",target="8.8.8.8"} 0.1 # HELP ping_rtt_best_seconds_ms Best round trip time in millis (deprecated) # TYPE ping_rtt_best_seconds_ms gauge ping_rtt_best_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com"} 1.9935760498046875 ping_rtt_best_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com"} 4.307188034057617 ping_rtt_best_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4"} 40.30187225341797 ping_rtt_best_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8"} 44.01082229614258 # HELP ping_rtt_mean_seconds_ms Mean round trip time in millis (deprecated) # TYPE ping_rtt_mean_seconds_ms gauge ping_rtt_mean_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com"} 2.045837640762329 ping_rtt_mean_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com"} 4.4511942863464355 ping_rtt_mean_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4"} 40.4238166809082 ping_rtt_mean_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8"} 44.22184753417969 # HELP ping_rtt_seconds_ms Round trip time in millis (deprecated) # TYPE ping_rtt_seconds_ms gauge ping_rtt_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com",type="best"} 1.9935760498046875 ping_rtt_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com",type="mean"} 2.045837640762329 ping_rtt_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com",type="std_dev"} 0.04358862712979317 ping_rtt_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com",type="worst"} 2.149885892868042 ping_rtt_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com",type="best"} 4.307188034057617 ping_rtt_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com",type="mean"} 4.4511942863464355 ping_rtt_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com",type="std_dev"} 0.24366436898708344 ping_rtt_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com",type="worst"} 5.212696075439453 ping_rtt_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4",type="best"} 40.30187225341797 ping_rtt_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4",type="mean"} 40.4238166809082 ping_rtt_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4",type="std_dev"} 0.12417548894882202 ping_rtt_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4",type="worst"} 40.71577835083008 ping_rtt_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8",type="best"} 44.01082229614258 ping_rtt_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8",type="mean"} 44.22184753417969 ping_rtt_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8",type="std_dev"} 0.14494535326957703 ping_rtt_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8",type="worst"} 44.4484977722168 # HELP ping_rtt_std_deviation_seconds_ms Standard deviation in millis (deprecated) # TYPE ping_rtt_std_deviation_seconds_ms gauge ping_rtt_std_deviation_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com"} 0.04358862712979317 ping_rtt_std_deviation_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com"} 0.24366436898708344 ping_rtt_std_deviation_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4"} 0.12417548894882202 ping_rtt_std_deviation_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8"} 0.14494535326957703 # HELP ping_rtt_worst_seconds_ms Worst round trip time in millis (deprecated) # TYPE ping_rtt_worst_seconds_ms gauge ping_rtt_worst_seconds_ms{ip="220.181.38.148",ip_version="4",target="baidu.com"} 2.149885892868042 ping_rtt_worst_seconds_ms{ip="39.156.69.79",ip_version="4",target="baidu.com"} 5.212696075439453 ping_rtt_worst_seconds_ms{ip="8.8.4.4",ip_version="4",target="8.8.4.4"} 40.71577835083008 ping_rtt_worst_seconds_ms{ip="8.8.8.8",ip_version="4",target="8.8.8.8"} 44.4484977722168 # HELP ping_up ping_exporter version # TYPE ping_up gauge ping_up{version="0.4.7"} 1
来对结果进行一下解读ping_up 这个指标提供了 2 个信息,一个是当前 Ping Exporter 的版本信息,一个是当前的状态,值为 1 的时候是启动状态,值为 0 的时候是停止状态。
ping_loss_percent 这个提供了丢包率,ping_rtt_best_seconds_ms 最好的响应时间(millis)ping_rtt_mean_seconds_ms 平均响应时间(毫秒)(已弃用)ping_rtt_seconds_ms 响应时间(毫秒)(已弃用)ping_rtt_std_deviation_seconds_ms 以毫秒为单位的标准偏差(已弃用)ping_rtt_worst_seconds_ms 最差的响应时间(已弃用)
在 ping_rtt_seconds_ms 这个 Metric 里 已经用 label 对最好响应时间、最差响应时间、标准差进行了区分。
作者对好多指标标注了 deprecated 已弃用,但是也都还在,还没有到弃用的时间节点,可能后边几个版本就去掉了,个人感觉 ping_rtt_seconds_ms 和其他的几个指标有重复的情况,在使用的时候可以酌情选取。
小结
使用单个 Ping Exporter 其实效果有限,实际使用场景中,可以在每个机房或者数据中心部署一个,将多个的结果进行收集就可以形成一个简单的 Ping 检查的网络,如果能够结合配置自动发现,那效果会更好。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~