分析nagios的内置的插件和https://exchange.nagios.org/directory/Plugins/ 上面的插件。
#######################################################################
commands/*.cfg是调用naigos内置插件或者自己开发的插件
参数格式为-options $ARGn$
templates/services和services里面的check_command调用的是commands/*.cfg
将参数分配到services和host里面,并将$ARGn$重命名为!$_SERVICENAME$或!$_HOSTNAME$。
!$_SERVICEEXTRA_ARGS$可以用来增加额外参数,直接调用插件的选项加上参数即可。
################################################
- check_apt
- check_breeze
- check_by_ssh
- check_clamd
- check_cluster
- check_dhcp
- check_dig
- check_disk
- check_disk_smb
- check_dns
- check_dummy
- check_file_age
- check_flexlm
- check_ftp
- check_hpjd
- check_http
- check_icmp
- check_ide_smart
- check_ifoperstatus
- check_ifstatus
- check_imap
- check_ircd
- check_jabber
- check_load
- check_log
- check_mailq
- check_mrtg
- check_mrtgtraf
- check_nagios
- check_nntp
- check_nntps
- check_nt
- check_ntp
- check_ntp_peer
- check_ntp_time
- check_nwstat
- check_oracle
- check_overcr
- check_ping
- check_pop
- check_procs
- check_real
- check_rpc
- check_sensors
- check_simap
- check_smtp
- check_snmp
- check_spop
- check_ssh
- check_ssmtp
- check_swap
- check_tcp
- check_time
- check_udp
- check_ups
- check_uptime
- check_users
- check_wave
- negate
- urlize
。。。
########################################################################
check_http:
Usage:
check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]
[-J <client certificate file>] [-K <private key>]
[-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-E] [-a auth]
[-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>]
[-e <expect>] [-d string] [-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]
[-f<ok|warning|critcal|follow|sticky|stickyport>] 这个选项支持跳转。
可以使用check_http检查url:
-H addres
-p port #80-http 443-https
-a ”username”:”password” #可以传用户名和参数
-s search #可以搜索html中的字符串
--ssl/-S=1 #默认是http,使用https需要添加这个参数
cstpl_url : -H用ip
cstpl_url_alias :-H用dns
command_line $USER1$/check_http –H$ARG1$ -t 60 –p $ARG2$ -u $ARG3$ -s $ARG4$ $ARG5$
check_command <command_name>\
!$HOSTADDRESS$\ / !$_SERVICEALIAS$\
!$_SERVICEPORT$\
!$_SERVICEURL$\
!$_SERVICESEARCH$\
!$_SERVICEEXTRA_ARGS$ #直接用check_http的选项和参数,多个空格即可。
oracle的插件:
Check_oracle:
Usage:
check_oracle --tns<Oracle Sid or Hostname/IP address>
check_oracle --db<ORACLE_SID>
check_oracle --login<ORACLE_SID>
check_oracle--connect <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>
check_oracle --help
check_oracle –version
########################################################################
windows的插件:
check_wmi_plus.pl
check_wmi_plus插件通过WMI的客户端命令…/bin/wmic来采集windows数据并分析,然后返回给nagios来处理。
check_wmi_plus.pl -H HOSTNAME -uDOMAIN/USER -p PASSWORD -m M
ODE [-s SUBMODE] [-b BYTEFACTOR] [-wWARN] [-c CRIT] [-a ARG1
] [-o ARG2] [-3 ARG3] [-4 ARG4] [-AAUTHFILE] [-t TIMEOUT] [-y
DELAY] [--namespace WMINAMESPACE][--extrawmicarg EXTRAWMICAR
G] [--nodatamode] [--nodataexitNODATAEXIT] [--nodatastring NO
DATASTRING] [-d] [-z][--inifile=INIFILE] [--inidir=INIDIR] [-
-inihelp] [--nokeepstate][--keepexpiry KEXPIRY] [--keepid KID
] [--joinexpiry JEXPIRY] [-vOSVERSION] [--help] [--itexthelp]
[--forcewmiccommand] [-icollectusage][--ishowusage] [--logsw
itch] [--logkeep] [--logsuffix SUFFIX][--logshow]
-m 选项可以指定很多检查项目
-m check_file_count #可以用来检windows的目录下的文件数量:
# ARG1: Drive letter
# ARG2: Folder path
# ARG3: Number of files above toWarning
# ARG4: Number of files above toCritical
# ARG5: Commande name
define command {
command_name check_wmi_count_file
command_line NAGIOSENV=$USER12$$USER1$/sys/win/check_wmi_plus.pl -IgnoreMyOutDatedPerlModuleVersions -H$HOSTADDRESS$ -t 120 -u $_HOSTWMI_DOMAIN$/$_HOSTWMI_USER$ -p '$_HOSTWMI_PASS$'-a $ARG1$ -o $ARG2$ -w $ARG3$ -c $ARG4$ -m$ARG5$
}
注意路径的写法:/xx/xx/xx/
-m checkio -s physical/logical #检查物理或逻辑磁盘的IO.
check_snmp_win_services.pl
check_smb_shares.pl
########################################################################
vmware的插件:
check_vmware_api.pl
用于虚拟机的检查.
########################################################################
mysql的插件:
check_mysql_healthy.pl
可以传sql:
check_mysql_healthy.pl --mode sql --name ‘select * from * where *’
check_mysql_query
可以传sql。
-q / --query=”string”
check_mysql
检查mysql的登陆情况。
########################################################################
。。。