nagios监控单个文件大小,超过设定的最大值则发出警报,找了半天结果发现nsclient内置就有这样的功能。解决办法如下

1:在nsc.ini中添加如下内容

check_tempdb=inject CheckFileSize ShowAll MaxWarn=600M MaxCrit=1000M File:Tempdb.MDF=C:\PROGRA~1\MICROS~1\MSSQL.1\MSSQL\Data\tempdb.mdf
 

check_templog=inject CheckFileSize ShowAll MaxWarn=600M MaxCrit=1000M File:Templog.ldf=C:\PROGRA~1\MICROS~1\MSSQL.1\MSSQL\Data\templog.ldf

这里主意如果目录中有空格请用~1来表示

 

2:在nagios中定义如下命令

define service{
        use                     generic-service
        host_name               DBSLHX
        service_description     Check tempdb
        check_command           check_nrpe!check_tempdb
        normal_check_interval   5
        max_check_attempts      6
        notification_interval   30
        retry_check_interval    1
        }
define service{
        use                     generic-service
        host_name               DBSLHX
        service_description     Check templog
        check_command           check_nrpe!check_templog
        normal_check_interval   5
        max_check_attempts      6
        notification_interval   30
        retry_check_interval    1
        }前提是你要已经定义好了check_nrpe哇,在command.cfg中定义

接下来去看看你的nagios中吧,已经现实ok了。。

http://www.nsclient.org/nscp/wiki/CheckFileSize这个文章有详细的说明这个命令。