arp出力を観測して活きているネットワーク機器の状態を 把握するmuninプラグインを作ってみた。 pingを使おうかと思ったけど、死んでいる機器があると遅いのでarpの方がいい。
つくったのは、子供のDSなどがネットワークを使っている時間などが把握できるように したかったから...
追記:うーん、単発的な通信しかしないと、1ドットと線でしか把握できず、どの端末が 活きていたのかわかりづらいなぁ...なんかいい表示方法ないかな...
#!/bin/bash #%# family=auto #%# capabilities=autoconf # 自宅内の機器のホスト名(DNSなどで名前が引けること) hosts="xxxx yyyy zzzz" available="yes" case $1 in config) echo "graph_title Local Activity by ARP" echo "graph_category system" echo "graph_vlabel Activity" echo "graph_args --base 1000" for host in $hosts ; do echo "${host}.label ${host}" echo "${host}.draw AREASTACK" done exit 0 ;; autoconf) if [ "$available" = "yes" ]; then echo "yes" exit 0 else echo "no (daemon isn't running)" exit 1 fi ;; snmpconf|suggest) exit 0 ;; *) ;; esac for host in $hosts ; do eval "HOST_${host}=0" done # データの読み出し for host in `/usr/sbin/arp -a | /usr/bin/cut -d . -f 1 | /bin/sed 's/-/_/'` do eval "HOST_${host}=1" done for host in $hosts ; do eval echo ${host}.value '$HOST_'${host} done