check_nt的使用方法
这是NsClient++默认的使用方法,但是他可以监控的功能比较基础,应该说是一种用于上手的监控手段吧。
语法: check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout] 选项:
-h, --help 显示帮助
-V, --version 显示版本信息
-H, --hostname=HOST 被监控主机名称或IP
-p, --port=INTEGER 监控端口(默认为1248,不过我的nagios安装后端口为12489)
-s, --secret= 要求的密码
-w, --warning=INTEGER 引发报警状态的阀值
-c, --critical=INTEGER引发严重错误状态的阀值
-t, --timeout=INTEGER 连接尝试超时秒数 (默认 -l, --params= 参数传递给指定的监控项 (见下文)
-d, --display={SHOWALL}显示选项(目前仅支持SHOWALL)
-u, --unknown-timeout多长时间后返回 UNKNOWN)
-v, --variable=STRING 监控参数 监控参数: CLIENTVERSION = Get the NSClient version 如果用 -l 指定版本号,则版本不同时会报警
CPULOAD
= 最后X分钟CPU的平均负载。-l 格式为:-l ,,。 时间范围不能超过 24*60分钟
阀值是一个百分比,最多一次可以监控10个阀值,比如: ie: -l 60,90,95,120,90,95
UPTIME
= 获得主机开机时间。无指定参数,也没有报警与错误阀值。
USEDDISKSPACE
= 指定磁盘的使用率。只要求 -l 指定磁盘的驱动器号。用-w 指定报警阀值 用-c指定错误阀值
MEMUSE
= 内存使用率。用-w 指定报警阀值 用-c指定错误阀值
SERVICESTATE
= 监控一个或多个服务的状态。-l 格式为:-l ,,,...。可以使用-d SHOWALL指定返回某个服务的状态。
PROCSTATE
= 监控某个或某几个进程是否在运行。命令格式类似于SERVICESTATE
COUNTER
= 监控Windows NT/2000的任何性能计数器。-l 格式为:-l "\\\\counter","“
描述参数是可选的仅用于要求输出浮点数的计数器。如果内容中不包含"%%",那它就做为标 题显示。
例如:"Paging file usage is %%.2f %%%%""%%.f %%%% paging file used."
对于计数器中包含“\","$"字符的最好都用上转值符号”\",以保证计数器名称正确。
INSTANCES
= 监控Windows NT/2000的任何性能计数器对象。
格式: check_nt -H -p -v INSTANCES -l 为一项性能计数器
(比如: Process),如果计数器名称有两个单词,需要用括号括起来。返加的结果为用逗号分开的各计数器数据列表。
这样做的目的在于不登录进系统就可以在命令行下直接运行perfmon中的指定计数器。它也可以用做脚本自动创建Nagios服务配置文件。
例子:check_nt -H 192.168.1.1 -p 1248 -v INSTANCES -l Process
以下是nagios的windows.cfg中使用check_nt的监控例子:
#定义要被监控的windows主机名与主机的IP地址
define host{
use windows-server
host_name ruanxi
alias My Windows Server
address 192.168.0.5
}
#定义一个主机名组(可以不用管它)
define hostgroup{
hostgroup_name windows-servers
alias Windows Servers
}
#检查windows主机是否已经安装了NSClient++,及它的版本号
define service{
use generic-service
host_name ruanxi
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
#监控 windows 主机的开机运作时间
define service{
use generic-service
host_name ruanxi
service_description Uptime
check_command check_nt!UPTIME
}
#监控 windows 主机的 CPU 负载
define service{
use generic-service
host_name ruanxi
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90 #CPU如果到达80%则报警,到达90%则警笛
}
#监控 windows 主机的内存使用状况
define service{
use generic-service
host_name ruanxi
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90 #内存使用到达80%则warn,到达90%则Critical
}
#监控 windows 主机的 C:\ 的空间使用量
define service{
use generic-service
host_name ruanxi
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
#监控 windows主机的W3SVC设置的动作状况
define service{
use generic-service
host_name ruanxi
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
#监控 windows 主机的 Explorer.exe 执行程序的运作状况,如程序终止了,则会发 CRITICA
define service{
use generic-service
host_name ruanxi
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
#监控 windows 主机的 MSSQLSERVER 服务的运作状况,如服务终止了,则会发 CRITICAL
define service{
use generic-service
host_name ruanxi
service_description MSSQL
check_command check_nt!SERVICESTATE!-d SHOWALL -l MSSQLSERVER
}
这是NsClient++默认的使用方法,但是他可以监控的功能比较基础,应该说是一种用于上手的监控手段吧。
语法: check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout] 选项:
-h, --help 显示帮助
-V, --version 显示版本信息
-H, --hostname=HOST 被监控主机名称或IP
-p, --port=INTEGER 监控端口(默认为1248,不过我的nagios安装后端口为12489)
-s, --secret= 要求的密码
-w, --warning=INTEGER 引发报警状态的阀值
-c, --critical=INTEGER引发严重错误状态的阀值
-t, --timeout=INTEGER 连接尝试超时秒数 (默认 -l, --params= 参数传递给指定的监控项 (见下文)
-d, --display={SHOWALL}显示选项(目前仅支持SHOWALL)
-u, --unknown-timeout多长时间后返回 UNKNOWN)
-v, --variable=STRING 监控参数 监控参数: CLIENTVERSION = Get the NSClient version 如果用 -l 指定版本号,则版本不同时会报警
CPULOAD
= 最后X分钟CPU的平均负载。-l 格式为:-l ,,。 时间范围不能超过 24*60分钟
阀值是一个百分比,最多一次可以监控10个阀值,比如: ie: -l 60,90,95,120,90,95
UPTIME
= 获得主机开机时间。无指定参数,也没有报警与错误阀值。
USEDDISKSPACE
= 指定磁盘的使用率。只要求 -l 指定磁盘的驱动器号。用-w 指定报警阀值 用-c指定错误阀值
MEMUSE
= 内存使用率。用-w 指定报警阀值 用-c指定错误阀值
SERVICESTATE
= 监控一个或多个服务的状态。-l 格式为:-l ,,,...。可以使用-d SHOWALL指定返回某个服务的状态。
PROCSTATE
= 监控某个或某几个进程是否在运行。命令格式类似于SERVICESTATE
COUNTER
= 监控Windows NT/2000的任何性能计数器。-l 格式为:-l "\\\\counter","“
描述参数是可选的仅用于要求输出浮点数的计数器。如果内容中不包含"%%",那它就做为标 题显示。
例如:"Paging file usage is %%.2f %%%%""%%.f %%%% paging file used."
对于计数器中包含“\","$"字符的最好都用上转值符号”\",以保证计数器名称正确。
INSTANCES
= 监控Windows NT/2000的任何性能计数器对象。
格式: check_nt -H -p -v INSTANCES -l 为一项性能计数器
(比如: Process),如果计数器名称有两个单词,需要用括号括起来。返加的结果为用逗号分开的各计数器数据列表。
这样做的目的在于不登录进系统就可以在命令行下直接运行perfmon中的指定计数器。它也可以用做脚本自动创建Nagios服务配置文件。
例子:check_nt -H 192.168.1.1 -p 1248 -v INSTANCES -l Process
以下是nagios的windows.cfg中使用check_nt的监控例子:
#定义要被监控的windows主机名与主机的IP地址
define host{
use windows-server
host_name ruanxi
alias My Windows Server
address 192.168.0.5
}
#定义一个主机名组(可以不用管它)
define hostgroup{
hostgroup_name windows-servers
alias Windows Servers
}
#检查windows主机是否已经安装了NSClient++,及它的版本号
define service{
use generic-service
host_name ruanxi
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
#监控 windows 主机的开机运作时间
define service{
use generic-service
host_name ruanxi
service_description Uptime
check_command check_nt!UPTIME
}
#监控 windows 主机的 CPU 负载
define service{
use generic-service
host_name ruanxi
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90 #CPU如果到达80%则报警,到达90%则警笛
}
#监控 windows 主机的内存使用状况
define service{
use generic-service
host_name ruanxi
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90 #内存使用到达80%则warn,到达90%则Critical
}
#监控 windows 主机的 C:\ 的空间使用量
define service{
use generic-service
host_name ruanxi
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
#监控 windows主机的W3SVC设置的动作状况
define service{
use generic-service
host_name ruanxi
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
#监控 windows 主机的 Explorer.exe 执行程序的运作状况,如程序终止了,则会发 CRITICA
define service{
use generic-service
host_name ruanxi
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
#监控 windows 主机的 MSSQLSERVER 服务的运作状况,如服务终止了,则会发 CRITICAL
define service{
use generic-service
host_name ruanxi
service_description MSSQL
check_command check_nt!SERVICESTATE!-d SHOWALL -l MSSQLSERVER
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29500582/viewspace-1544277/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29500582/viewspace-1544277/