nagios基于NSClient监控windows系统Word格式.docx
《nagios基于NSClient监控windows系统Word格式.docx》由会员分享,可在线阅读,更多相关《nagios基于NSClient监控windows系统Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
Check_nt
测试命令
之前我产出里面监测linux用的nrpe,这里也是一样,还是先看看nt的插件和命令在不在
这里很明显,命令和插件都有,那么笔者来从远端测试一下虚拟机下的C盘多大!
这边显示快满了……笔者用笔记本开虚拟机,唉,进去看看是不是这样呢?
测试成功!
部署cfg配置文件及脚本
Nagios最头疼的就是脚本了,nt有几个常用的命令,我就复制粘贴到这里一下(to江涛:
这里我只有这一部分是复制粘贴!
),仅供参考。
首先是check_nt的语法及几个固定参数
语法:
check_nt-Hhost-vvariable[-pport][-wwarning][-ccritical][-lparams][-dSHOWALL][-u][-ttimeout]选项:
-h,--help显示帮助
-V,--version显示版本信息
-H,--hostname=HOST被监控主机名称或IP
-p,--port=INTEGER监控端口(默认为1248,不过我的nagios安装后端口为12489)
-s,--secret=<
password>
要求的密码
-w,--warning=INTEGER引发报警状态的阀值
-c,--critical=INTEGER引发严重错误状态的阀值
-t,--timeout=INTEGER连接尝试超时秒数(默认-l,--params=<
parameters>
参数传递给指定的监控项(见下文)
-d,--display={SHOWALL}显示选项(目前仅支持SHOWALL)
-u,--unknown-timeout多长时间后返回UNKNOWN)
-v,--variable=STRING监控参数监控参数:
CLIENTVERSION=GettheNSClientversion如果用-l<
version>
指定版本号,则版本不同时会报警
CPULOAD=最后X分钟CPU的平均负载。
-l格式为:
-l<
minutesrange>
<
warningthreshold>
criticalthreshold>
。
时间范围不能超过24*60分钟
阀值是一个百分比,最多一次可以监控10个阀值,比如:
ie:
-l60,90,95,120,90,95
UPTIME=获得主机开机时间。
无指定参数,也没有报警与错误阀值。
USEDDISKSPACE=指定磁盘的使用率。
只要求-l指定磁盘的驱动器号。
用-w指定报警阀值用-c指定错误阀值
MEMUSE=内存使用率。
SERVICESTATE=监控一个或多个服务的状态。
service1>
service2>
service3>
...。
可以使用-dSHOWALL指定返回某个服务的状态。
PROCSTATE=监控某个或某几个进程是否在运行。
命令格式类似于SERVICESTATE
COUNTER=监控Windows
NT/2000的任何性能计数器。
-l"
\\<
performanceobject>
\\counter"
"
<
描述>
“描述参数是可选的仅用于要求输出浮点数的计数器。
如果<
内容中不包含"
%%"
,那它就做为标题显示。
例如:
"
Pagingfileusageis%%.2f%%%%"
%%.f%%%%pagingfileused."
对于计数器中包含“\"
$"
字符的最好都用上转值符号”\"
以保证计数器名称正确。
INSTANCES=监控Windows
NT/2000的任何性能计数器对象。
格式:
check_nt-H<
hostname>
-p<
port>
-vINSTANCES-l<
counterobject>
<
为一项性能计数器(比如:
Process),如果计数器名称有两个单词,需要用括号括起来。
返加的结果为用逗号分开的各计数器数据列表。
这样做的目的在于不登录进系统就可以在命令行下直接运行perfmon中的指定计数器。
它也可以用做脚本自动创建Nagios服务配置文件。
笔者把自己做的测试配置文件拿出来仅供参考
definehost{
host_name115
alias115-windows-test
address192.168.1.115
notification_interval0
notification_optionsd,u,r
max_check_attempts1
process_perf_data1
active_checks_enabled1
passive_checks_enabled0
notifications_enabled1
check_period24x7
notification_period24x7
contact_groupsadmins
}
defineservice{
uselinux-jim-server
service_descriptionPING
check_commandcheck_ping!
100.0,20%!
200.0,50%
service_description检查NSClient++版本
check_commandcheck_nt!
CLIENTVERSION
service_descriptionCPU负载
CPULOAD!
-l5,80,90
service_description内存使用
MEMUSE!
-w80-c90
service_descriptionC盘使用情况
USEDDISKSPACE!
-lc-w80-c90
service_descriptionexplorer情况
PROCSTATE!
-dSHOWALL-lexplorer.exe
service_descriptionW3SVC
SERVICESTATE!
-dSHOWALL-lW3SVC
service_description运行时间
UPTIME
在这里,我主机定义的host的IP为115
另外我调用的自己设置的服务linux-jim-server
namelinux-jim-server
check_freshness0;
DefaultistoNOTcheckservice'
freshness'
notifications_enabled1;
Servicenotificationsareenabled
event_handler_enabled1;
Serviceeventhandlerisenabled
flap_detection_enabled0;
Flapdetectionisenabled
failure_prediction_enabled1;
Failurepredictionisenabled
process_perf_data1;
Processperformancedata
retain_status_information1;
Retainstatusinformationacrossprogramrestarts
retain_nonstatus_information1;
Retainnon-statusinformationacrossprogramrestarts
is_volatile0;
Theserviceisnotvolatile
check_period24x7;
Theservicecanbecheckedatanytimeoftheday
max_check_attempts1;
Re-checktheserviceupto3timesinordertodetermineitsfinal(hard)state
normal_check_interval1;
Checktheserviceevery10minutesundernormalconditions
retry_check_interval1;
Re-checktheserviceeverytwominutesuntilahardstatecanbedetermined
contact_groupsadmins;
Notificationsgetsentouttoeveryoneinthe'
admins'
group
notification_optionsw,u,c,r;
Sendnotificationsaboutwarning,unknown,critical,andrecoveryevents
notification_interval0;
Re-notifyaboutserviceproblemseveryhour
notification_period24x7;
Notificationscanbesentoutatanytime
}
这里后面的标注是我直接从模板的cfg里面复制过来的,稍作修改,不是很喜欢它自己的模板,报警不能及时反映。
最后检查nagios.cfg之后servicenagiosreload。
部署结果
在这里我检测的进程W3SVC是IIS的进程,但是笔者我的笔记本是在很垃圾,虚拟机带不动IIS啊!
所以只能这样勉强搞一下了。
报警实例
笔者在这里只测试微信报警,因为微信稍微麻烦一点,笔者的微信号名字改不了,还是zabbix,
不过结果还是满意的!
那么,下一步,开始研究cacti吧!
期待cacti的产出文档!