mackerel-plugin-pinging について
この記事はMackerelアドベントカレンダー9日目の記事です。 今年新たに作ったmackerel pluginの数がとても少なかったのでショックを受けているMackerelアンバサダーのkazeburoです。
この記事ではそのうちの一つを紹介します。
mackerel-agent-pinging
公式のpluginとして、check-pingがありますが、こちらはmetricsを取得するためのpluginとなります。
ariarijp さんによる mackerel-plugin-ping もありますが、こちらとは取得しているメトリクスが異なります。
使い方
$ sudo /usr/local/bin/mackerel-plugin-pinging --count 10 --key-prefix=example --host x.x.x.x pinging.example_rtt_count.success 10.000000 1575852276 pinging.example_rtt_count.error 0.000000 1575852276 pinging.example_rtt_ms.max 0.544514 1575852276 pinging.example_rtt_ms.min 0.464331 1575852276 pinging.example_rtt_ms.average 0.499242 1575852276 pinging.example_rtt_ms.90_percentile 0.526231 1575852276
実行には、SUIDを設定またはroot権限が必要になります。
この例では x.x.x.x に対して、10回pingパケットを送信し、その成功回数、失敗回数とRTTのMax、Min、平均と90%tileを出力します。
タイムアウトやpingを送出する間隔はオプションにて変更できます。
/usr/local/bin/mackerel-plugin-pinging -h Usage: mackerel-plugin-pinging [OPTIONS] Application Options: --host= Hostname to ping --timeout= timeout millisec per ping (default: 1000) --interval= sleep millisec after every ping (default: 10) --count= Count Sending ping (default: 10) --key-prefix= Metric key prefix -v, --version Show version Help Options: -h, --help Show this help message
使用例
mackerel-plugin-pinging はデータセンター間のレイテンシや、ネットワーク上の問題を検出するために使っています。
このグラフから某所から某所へのRTTは18msec、pingの失敗は観測されていないことがわかります。
NAT経由での外部との通信品質の監視、マルチクラウド環境でのVPNやinterconnectの監視にも利用できるかと思います。機会があればご利用ください。