- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
之前用过一款监控网络流量的插件,感觉不太好用。因为他的in和out值只能限制到一个值。下面新用一个插件in和out值能够分别定义。和以前的插件方法大概相同。
" g' M8 W, E5 K6 t } 1 G$ {* A4 ]) V. e) {
1. nagios主机安装net-snmp和RRDTOOL
/ t( O0 g* d( w8 Q: {2. 参照cacti,windows和linux的监控。在被监控主机上添加nagios主机IP f K4 V0 X1 ^/ A5 C$ [. {
! V0 t. E: _7 A. k1. 查找以下字段. ? l8 Q' B- W8 N8 Y1 j
# sec.name source community
5 q5 J1 ?' I8 J4 ` zcom2sec local 127.0.0.1 public3 \ p9 q2 t) M% M4 T: A" n' r0 _% H
com2sec local 192.168.2.2 public
' ?/ e# C: z8 h/ k7 p i#将"comunity"字段改为你要设置的密码.比如"public".将“default”改为你想哪台机器可以看到你的snmp信息,如192.168.2.2,我这里将source修改成了nagios主机。
|* Q s8 `; y7 N/ ^2. 查找以下字段
8 u/ T# E3 q! L: |. r- l# context sec.model sec.level match read write notif
/ h6 Y3 g8 D, ~% u. m( I. Daccess MyROGroup "" any noauth exact all none none% [- U# A+ N3 ?3 _7 i& I" \
access MyRWGroup "" any noauth exact all all none. u0 ?$ Q6 V( k5 Q
#将read字段修改成all
$ U3 b( T2 P/ G2 B4 c3. 查找以下字段
]6 s5 ]* P. T' }9 C- w* i# incl/excl subtree mask
+ y0 Z% ]/ p! R6 U5 ~; A6 b" S6 Dview all included .1 80
. Q/ e1 J9 |# T6 A; k) N5 V8 q7 T# u- }#把view前的#去掉
9 O* w+ W1 g1 R2 ] L7 k( W( B7 W! x" P) y* b
3. 测试
) s1 `; s3 n" R6 q重启 snmp& k+ ? W- w$ ~8 A0 d1 o
service snmpd restart1 O) m. k5 i- t0 T; X
在被空端:
1 |* c9 q3 f3 ]snmpwalk –c public –v 2c localhost* C1 {4 H3 V* b6 ^
在主控端测试& M N. p4 S# \
snmpwalk -v 2c -c public 被控端ip |grep IF/ E- I( m$ j, i) X' k$ n& P0 j
如果没有if信息不能获取流量% F6 L* J+ T/ {
3. 获取被控端网卡信息
D2 ? ]- f1 D9 e# G1 u ) s+ e5 k7 M) V0 h; [" B" A
[root@localhost libexec]# ./check_traffic.sh -V 2c -C public -H 192.168.2.6 -L1 m- x+ J' X3 E! f1 i5 X7 B$ d% z8 ^+ c+ }0 R
List Interface for host 192.168.2.6.9 q1 T% C' r. A8 I* V
Interface index 1 orresponding to lo
, }- U2 j& [) f: a0 u# H' N" OInterface index 2 orresponding to eth0) o5 F) R; \2 D( G3 T
Interface index 3 orresponding to eth1
4 @, c; t( r9 b , h) e' S' A" G6 i
4. 在nagios主机上添加check_traffic脚本
5 O1 r6 ^- W- Y2 S3 b ) t7 G7 J, N |9 }6 e) D' Y
[root@localhost libexec]# ./check_traffic.sh -h
6 _' j' K# V6 `Usage:, r% O5 a# X0 ], D3 p# n
./check_traffic.sh [ -v ] [ -6 ] [ -r ] -V 1|2c|3 -C snmp-community -H host [ -L ] -I interface -w in,out-warning-value -c in,out-critical-value -K/M -B/b4 Y( z- P( K2 F2 X3 K/ t* w( c/ S
Example:; t& B8 V2 S$ [9 m5 @
./check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 4 -w 200,100 -c 300,200 -K -B D$ q" m; z! i8 N
Or -r to use Range Value Options:
5 A: w2 {# j3 `1 @6 A5 A" d./check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 4 -r -w 200-300,100-200 -c 100-400,50-250 -K -B
K$ B$ C/ I) k) {2 WIf you don't use -K/M -B/b options, default -K -b, corresponding to Kbps. (默认单位)
0 U8 L7 u X- X; ~, QMake sure that the check interval greater than 5 Seconds.
+ Z6 W3 i" j/ v5 D3 ^2 o0 zOr modify the Min_Interval var in this file Line 180.
9 a* T$ ?- H# Z8 x* qAnd, if you want in Verbose mode, use -v, to check the debug messages in the file /tmp/check_traffic.$$.$ J1 R6 q5 n. W% v9 l7 V
Or use ./check_traffic.sh [ -v ] -V 1|2c|3 -C snmp-community -H host -L4 R) H1 \7 D1 B' p
To list all interfaces on specify host.
& l# `! x$ y- b3 W( D. f* P . ~0 l; G0 c3 _$ {( ~+ u) l
[root@localhost libexec]# ./check_traffic.sh -V 2c -C public -H 192.168.2.6 -I 3 -w 200,300 -c 400,500 -K –B 定义in和out值分别超过200K、300K警告,超过400K,500k严重警告。. J4 p8 W% f& q' a8 ~1 o
OK - It's the first time for this plugins run. We'll get the data from the next time.4 d; a; `# }- j" a
第一次执行,history data file(/var/tmp/check_traffic_${Host}_${Interface}.hist_dat)不存在,因此会由此提示,可以忽略,再执行一次可以正正常获取9 t( V" P; m# D0 Q X
OK - The Traffic In is 1.3750KB, Out is 0.0KB, Total is 1.3750KB. The Check Interval is 104s |In=1.3750KB;200;400;0;0 Out=0.0KB;300;500;0;0 Total=1.3750KB;500;900;0;0 Interval=104s;1200;1800;0;0# r! u& v- k7 a, S: k4 t
8 A: z! H. l3 M- m' y5. 在nagios的command文件里面定义check_traffic命令7 U0 @! ?4 Y N1 | u
# c3 D5 C) `0 R# 'check_traffic' command definition- G& S6 D( u1 N* D; X# \% ~
define command{, J$ h; |% B ^3 q* l1 W
command_name check_traffic
3 G( }, g! W) j command_line $USER1$/check_traffic.sh -V 2c -C public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -K -B 监控单位可以自定义4 T3 P0 P2 b2 k3 T$ l
}5 j8 I' k' G% b! i
) }# \$ u J @. r: \ E
6. 在nagios的监控对象cfg文件里面添加check_traffic# P! {/ I* O# [9 l! N# l! L
/ J- G% [4 w$ n1 O
define service{0 j M4 B: d& Z3 b9 R- G0 [
use generic-service6 W$ m; s! i3 O4 c4 ]
host_name linux& P' s0 d: C6 i1 s! e4 f
service_description traffic
4 ^( I y/ v" D7 K! c check_command check_traffic!3!200,300!400,500 监控eth1网卡* V8 X* P& v5 D1 ?6 z# ~
} #与定义的宏对应添加参数值 |
|