らくがきちょう

なんとなく

deadman で Ping 監視する

Facebook の ShowNet アカウントで紹介されていたPing 監視ツールである upa/deadmanを試してみました。 Python が動作する環境であれば良く、インストール不要、GitHub からソースコードを取得して実行するだけ、設定ファイルもシンプルで、これ以上無い程手軽に試すことが出来ます。

deadman を動かす

GitHub からソースコードを取得し、設定ファイルを指定して実行するだけです!

git clone https://github.com/upa/deadman.git
cd deadman/
./deadman deadman.conf

設定ファイル

監視対象は設定ファイルに記載します。 サンプルとして付属する設定ファイル deadman.conf の中身は以下のようになっていました。 自分の環境に合わせて書き換えます。

#
#  deadman config
#
google      216.58.197.174
googleDNS   8.8.8.8
mroot       202.12.27.33
mroot6      2001:dc3::35
kame        203.178.141.194
kame6       2001:200:dff:fff1:216:3eff:feb1:44d7




#
#  ping via ssh relay host.
#
#  Syntax
#  Name    Address relay=SSHHOST os=Linux user=USER key=RSAKEYPATH
#
#  In order to use ssh-relay, "relay" attribute must be specified.
#  if "os" is not specified, same OS name running the daedman is used.

#google-via-ssh    173.194.117.176 relay=X.X.X.X os=Linux


#
#  ping via snmpping (SNMPv2).  See RFC4560.
#
#  Syntax
#  Name    Address relay=SNMPHOST via=snmp community=COMMUNITY
#
#googleDNS-via-snmp    8.8.8.8 relay=X.X.X.X via=snmp community=public


#
#  ping via network namespace (Linux only).
#      Note: root privilege is required to exec anything on netns
#
#  Syntax
#  Name    Address relay=NETNSNAME via=netns
#
#googleDNS-via-netns   8.8.8.8 relay=netns1 via=netns

実行画面

実行例は以下の通りです。

                                       Dead Man
   From: 2131-01-c7 (127.0.0.1)                                      [ver 16.11.11]
   RTT Scale 10ms. Keys: (r)efresh

   HOSTNAME  ADDRESS               LOSS  TTL  RTT  AVG  SNT  RESULT
   google    216.58.197.174          0%   52    3    3   23  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
   googleDNS 8.8.8.8                 0%   54    3    3   23  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
   mroot     202.12.27.33            0%  244    3    3   23  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
 > kame      203.178.141.194         0%   46   11   11   23  ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