arpでnetwork稼働状態モニタリング

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

 

2017年2月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

ウェブページ

アーカイブ

Webデータ

このブログ記事について

このページは、T-Saitohが2011年1月 3日 00:24に書いたブログ記事です。

ひとつ前のブログ記事は「Buffaloルータ用muninプラグイン」です。

次のブログ記事は「mixiアカを作ってみた。...(01/02)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。