易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 3972|回复: 0
收起左侧

Nagios监控网络流量

[复制链接]
发表于 2017-12-13 17:55:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
之前用过一款监控网络流量的插件,感觉不太好用。因为他的in和out值只能限制到一个值。下面新用一个插件in和out值能够分别定义。和以前的插件方法大概相同。. m, A7 E& Y, P7 A  @+ ^

) M& O, d; P3 X( m. z  _+ h5 [! x1.  nagios主机安装net-snmp和RRDTOOL
% ?" X1 ]0 i5 Z9 [+ N2.  参照cacti,windows和linux的监控。在被监控主机上添加nagios主机IP
9 A7 M7 R. k  L! e: ~
) H; o* Y6 Y2 Q# C- ~1.   查找以下字段
' x! r5 j  c( c- X. [#       sec.name  source          community
& x  v* X* b: S& B8 x, gcom2sec local     127.0.0.1       public. j8 i; {8 ~( C* j6 [
com2sec local    192.168.2.2    public% g, B  h" A8 c( r4 h
#将"comunity"字段改为你要设置的密码.比如"public".将“default”改为你想哪台机器可以看到你的snmp信息,如192.168.2.2,我这里将source修改成了nagios主机。" K. J% G) x! \
2.   查找以下字段: o8 `) W5 B  w2 K  x
#  context sec.model sec.level match  read   write  notif4 e5 o9 t% z# w9 a1 ^
access MyROGroup ""      any       noauth    exact  all    none   none6 c1 J9 f6 D6 w9 K- H
access MyRWGroup ""      any       noauth    exact  all    all    none, H$ p( o6 s8 N0 C
#将read字段修改成all
& o, {1 l% q$ e$ e$ V6 t3.   查找以下字段; k! x- ^0 z% V
#           incl/excl subtree                          mask
) L) I$ f% q5 jview all    included  .1                               80! D8 c" V3 r' M# N& t! n8 J5 w
#把view前的#去掉8 ?) ?8 D$ ]1 |) G

5 K% Q! F. Q9 ]8 f8 S3.  测试6 `+ D, j4 S0 ]6 v- J
重启 snmp$ {: y5 R+ ~: ?* J: b
service snmpd restart
5 S5 }- A' a  q5 n- d, r在被空端:3 i6 b3 U2 `$ V# h
snmpwalk –c public –v 2c localhost
4 A) @: h5 F% r7 U! \' C在主控端测试
% @" v* j( q6 j9 {snmpwalk -v 2c -c public  被控端ip |grep IF. p/ e9 ^0 ~1 H9 m! E
如果没有if信息不能获取流量6 y' P/ J' K; _0 U# W3 Z! C
3.   获取被控端网卡信息
) S0 h- c- x9 d$ h
) }  l$ E! ]$ @[root@localhost libexec]# ./check_traffic.sh -V 2c -C public -H 192.168.2.6 -L
, Q9 h' h/ D$ ^List Interface for host 192.168.2.6.0 c1 N% Q0 w) X* d9 M
Interface index 1 orresponding to  lo
9 @* w& u# ]5 g# h# |- GInterface index 2 orresponding to  eth0
8 V0 N. X% ?0 W2 v2 P3 gInterface index 3 orresponding to  eth1
- _( q& w* r: S+ g( ~2 E* Y $ g3 ?2 I, m1 @' V3 r: h- J
4.   在nagios主机上添加check_traffic脚本
, l, D. c  ]- j6 U
1 P  R, e5 {: W' r [root@localhost libexec]# ./check_traffic.sh -h
9 Z+ y% \- y1 E7 lUsage:5 v9 }' o. E4 M* \+ ]9 p4 ]# }
./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/b
+ @* U" A  }& k( w+ RExample:
1 P* M8 u! V' |./check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 4 -w 200,100 -c 300,200 -K -B
& A& q$ H0 O, [! lOr -r to use Range Value Options:
! d; z! P7 V7 E./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
& W. y) t- y# [" p* P' uIf you don't use -K/M -B/b options, default -K -b, corresponding to Kbps. (默认单位)
- n8 C6 ~0 P' B+ `% y5 C0 Z. tMake sure that the check interval greater than 5 Seconds.4 ^+ R8 M$ e* i
Or modify the Min_Interval var in this file Line 180., a2 i# x# E4 o3 I& z
And, if you want in Verbose mode, use -v, to check the debug messages in the file /tmp/check_traffic.$$.' y9 s4 p4 C" ]0 m/ ~1 Q5 Y
Or use ./check_traffic.sh [ -v ] -V 1|2c|3 -C snmp-community -H host -L
! w: H: [' \5 Z+ nTo list all interfaces on specify host.
5 L4 {- O0 K# D) b
; }2 ?% e) Z5 H7 e1 ?+ _% L& M[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严重警告。+ c+ \4 o7 Z$ `  m: n7 T4 Q1 ^
OK - It's the first time for this plugins run. We'll get the data from the next time.
+ Z+ {: d& `* U; p+ i1 j3 x& t) e第一次执行,history data file(/var/tmp/check_traffic_${Host}_${Interface}.hist_dat)不存在,因此会由此提示,可以忽略,再执行一次可以正正常获取
/ E$ S3 b" `/ ^3 W& m4 VOK - 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
8 s7 X- }/ S  }0 C
- p$ N# x+ G) B6 [5.   在nagios的command文件里面定义check_traffic命令" c3 _6 z  z1 j, h- u
# W# g7 `- o0 L$ b
# 'check_traffic' command definition; a3 j" n. X4 E; z7 K
define command{2 d; C1 g% D! j& g0 s. w/ v
     command_name  check_traffic) }! ]% T% }) f. Y  `
     command_line $USER1$/check_traffic.sh -V 2c -C  public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -K -B  监控单位可以自定义
' Z+ V4 u5 p9 U8 J         }
5 X) T) z) q* i$ y1 n* r5 o( {8 ^
' r1 Z4 {/ h1 B  d9 ^& ^6.   在nagios的监控对象cfg文件里面添加check_traffic
3 ]+ k  V* [8 h. b
, @  Y2 t- ^6 \0 B) q* e6 @define service{  F6 Q8 ?  h1 @# ]3 G: d4 Q0 i
        use             generic-service& t+ O: J0 D# h) }, W( ^
        host_name       linux( {4 u1 ^5 `, y( c, [
        service_description     traffic
/ p* E7 {! U; G4 s9 n         check_command            check_traffic!3!200,300!400,500 监控eth1网卡
9 H, L! @1 @' c3 ^2 T                   }             #与定义的宏对应添加参数值
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 23:58 , Processed in 0.051476 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表