nagios插件详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nagios插件详解相关的知识,希望对你有一定的参考价值。

一、check_apt

作用:debain相关系统的更新机制检查


update更新软件列表信息,包括版本,依赖关系等

upgrade在不改变现有软件设置的基础上更新软件

dist-upgrade会改变配置文件,改变旧的依赖关系


语法:check_apt [[-d|-u|-U]opts] [-n] [-t timeout]

>#check_apt --help //查看具体使用说明

-d opts--dist-upgrade=OPTS:执行dist-upgrade升级。和-U opts 参数相同。

-u opts--update=OPTS:首先执行apt-get update”获取更新软件列表信息,包括版本,依赖关系等,

-U opts--upgrade=OPTS:默认使用,如果提供一个可选的选项,将执行可选的选项内容,否则按照默认的(-o 'Debug::NoLocking=true' -s -qq)。如果不使用默认,可能要求root权限。

-n--no-upgrade:不执行upgrade

-tapt链接断开多少秒开始检查,默认10s

-e--exclude=REGEXPREGEXP表示正则表达式,用于匹配软件包。跳过更新列表里的软件包

-c--critical=REGEXP:如果有可更新的软件匹配,则显示Critical紧急报警。

-i--include=REGEXP:如果有可更新的软件匹配,则显示Warning告警

-V:显示版本


二、check_breeze

作用:这个插件报告breezecom无线设备的信号强度

语法:check_breeze -H <host> [-C community] -w <warn> -c <crit>

-H <host>--hostname=HOST:要检查的主机的主机名或者ip地址

-C community--community=communitySNMPv1社区,默认为public

-w <warn>--warning=INTEGER:百分比强度低于设定的将导致Warning警告状态

-c <crit>--critical=INTEGER:百分比强度低于设定的将导致Critical警告状态


三、check_by_ssh

作用:这个插件使用ssh在远程主机上执行命令

用法:

check_by_ssh -H <host> -C <command> [-fqv] [-1|-2] [-4|-6]

[-S [lines]] [-E [lines]] [-t timeout] [-i identity]

[-l user] [-n name] [-s servicelist] [-O outputfile]

[-p port] [-o ssh-option] [-F configfile]

-C <command>:--command='COMMAND STRING':指定要在远程主机上执行的命令,执行多个命令时,多次带上-C参数

-f:可选,告示ssh创建一个子进程,而不是创建一个新的tty,只要执行ssh返回结果总是为OK

-q--quiet告诉SSH抑制预警和诊断信息

-v:显示命令行调试的详细信息(Nagios可以截断输出)

-1|-2:可选,选择用Protocol1Protocol2

-4|-6:选择链接ipv4或者ipv6

-S, --skip-stdout[=n]:忽略所有或(如果指定)第N线到标准输出

-E, --skip-stderr[=n]:忽略所有或(如果指定)前N条错误

