Network Users' Group ``wheel'' / Dai ISHIJIMA's Page /
RTA55i / 拒絶したパケットの数
wgetでMRTGその2netstatで
SNMPを使わずにifconfigでapacheのログを

最終更新日: 2005-05-19


拒絶したパケット数をMRTGでモニタ


RTシリーズで、NOTICEレベルのログをsyslogで吐くようにしておき、 そのログが /var/log/routers.notice に記録されるようにしておきます。 そして、 以下のようなスクリプトを /usr/local/libexec/router-attack.sh というファイル名で用意しておきます。

	#! /bin/sh
	#
	#   router-attack.sh -- ルータログから拒絶したパケットを数える
	#
	#	0.1: Apr.  8, 2005 (MRTGが整数演算なので1000倍に)
	#

	export LANG=C
	rtlog=/var/log/routers.notice
	fwlog=/var/log/security

	# 切り捨てでデータが無視されるのを防ぐために1000倍しておく
	# 縦軸の単位は [ミリパケット/秒] に
	router=`grep Reject $rtlog | wc -l | awk '{print 1000*$1}'`
	ipfw=`grep Deny $fwlog | wc -l | awk '{print 1000*$1}'`

	echo $router
	echo $ipfw
	echo 0
	echo Number of Rejected Packets

	exit 0

	# EOF
mrtg.cfgに次のように設定すると、 MRTGでRTシリーズがパケットフィルタリングで拒絶したパケットの数を グラフ化することができます。
	#
	#   router.cfg
	#

	# absolute - 得られた値をそのままグラフ化
	# gauge    - 得られた値を間隔(300秒)で割ってグラフ化
	# 指定なし - 得られた値と直前の値の差を間隔(300秒)で割ってグラフ化
	Options[_]: growright,nopercent,withzeroes,nolegend,perminute

	Target[router-attack]: `/bin/sh /usr/local/libexec/router-attack.sh`
	MaxBytes[router-attack]: 1000000
	Title[router-attack]: number of rejected packets
	YLegend[router-attack]: m packets/min
	ShortLegend[router-attack]: milli-packets/min
	LegendI[router-attack]: router
	LegendO[router-attack]: ipfw

ご質問などありましたらお気軽に