Nagios监测网络接口流量的插件 check_traffic.sh的一些使用说明

注意事项:

1、check_traffic_v1.0.6开始更改了performance data的输出格式,使其符合Nagios Plugins API的规范。现在PNP可以通过缺省模板生成流量图。NagiosGrahper也可以通过自定义模板来实现。

2、如果以非nagios用户身份,手动测试执行过该脚本,请在正式使用该脚本前,删除/var/tmp下对应测试生成的/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件,否则会造成nagios用户无法读写该文件的错误,我在监控windows的过程出现写dat是root权限,造成监控取得数据是unkown,增加/var/tmp的权限未nagios

check_traffic.sh的配置说明:
1. 程序说明

3

2. 用 -L选项列出对应主机所有的interface,来确定你要监控的网络接口(如果能你确认接口的index值,这一步可以省略)。
通过输出,我们确认要监控的网络接口为1,对应为”eth0″

4

3. 按照说明,选择版本为2c(一般选择1或者2c),community为public,interface为4,单位为KB/s,in流量对应warning/critical值为200/400,out流量对应warning/critical值为300/500.

[root@centos4 ~]# ./check_traffic.sh -V 2c -C public -H 10.60.30.53 -I 2 -w200,300 -c400,500 -K -B
Can not found data in the history data file.
If it’s the first time for this plugins, that’s OK.
Otherwise,please use debug mode and check the debug file.

4. 第一次执行,因为history data file不存在,因此会由此提示,可以忽略。
如果每次执行都忽略,则要检查/var/tmp下是否有/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件生成。
文件的内容是系统当前的时间,in及out当前的数值。

5.为了避免采集时间间隔过短影响流量数据的真实性及代表性,以及对系统负载造成的影响,脚本默认的Max_Interval=30。单位秒
如果需要使用更小的时间间隔,可以在脚本中修改此数值(一般系统,建议不要使用更小的时间间隔)。

6. command的配置:
以下示例中,使用-M -b选项,对应为单位Mbps。如果使用其他单位,请自行修改。
Command:
define command{
command_name  check_traffic_nv
command_line  $USER1$/check_traffic.sh  -V 2c -C not_public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -M -b
}

7. Service的配置:
注意,要确认retry_interval及normal_check_interval的时间间隔不要小于脚本的Max_Interval时间。
Service:
define service{
use  local-service  ; Name of service template to use
host_name  localhost
service_description  check_nv_traffic_eth0
check_command  check_traffic_nv!2!12,30!15,35
notifications_enabled  1
normal_check_interval  5  ;5分钟
retry_interval  1  ;1分钟
}

8. PNP的配置
此plugins performance data符合Nagios API规范,因此PNP的default.php即可解析性能数据,因此不再自定义模板文件,使用其缺省值。

此条目发表在Nagios分类目录。将固定链接加入收藏夹。