-t, --timeout=INTEGERINTEGER整数,在连接超时几秒钟后重新发起链接(默认:10

-i, --identity=KEYFILEKEYFILE密钥文件,指定链接的密钥文件

-l, --logname=USERNAME:指定用于登录远程主机的用户名,必须是存在于远程主机的。

-n, --name=NAME:在Nagios配置主机的短名称

-s, --services=LISTNagios服务名称列表,相隔''

-O, --output=FILE:对于Nagios的外部命令文件

-p, --port=INTEGER:整数,端口名称,默认没有

-o, --ssh-option=OPTION:带有OPTION链接SSH

-F, --configfile:指定使用的配置文件

-w, --warning=DOUBLE:告警的响应时间

-c, --critical=DOUBLE:告警的响应时间


四、check_tcp

check_clamd,check_ftp,check_imap,check_jabber,check_nntp,check_nntps,check_pop,

check_simap,check_spop,check_ssmtp,check_udp,这些都是check_tcp的链接文件

作用:这个插件测试TCP连接指定的主机(或UNIX套接字)

用法:

check_clamd -H host -p port [-w <warning time>] [-c <critical time>] [-s <send string>]

[-e <expect string>] [-q <quit string>][-m <maximum bytes>] [-d <delay>]

[-t <timeout seconds>] [-r <refuse state>] [-M <mismatch state>] [-v] [-4|-6] [-j]

[-D <warn days cert expire>[,<crit days cert expire>]] [-S <use SSL>] [-E]


-s--send=STRINGSTRING字符串,发送给服务器的字符串

-e, --expect=STRINGexpect期待,期待在服务器响应(可能重复)的字符串

-q, --quit=STRING:发送服务器的字符串,以启动一个干净的连接

-m, --maxbytes=INTEGER:一旦接收到大于这个字节数,则关闭连接

-d, --delay=INTEGER:在发送字符串和轮询响应之间延迟多少秒

-r, --refuse=ok|warn|crit:拒绝接受TCP状态,默认crit

-M, --mismatch=ok|warn|crit:接受与字符串不匹配预期的状态(ok,warn,crit)默认warn

-v:显示命令行调试的详细信息(Nagios可以截断输出)

-j, --jail:隐藏TCP套接字的输出

-D, --certificate=INTEGER[,INTEGER]:证书最少有效的天数。第一是warn天,第二是crit重要的(缺省为0)。

-S, --ssl:使用ssl安全链接

-E, --escape


五、check_cluster

作用:主机/服务集群插件Nagios 2

用法:

Usage:

check_cluster (-s | -h) -d val1[,val2,...,valn] [-l label]

[-w threshold] [-c threshold] [-v] [--help]

(-s | -h):指定检查的是服务群集还是主机群集

-d, --data=LIST:集群中的主机或服务的状态码,以逗号分隔

-l, --label=STRING:可选的附加文本输出

-w, --warning=THRESHOLDTHRESHOLD阈值,指定在集群中的主机或服务的范围必须是non-ok”状态,以返回一个warn状态级别

-c, --critical=THRESHOLD:指定在集群中的主机或服务的范围必须是non-ok”状态,以返回一个crit状态级别


六、check_dhcp

作用:这个插件测试网络上的DHCP服务器的可用性。

用法:

check_dhcp [-v] [-u] [-s serverip] [-r requestedip] [-t timeout] [-i interface] [-m mac]


-u, --unicast:单播试验:模仿一个DHCP中继,需要结合-s参数使用

-s, --serverip=IPADDRESS:必须监听的DHCP服务器的ip地址

-r, --requestedip=IPADDRESS:请求的IP地址应,至少一个DHCP服务器提供

-i, --interface=STRING:监听的物理接口

-m, --mac=STRING:在DHCP请求中使用的MAC地址


七、check_dig

作用:这个插件测试指定主机上使用的DNS服务挖掘

用法:

check_dig -l <query_address> [-H <host>] [-p <server port>] [-T <query type>] [-w <warning interval>] [-c <critical interval>] [-t <timeout>] [-a <expected answer address>] [-v]


-l, --query_address=STRING:机器名称查找

-T, --record_type=STRING:记录类型查找(默认:A

-a, --expected_address=STRING:在回答部分显示的主机名,如果没有指定,则使用-l参数指定的


八、check_disk

作用:此插件检查安装的文件系统中使用的磁盘空间的数量,并产生一个警告,如果自由空间是小于指定的阈值

用法:

check_disk -w limit -c limit [-W limit] [-K limit] {-p path | -x device}[-C] [-E] [-e] [-g group ] [-k] [-l] [-M] [-m] [-R path ] [-r path ] [-t timeout] [-u unit] [-v] [-X type]


-C, --clear:清空阈值[yù zhí]

-E, --exact-match:对于-p”指定的路径或分区,只能检查确切路径

-e, --errors-only:显示错误的设备/挂载点

-g, --group=NAME:群路径。阈值适用于所有分区的(空闲)空间

-k, --kilobyteskilobytes千字节,--units KB

-l, --local:只检查本地文件系统

-M, --mountpoint:显示挂载点而不是分区

-m, --megabytes:以MB为单位显示,和--units MB相同

-A, --all:显式选择所有路径。这相当于-R '.*'

-R, --eregi-path=PATH, --eregi-partition=PARTITION:正则表达式来匹配路径/分区,这些路径或分区字符串对正则表达式不是很敏感。

-r, --ereg-path=PATH, --ereg-partition=PARTITION正则表达式来匹配路径/分区

-u, --units=STRINGChoose bytes, kB, MB, GB, TB (default: MB)

-X, --exclude-type=TYPE:忽略所有的文件系统的类型


九、check_disk_smb

作用:用Perl语言写成的插件,为Nagios检查磁盘smb

用法:

check_disk_smb -H <host> -s <share> -u <user> -p <password> -w <warn> -c <crit> [-W <workgroup>] [-P <port>] [-a <IP>]


-s, --share=STRING:用于测试的分享名

-u, --user=STRING:登录到服务器的用户名。(默认为guest”

-a, --address=IP:主机的地址(另一个网络中的主机才需要)


十、check_dns

作用:这个插件使用nslookup程序获取IP地址为指定的主机/域名查询。可能要指定一个DNS服务器(可选),如果没有指定DNS服务器地址,则会调用本地的/etc/resolv.conf中配置的DNS服务器。

用法:

check_dns -H host [-s server] [-a expected-address] [-A] [-t timeout] [-w warn] [-c crit]


-a, --expected-address=IP-ADDRESS|HOST:指定需要解析的ip地址或主机名,多个ip之间以逗号,”分隔,主机名必须以点.”结束。


十一、check_dummy

作用:该插件将简单的返回状态对应的状态的数值,可结合文本使用

用法:check_dummy <integer state> [optional text]


十二、check_file_age

作用:用于检查文件的创建时间和大小,达到一定阈值则告警。

用法:

check_file_age [-w <secs>] [-c <secs>] [-W <size>] [-C <size>] -f <file>


<secs>:文件必须是不超过指定的老化时间,以s为单位,默认240s,否则显示crit告警

<size>:文件必须是不超过指定的大小,以b为单位,默认0字节,否则显示告警。


十三、check_flexlm

作用:检查可用的许可证管理

用法:check_flexlm -F <filename> [-v] [-t] [-V] [-h]


-F, --filename=FILE:许可证文件名称,一般以license.dat保存在系统中


十四、check_hpjd

作用:这个插件的测试使用jetdirect卡的HP打印机的状态

用法:check_hpjd -H host [-C community]

-C, --community=STRINGSNMP社区,默认为public

十五、check_http

作用:这个插件用于测试指定主机上的HTTP服务。它可以测试正常(HTTP)和安全(HTTPS)服务器,根据重定向、字符串和正则表达式的搜索,检查连接时间,并报告证书过期时间。

用法:

check_http -H <vhost> | -I <IP-address> [-u <url>] [-p <port>]

[-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-a auth]

[-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>]

[-e <expect>] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]

[-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>]

[-A string] [-k string] [-S <version>] [--sni] [-C <warn_age>[,<crit_age>]]

[-T <content-type>] [-j method]

注意:参数-H-I必须选用其一个或全选


-H|-I:检查指定的主机名,主机ip地址

-uurl,完整url,默认为网站更目录/”。如http//172.16.111.87/nagios

-p:端口,默认为80,

-wwarn的警告响应时间,单位为秒s

-ccrit的警告响应时间,单位为秒s

-t:超时,默认10s,即允许链接超时10s,如果接收不到信息,则表示故障

-L, --link:用html链接输出(以废除的urlize

-a, --authorization=AUTH_PAIRhttp网页要求的基本验证信息,格式为username:password

-b-b, --proxy-authorization=AUTH_PAIR:在代理服务器上的基本验证信息,格式为username:password

-f, --onredirect=<ok|warning|critical|follow|sticky|stickyport>:如何处理重定向页面。sitcky类似follow,但sticky指向的明确的ip地址。stickyport确保端口保持不变。

-e, --expect=STRING:逗号分隔的字符串列表,在服务器响应的第一个(状态)线中,至少有一个是预期的(默认是HTTP/1.)如果指定跳过所有其他状态行的逻辑(例如:3xx4xx5xx处理)

-s, --string=STRING:期待在放回内容中的字符串

-l, --linespan:允许正则表达式跨换行符(必须先于-r-R参数)

-r, --regex, --ereg=STRING:正则表达式的字符串搜索页面

-R, --eregi=STRING可以用于在仅支持区分大小写正则表达式的产品中完成不区分大小写的模式匹配。

-P, --post=STRINGURL编码的HTTP POST数据

-m, --pagesize=INTEGER<:INTEGER>:页面大小最小值:最大值,分号分隔开。

-N, --no-body:不要等待文档正文:读取头部后立刻停止读取。注意:这依然是一个HTTPGET或者POST,而不是HEAD

-M, --max-age=SECONDS:检查网页文档的更新时间,并由这个设定的阈值为界限,创建时间距今时间间隔超过阈值就会告警。默认单位为smhd是分钟、小时、天。

-A, --useragent=STRING:设定字符串在发送的http头部中作为用户签名。

-k, --header=STRING:任意添加在http发送报文头部。用于附加标题的多次使用

-S, --ssl=VERSION:通过SSL连接,默认端口443,版本可选,为防止自动协商(1 = TLSv1, 2 = SSLv2, 3 = SSLv3)

--sni:启用SSL / TLS的主机名的扩展支持

-C, --certificate=INTEGER:检查证书使用时长并由设定的阈值为界限,格式:<整数>[,整数],第一个整数为warn,第二个为crit的。

-T, --content-type=STRING:在POSTing时指定Content-Type头部的媒体类型

-j, --method=STRING:设定HTTP指定资源的方式,例如:HEAD, OPTIONS, TRACE, PUT, DELETE


十六、check_icmp

作用:作用和ping命令类似,检测网络的联通性。

用法:check_icmp [options] [-H] host1 host2 hostN

选项:

-H:指定检测目标

-wwarn阈值(目前200.000ms40%

-ccrit阈值(目前500.000ms80%

-s:指定源ip地址或主机名

-n:设定发送的包的个数

-i:设定最大数据包间隔(目前80.000ms

-I:最大目标区间(目前0.000ms

-m:成功的主机数量

-l:在传出的数据包的TTL值,(目前为0

-t:超时值(s,默认10s

-b:发送ICMP数据字节数,包的大小将数据字节+ ICMP报头(目前为68 + 8



十七、check_ide_smart

作用:这个插件用于检测本地具有(特定的)SMART接口的硬盘驱动器

用法:

check_ide_smart [-d <device>] [-i <immediate>] [-q quiet] [-1 <auto-on>] [-O <auto-off>] [-n <nagios>]


-d, --device=DEVICE:指定一个硬盘设备。注意:如果选择了这一参数,就不能在选择其他参数了

-i, --immediate:立即执行离线测试

-q, --quiet-check:返回失败的测试数

-1, --auto-on:开启自动离线测试

-0, --auto-off:关闭自动离线测试

-n, --nagios:输出适合Nagios的信息


十八、check_ifoperstatuscheck_ifstatus

错误插件,目前暂不了解原因。

十九、check_ircd

作用:用Perl语言写成的插件,为Nagios检查IRCD

用法:check_ircd -H <host> [-w <warn>] [-c <crit>] [-p <port>]


-H, --hostname=HOST:指定要检测的主机名或ip地址

-w, --warning=INTEGER:产生一个warn状态的连接用户数的阈值(默认为50

-c, --critical=INTEGER:产生一个crit状态的连接用户数的阈值(默认为50

-p, --port=INTEGERircd的守护进程运行使用的端口,默认为6667


二十、check_load

作用:这个插件用于测试当前系统的负载平均值。

用法:check_load [-r] -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15


-w, --warning=WLOAD1,WLOAD5,WLOAD15:分别为1515分钟内的负载平均值,如果有其中一个时间内的负载平均值超过设定的阈值,则会告警warn

-c, --critical=CLOAD1,CLOAD5,CLOAD15:分别为1515分钟内的负载平均值,如果有其中一个时间内的负载平均值超过设定的阈值,则会严重告警cirt

-r, --percpu:如果存在多个cpu,将各个cpu的负载平均值分开显示


二十一、check_log

作用:用于日志文件的检测和比对

用法:check_log -F logfile -O oldlog -q query


二十二、check_mailq

作用:用于检查邮件队列中的邮件数,支持多个sendmail邮件队列,qmail

用法:check_mailq -w <warn> -c <crit> [-W <warn>] [-C <crit>] [-M <MTA>] [-t <timeout>] [-v verbose]


-w:多少条邮件在发送队列中就会发送告警warn

-c:多少条邮件在发送队列中就会发送告警cirt

-W:相同域内多少条邮件在发送队列中就会发送告警warn

-C:相同域内多少条邮件在发送队列中就会发送告警crit

-t:超时时间,默认为15s

-M (--mailserver):指定监控的邮件程序,有sendmail | qmail | postfix | exim,默认sendmail


二十三、check_mrtg

作用:这个插件用于检查任何一个变量记录在MRTG日志文件的平均值或最大值。

用法:

check_mrtg -F log_file -a <AVG | MAX> -v variable -w warning -c critical

[-l label] [-u units] [-e expire_minutes] [-t timeout] [-v]


-F:指定日志文件

-a, --aggregation=AVG|MAX:监控平均值还是最大值

-v, --variable=INTEGER:选择那个变量,12

-w, --warning=INTEGERwarn阈值

-c, --critical=INTEGERcrit阈值

-l, --label=STRING:数据类型标签,(例如: Conns, "Processor Load", In, Out)

-u, --units=STRING:选择数据的单位标签(例如: Packets/Sec, Errors/Sec,"Bytes Per Second", "%% Utilization")


二十四、check_mrtgtraf

作用:这个插件用于检测一个路由器、交换机等的在MRTG日志记录中输入/输出传输速率

用法:

check_mrtgtraf -F <log_file> -a <AVG | MAX> -w <warning_pair>

-c <critical_pair> [-e expire_minutes]


-F, --filename=STRING:读取的日志文件

-e, --expires=INTEGER:日志过期后的时间阈值,单位min

-w, --warningwarn阈值,格式<incoming>,<outgoing>

-c, --critical:cirt阈值,格式<incoming>,<outgoing>


二十五、check_nagios

作用:这个插件用于检查本地Nagios服务进程。这个插件将设定时间阈值去检查Nagios的状态日志文件的创建时间时长并产生响应的报警信息。它还检查进程匹配的过程表的命令参数。

用法:check_nagios -F <status log file> -e <expire_minutes> -C <process_string>

-e:设定时间阈值,单位为分钟

例子:check_nagios -e 5 -F /usr/local/nagios/var/status.dat -C /usr/local/nagios/bin/nagios


二十六、check_mysql

找不到模块libmysqlclient.so的处理方法

>#locate libmysqlclient.so

>#vim /etc/ld.so.conf.d/mysql***.conf

把模块位置添加进去

>#ldconfig -v //更新模块信息

作用:这个插件程序用于测试mysql服务器的客户连接

用法:check_mysql [-d database] [-H host] [-P port] [-s socket] [-u user] [-p password] [-S]


-d, --database=STRING:指定数据库名

-H, --hostname=ADDRESS:指定mysql服务器地址

-P, --port=INTEGER:指定端口,默认3306

-s, --socket=STRING:指定socket套接字,如果指定了-H参数,则-s参数则没有实际作用

-u:指定连接数据库的用户名

-p:指定链接数据库的密码,因为这些设置都是明文设置,所以很不安全,要做好相关的文件权限设置

-S:同时检查slave,检查从数据库


二十七、check_mysql_query

作用:此程序检查阈值级别的查询结果

用法:

check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P port] [-s socket] [-d database] [-u user] [-p password]


-q, --query=STRING:指定SQL查询语句,只能读取第一行的第一列

-w, --warning=RANGEwarn范围(格式:start:end)。如果在这个范围之外则×××告警warn

-c, --critical=RANGE:红色告警

-H, --hostname=ADDRESS:主机名或主机ip地址

-P, --port=INTEGER:指定端口,默认3306

-s, -d,-u,-p:则四个参数和check_mysql相同


二十八、check_nrpe

作用:用于链接远程被监控客户机的nrpe进程,从而调用客户机的插件执行相关操作

用法:check_nrpe -H <host> [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]


-H:指定被监控客户机

-n:不使用ssl安全链接

-u:使返回结果为critical换成unknow

-p:指定链接端口,默认5666,如果客户端的端口不是5666,这边也要响应的改变

-c:调用客户端nrpe.conf配置文件设定的命令定义

-a:传递给命令的可选参数,多个参数用空格分隔。如果选用,这必须是命令行最后的选项。


二十九、check_nt

作用:这个插件用于收集运行在windows NT/2000/XP/2003 服务器上的NSClient 服务的数据

用法:

check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout]


-H:要检查数主机名或ip地址

-v, --variable=STRING:变量检查,如:

  -v CLIENTVERSION -l <version>:配合使用检查客户端版本,如果不同,则显示crit告警

  -v CUPLOAD:检测CPU最近n秒内的平均负载情况。注意:n=<24*60

  -v CUPLOAD -l <minutes range>,<warning threshold>,<critical threshold>

  -v UPTIME:获取机器的正常运行时间,没有任何告警信息。没必要指定-l参数

  -v USEDDISKSPACE:检测磁盘的使用量和百分比,需要结合-l参数指定磁盘设备

  -v USEDDISKSPACE -l C:/ :同时可以结合-w-c参数设定告警阈值

  -v MEMUSE:内存使用量,结合-w-c参数设定告警阈值

  -v SERVICESTATE:检查一个或多个服务的状态

  -v SERVICESTATE -l <service1>,<service2>,<service3>,…

  -v PROCSTATE:检查一个或多个正在运行的进程

  -v PROCSTATE -l <process1>,<process2><process3>,…

  -v COUNTER:检查windows NT/2000的性能计数器

  -v COUNTER -l "\\<performance object>\\counter","[description]

  -v INSTANCES:检查windows NT/2000的性能计数器的对象

  -v INSTANCES -l <counter object>:如果对象是两个词,必须使用双引号括起来

-p, --port=INTEGER:指定端口,默认为1248

-w:指定warn阈值

-c:指定crit阈值

-t, --timeout=INTEGER:链接超时,单位为s

-t <INTEGER> [-l <parameters>]:检查指定的超时

-t <INTEGER> [-d SHOWALL] :检查所有超时

-t <INTEGER> -u:返回unknow信息


三十、check_ntp

作用:这个插件用于检查指定的ntp服务

用法:check_ntp -H <host> [-w <warn>] [-c <crit>] [-j <warn>] [-k <crit>] [-v verbose]


-H, --hostname=ADDRESS:主机名或ip地址

-p, --port=INTEGER:指定链接的端口,默认123

-wwarn阈值,单位s

-ccrit阈值,单位s

-j, --jwarn=THRESHOLD:抖动的warn阈值

-k, --jcrit=THRESHOLD:抖动的crit阈值

-t:延迟,默认10s


三十一、check_ntp_peer

作用:这个插件用于检查指定的ntp服务,这个插件检查一个独立于任何命令行程序或外部库的NTP服务器。

用法:

check_ntp_peer -H <host> [-w <warn>] [-c <crit>] [-W <warn>] [-C <crit>] [-j <warn>] [-k <crit>] [-v verbose]


-Wstrtum(层级)warn阈值

-Cstartumcrit阈值

-m, --twarn=THRESHOLD:可用时间源数的warn阈值

-n, --tcrit=THRESHOLD:可用时间源数的crit阈值

-t:延迟,默认10s


三十二、check_ntp_time

作用:这个插件用于检查NTP服务器的时间偏移。用于检查本地的时间和远程NTP服务器的时间偏移。这个插件独立于任何命令行程序或外部库。

用法:check_ntp_time -H <host> [-w <warn>] [-c <crit>] [-v verbose]


-H, --hostname=ADDRESS:主机名或ip地址

-p, --port=INTEGER:指定链接的端口,默认123

-q, --quiet:但无法获取偏移量的时候,返回unkown而不是critical


三十三、check_nwstat

作用:这个插件尝试联系mrtgext NLMNovell服务器运行收集所要求的系统信息

用法:check_nwstat -H host [-p port] [-v variable] [-w warning] [-c critical] [-t timeout]

 

-H:要检查数主机名或ip地址

-p, --port=INTEGER:端口,默认9999

-v, --variable=STRING:选择变量,正确的变量包括:

  LOAD1:最近1min内的CPU平均负载量

  LOAD5:最近5min内的CPU平均负载量

  LOAD15:最近15min内的CPU平均负载量

  SPROCS:当前的服务进程数(仅使用NW 5.x版本)

  ABENDSabended的线程数(仅使用NW 5.x版本)

  UPTIME:获取服务正常运行的时间

  LTCH:长期高速浏览次数的百分比

  CBUFF:高速缓存缓冲区的当前数目

  CDBUFF:当前脏缓存缓冲区数目

  DCB:当前脏缓存缓冲区占所有缓冲区的百分比

  TCB:当前脏缓存缓冲区占原有缓冲区的百分比

  OFILES:打开的文件数

    VMF<vol> = MB of free space on Volume <vol>

    VMU<vol> = MB used space on Volume <vol>

    VMP<vol> = MB of purgeable space on Volume <vol>

    VPF<vol> = percent free space on volume <vol>

    VKF<vol> = KB of free space on volume <vol>

    VPP<vol> = percent purgeable space on volume <vol>

    VKP<vol> = KB of purgeable space on volume <vol>

    VPNP<vol> = percent not yet purgeable space on volume <vol>

    VKNP<vol> = KB of not yet purgeable space on volume <vol>

    LRUM = LRU sitting time in minutes

    LRUS = LRU sitting time in seconds

    DSDB = check to see if DS Database is open

    DSVER = NDS version

    UPRB = used packet receive buffers

    PUPRB = percent (of max) used packet receive buffers

    SAPENTRIES = number of entries in the SAP table

    SAPENTRIES<n> = number of entries in the SAP table for SAP type <n>

    TSYNC = timesync status

    LOGINS = check to see if logins are enabled

    CONNS = number of currently licensed connections

    NRMH = NRM Summary Status

    NRMP<stat> = Returns the current value for a NRM health item

    NRMM<stat> = Returns the current memory stats from NRM

    NRMS<stat> = Returns the current Swapfile stats from NRM

    NSS1<stat> = Statistics from _Admin:Manage_NSS\GeneralStats.xml

    NSS3<stat> = Statistics from _Admin:Manage_NSS\NameCache.xml

    NSS4<stat> = Statistics from _Admin:Manage_NSS\FileStats.xml

    NSS5<stat> = Statistics from _Admin:Manage_NSS\ObjectCache.xml

    NSS6<stat> = Statistics from _Admin:Manage_NSS\Thread.xml

    NSS7<stat> = Statistics from _Admin:Manage_NSS\AuthorizationCache.xml

    NLM:<nlm> = check if NLM is loaded and report version

-o, --osversion:包含服务器版本信息在返回信息里面

-t:延迟,默认10s


三十四、check_oracle

作用:用于检查ORACLE数据库的状态

用法:

check_oracle --tns <Oracle Sid or Hostname/IP address>

check_oracle --db <ORACLE_SID>

check_oracle --login <ORACLE_SID>

check_oracle --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>

check_oracle --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>

check_oracle --oranames <Hostname>


--tns <SID/IP Address/Hostname>Oracle数据库SIDip地址或者主机名

--db <SID>:检查本地数据库,通过检测ps命令查看相关Oracle进程和检测sgadefORACLE_SID.dbf的文件系统

--login <SID>:尝试虚拟登录,如果不存在ORA-01017(无效的username/password),alert告警

--cache:检查本地库和缓冲区缓存命中率,需要指定username/passwordSID

--tablespace:检查在oracle_sid的本地数据库的表空间容量,需要指定username/password

--oranames <Hostname>:检查远程Oracle名称服务器


三十五、check_overcr

作用:这个插件尝试联系以daemon用户运行在远程UNIX服务器上Over-CR”收集器以便收集所要求的系统信息。

用法:check_overcr -H host [-p port] [-v variable] [-w warning] [-c critical] [-t timeout]


-H:要检查数主机名或ip地址

-p, --port=INTEGER:端口,默认2000

-w, --warning=INTEGERwarn阈值

-c, --critical=INTEGERcrit阈值

-v, --variable=STRING:变量

  LOAD1:最近1min内的CPU平均负载量

  LOAD5:最近5min内的CPU平均负载量

  LOAD15:最近15min内的CPU平均负载量

  DPU<filesys>:文件系统上的磁盘空间的使用百分比

  PROC<process>:运行的进程数和名称

  NET<port>:链接活跃的TCP端口

  UPTIME:系统正常运行的时间,s为单位

-t, --timeout=INTEGER:延迟,默认10s


三十六、check_ping

作用:只用ping来检测远程主机的链接统计

用法:

check_ping -H <host_address> -w <wrta>,<wpl>% -c <crta>,<cpl>% [-p packets] [-t timeout] [-4|-6]


-H:指定ping的主机

-wwarn阈值对,

-ccrit阈值对

-p, --packets=INTEGER:发送ping包数,默认5

-t, --timeout=INTEGER:延迟,默认10s


>#check_ping -H 172.16.111.115 -w 100.0,20% -c 500.0,60%

//100.0表示ping包到收到返回信息的平均时间长度,单位为ms,百分比是表示丢包率

三十七、check_procs

作用:检查所有的进程,如果指定的度量值超过阈值范围之外就会生成warncrit状态。度量值取决于进程数。搜索过滤器可以限制进程数的检查。

用法:

check_procs -w <range> -c <range> [-m metric] [-s state] [-p ppid] [-u user] [-r rss] [-z vsz] [-P %cpu] [-a argument-array] [-C command] [-t timeout] [-v]


选项:

-wwarn阈值

-ccrit阈值

-m, --metric=TYPE:指定阈值所属类型,有:

  PROCS:进程数,默认选择

  VSZ:虚拟内存大小

  RSSRSS是驻留集合大小,即进程所使用的非交换区的物理内存。

  CPUCPU使用的百分比

  ELAPSED:流逝的时间

过滤器:

-s, --state=STATUSFLAGS:通过一个或者多个标签的过滤,扫描在ps命令中存在的进程,比如:R, Z, S, RS,RSZDT等标签。

-p, --ppid=PPID:仅扫描指定父进程的子进程

-z, --vsz=VSZ:仅扫描使用VSZ高过指定阈值的进程

-r, --rss=RSS:仅扫描使用RSS高过指定阈值的进程

-P, --pcpu=PCPU:仅扫描使用CPU百分比高过指定阈值的进程

-u, --user=USER:仅扫描指定用户打开和使用的进程

-a, --argument-array=STRING:只扫描参数和字符串相匹配的进程

--ereg-argument-array=STRING:只扫描参数和正则表达式相匹配的进程

-C, --command=COMMAND:只有扫描精确匹配的命令


三十八、check_real

作用:这个插件测试了指定主机上的REAL服务。这个插件将尝试打开一个RTSP连接去链接指定主机。成功链接返回OK状态,拒绝链接或者链接超时返回Crit状态,链接成功但不能正确反馈信息返回warn状态。

用法:check_real -H host [-e expect] [-p port] [-w warn] [-c crit] [-t timeout] [-v]


-H, --hostname=ADDRESS:主机名、ip地址或套接字

-e, --expect=STRING:希望显示在返回信息的第一行,默认为RTSP/1.

-p, --port=INTEGER:指定链接的端口,默认为554

-w, --warning=DOUBLE:导致warn状态的响应时间

-c, --critical=DOUBLE:导致crit状态的响应时间

-t, --timeout=INTEGER:延时,默认10s

-v:详细信息


三十九、check_rpc

作用:调用命令rpcinfo -H host -C rpc_command去检测一个rpc服务的注册过程和运行状态

用法:check_rpc -H host -C rpc_command [-p port] [-c program_version] [-u|-t] [-v]


-H:指定提供rpc服务的主机,主机名、ip地址或套接字

-C:程序名称或数字

-c:检测版本,236对应v2v3v6,可以同时指定多个

[-u | -t]:指定udp还是tcp


四十、check_sensors

作用:这个插件用于检查使用lm_sensors包的硬件的状态

用法:check_sensors [--ignore-fault]

四十一、check_smtp

作用:这个插件将尝试打开指定主机的SMTP连接

用法:

check_smtp -H host [-p port] [-4|-6] [-e expect] [-C command] [-f from addr][-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q] [-F fqdn] [-S] [-D warn days cert expire[,crit days cert expire]] [-v]


-H, --hostname=ADDRESS:主机名、ip地址或套接字

-p, --port=INTEGER:指定端口,默认25

-4|-6:使用ipv4还是ipv6链接

-e, --expect=STRING:希望显示在返回信息的第一行,默认为220

-C, --command=STRINGSMTP命令,可以重复使用

-R, --command=STRING:希望反馈给指定命令的参数

-f, --from=STRING:包含在MAIL邮件发送命令中的始发ip地址信息,要求Exchange 2000

-A, --authtype=STRING:选择SMTP的验证类型,默认没有,仅支持登录

-U, --authuser=STRING:指定用于登录的的用户名

-P, --authpass=STRING:用户密码

-w, --warning=DOUBLE:导致warn状态的响应时间

-c, --critical=DOUBLE:导致crit状态的响应时间

-t, --timeout=INTEGER:延时,默认10s

-q, --ignore-quit-failure:单发送QUIT信息给服务器时忽略失败信息

-F, --fqdn=STRINGFQDN used for HELO

-S, --starttls:链接时使用STARTTLS安全链接

-D, --certificate=INTEGER[,INTEGER]:一个证书有效的最短天数,第一个天数为warn天数,第二个天数为crit天数



四十二、check_snmp

作用:通过SNMP协议查看远程机器状态和获取系统信息

用法:

check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] [-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries] [-l label] [-u units] [-p port-number] [-d delimiter]

[-D output-delimiter] [-m miblist] [-P snmp version] [-L seclevel] [-U secname] [-a authproto]

[-A authpasswd] [-x privproto] [-X privpasswd]


-H:指定的主机名、ip地址或套接字

-o, --oid=OID(s):指定需要查询的对象标识符(S)或SNMP变量的值

-w, --warning=THRESHOLD(s)warn阈值范围

-c, --critical=THRESHOLD(s)crit阈值范围

-C, --community=STRINGSNMP通行社区,默认public

-s, --string=STRING:如果oid信息和-s指定的字符串匹配,则返回OK状态

-r, --ereg=REGEX:如果oid信息和-r指定的正则表达式相匹配,返回OK状态

-R, --eregi=REGEX:匹配正则表达式时,不区分大小写,功能作用和-r一样

-t, --timeout=INTEGER:链接超时,默认10s

-e, --retries=INTEGER:重试请求链接数

-l, --label=STRING:插件输出的前缀标签

-u, --units=STRING:用于输出数据的单位标签,如sec.‘

-p, --port=INTEGER:指定端口,默认161

-d, --delimiter=STRING:解析返回的数据时使用的分隔符,默认=“等号。在分隔符右边的任何数据被认为是应该用来评价数据。

-D, --output-delimiter=STRING:指定分隔符将输出多个OID的请求分开

-m, --miblist=STRING:需要加载MIBS表。使用数字的OID默认为none,使用符号的OID默认为ALL

-P, --protocol=[1|2c|3]:指定SNMP协议版本

-L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv]SNMPv3的安全级别

-U, --secname=USERNAMESNMPv3的用户名指定方式

-a, --authproto=[MD5|SHA]SNMPv3 验证协议

-A, --authpassword=PASSWORDSNMPv3的用户验证密码

-x, --privproto=[DES|AES]SNMPv3密码的加密方式,DESAES,默认DES

-X, --privpasswd=PASSWORDSNMPv3隐私密码


四十三、check_ssh

作用:使用指定的服务器地址和端口链接SSH服务器

用法:check_ssh [-4|6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>


-r, --remote-version=STRING:指定版本,如果远程OpenSSH版本不匹配则warn告警,如:OpenSSH_3.9p1

-p:指定端口,默认22


四十四、check_swap

作用:检查本地机子的交换空间

用法:

check_swap [-av] -w <percent_free>% -c <percent_free>%

check_swap [-av] -w <bytes_free> -c <bytes_free>


-a:进行所有交换分区的比较,一个接着一个

-wwarn阈值,交换分区的剩余使用量的百分比或者剩余容量大小(Bytes)

-ccrit阈值,交换分区的剩余使用量的百分比或者剩余容量大小(Bytes)


四十五、check_time

作用:该插件将检查指定主机上的时间

用法:check_time -H <host_address> [-p port] [-u] [-w variance] [-c variance] [-W connect_time] [-C connect_time] [-t timeout]


-H, --hostname=ADDRESS:主机名,ip地址或套接字

-p, --port=INTEGER:指定端口,默认37

-u, --udp:使用udp协议去链接

-w, --warning-variance=INTEGER:时间差异多少秒将告警warn,单位sec.

-c, --critical-variance=INTEGER:时间差异多少秒将告警crit,单位sec.

-W, --warning-connect=INTEGERwarn状态响应时间,单位sec.

-C, --critical-connect=INTEGERcrit状态响应时间,单位sec.

-t, --timeout=INTEGER:延时10s


四十六、check_ups

作用:这个插件用于测试指定主机上的UPS服务。UPS工具官网下载:www.networkupstools.org。网络UPS工具必须运行这个插件来工作。这个插件试图确定一个在本地或远程主机(不间断电源)的UPS的状态。如果该UPS是在线的或校准,该插件将返回一个确定的状态。如果电池是正在使用本机的则告警warn。如果该UPS挂掉或者电池过低则告警crit状态。如果远程主机有多个UPS正在运行,需要结合--ups指定相应的ups。这个插件要求在被检测的远程主机上安装UPSD发行版本软件工具包。

用法:check_ups -H host -u ups [-p port] [-v variable] [-w warn_value] [-c crit_value] [-to to_sec] [-T]


-H, --hostname=ADDRESS:主机名,ip地址或套接字

-u, --ups=STRINGUPS服务器的名称

-p, --port=INTEGER:指定链接端口,默认3493

-v, --variable=STRING:变量检查,有效的变量有:LINETEMPBATTPCTLOADPCT

-w, --warning=DOUBLEwarn状态响应时间,单位sec.

-c, --critical=DOUBLEcrit状态响应时间,单位sec.

-T, --temperature:摄氏温度的输出


四十七、check_users

作用:这个插件用于检测当前用户的登录数量,并且当用户数量超过设定的阈值时会生成响应的告警状态。

用法:check_users -w <users> -c <users>


四十八、check_wave

作用:检测信号强度

用法:check_wave -H <host> [-w <warn>] [-c <crit>]


-w:当信号强度达到一定值时告警warn

-c:当信号强度达到一定值时告警crit


四十九、negate

作用:用于否定一个插件的状态,当一个插件的返回状态为OK时,经nagate处理变成critical状态,反之亦然。

用法:negate [-t timeout] [-Towcu STATE] [-s] <definition of wrapped plugin>


-t:延时,默认11s

-T, --timeout-result=STATUSNegate超时的自定义结果;见下面的状态定义

-o, --ok=STATUS

-w, --warning=STATUS

-c, --critical=STATUS

-u, --unknown=STATUS

如果没有指定,okcirt将被置换


-s, --substitute:替代输出文本。只能用大写字母替换文本。将替代输出的文本替换成大写


例子:

>#negate /usr/local/nagios/libexec/check_ping -H host

>#negate -w OK -c UNKNOWN /usr/local/nagios/libexec/check_procs -a 'vi negate.c'


五十、urlize

作用:这个插件将另一个命令(插件)的文本输包装在HTML <A>标签中,从而该子插件的输出作为一个可点击的链接显示在Nagios状态屏幕。这个插件用于返回调用的插件的状态。

用法:urlize <url> <plugin> <arg1> ... <argN>


以上是关于nagios插件详解的主要内容,如果未能解决你的问题,请参考以下文章

NAGIOS插件pnp4nagios安装

Nagios插件Nagiosgraph安装部署

Nagios Plugins 2.1.3 发布,Nagios插件

自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警

Nagios图像绘制插件PNP4Nagios部署和测试

CentOS7安装Nagios并配置出图详解