diff options
Diffstat (limited to 'Monitoring/nagios/shinken/commands.cfg')
-rw-r--r-- | Monitoring/nagios/shinken/commands.cfg | 285 |
1 files changed, 285 insertions, 0 deletions
diff --git a/Monitoring/nagios/shinken/commands.cfg b/Monitoring/nagios/shinken/commands.cfg new file mode 100644 index 00000000..79a5e6e0 --- /dev/null +++ b/Monitoring/nagios/shinken/commands.cfg @@ -0,0 +1,285 @@ +# Here are some sample commands for checking classics things like +# systems and websites + +# ----------------------------------------------------------------- +# +# Localhost checks +# +# ----------------------------------------------------------------- + + +# Simple disk check for LOCALHOST ONLY! +define command { + command_name check_local_disks + command_line $PLUGINSDIR$/check_disk -w 10% -c 5% -x /dev/shm -e -l +} + + +define command { + command_name check_local_load + command_line $PLUGINSDIR$/check_load -w 3,3,3 -c 5,5,5 +} + +define command { + command_name check_local_mem + command_line $PLUGINSDIR$/check_mem.pl -u -w 90 -c 95 -C +} + + +define command { + command_name check_local_swap + command_line $PLUGINSDIR$/check_swap -w 50% -c 25% +} + +define command { + command_name check_local_cpu + command_line $PLUGINSDIR$/check_cpu -w 20 -c 10 +} + + + + +# ----------------------------------------------------------------- +# +# Classic network calls +# +# ----------------------------------------------------------------- + +# Simple tcp check +define command { + command_name check_tcp + command_line $PLUGINSDIR$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ +} + +# Simple web check +define command { + command_name check_http + command_line $PLUGINSDIR$/check_http -H $HOSTADDRESS$ +} + +# And with SSL +define command { + command_name check_https + command_line $PLUGINSDIR$/check_http -H $HOSTADDRESS$ -S +} + + +# Check a DNS entry +define command { + command_name check_dig + command_line $PLUGINSDIR$/check_dig -H $HOSTADDRESS$ -l $ARG1$ +} + +# Check a FTP service +define command { + command_name check_ftp + command_line $PLUGINSDIR$/check_ftp -H $HOSTADDRESS$ +} + + +# Ask a nrpe agent +define command { + command_name check_nrpe + command_line $PLUGINSDIR$/check_nrpe -H $HOSTADDRESS$ -t 9 -u -c $ARG1$ +} + +# Same but with arguments +define command { + command_name check_nrpe_args + command_line $PLUGINSDIR$/check_nrpe -H $HOSTADDRESS$ -t 9 -u -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ +} + +# Simple ping command +define command { + command_name check_ping + command_line $PLUGINSDIR$/check_ping -H $HOSTADDRESS$ -w 3000,100% -c 5000,100% -p 1 +} + +# Look at good ssh launch +define command { + command_name check_ssh + command_line $PLUGINSDIR$/check_ssh -H $HOSTADDRESS$ +} + +# Look for good smtp connection +define command { + command_name check_smtp + command_line $PLUGINSDIR$/check_smtp -H $HOSTADDRESS$ +} + +# And SMTPS too +define command { + command_name check_smtps + command_line $PLUGINSDIR$/check_smtp -H $HOSTADDRESS$ -S +} + +# Look at a SSL certificate +define command { + command_name check_https_certificate + command_line $PLUGINSDIR$/check_http -H $HOSTADDRESS$ -C 30 +} + +#Look at an HP printer state +define command{ + command_name check_hpjd + command_line $PLUGINSDIR$/check_hpjd -H $HOSTADDRESS$ -C $SNMPCOMMUNITYREAD$ +} + + +# Look at Oracle connection +define command { + command_name check_oracle_listener + command_line $PLUGINSDIR$/check_oracle --tns $HOSTADDRESS$ +} + +# Same but for MSSQL +# Look at http://labs.consol.de/nagios/check_mssql_health/ to get it +# Don't forget to change $MSSQLUSER$ and $MSSQLPASSWORD$ in resources.cfg before you use this ;) +define command { + command_name check_mssql_connection + command_line $PLUGINSDIR$/check_mssql_health --hostname $HOSTADDRESS$ --username "$MSSQLUSER$" --password "$MSSQLPASSWORD$" --mode connection-time +} + + +# Ldap query +# Don't forget to update the macros in the resources.cfg file +define command { + command_name check_ldap + command_line $PLUGINSDIR$/check_ldap -H $HOSTADDRESS$ -b "$LDAPBASE$" -D $DOMAINUSER$ -P "$DOMAINPASSWORD$" +} + +# Now the same, but in LDAPS +# Don't forget to update the macros in the resources.cfg +define command { + command_name check_ldaps + command_line $PLUGINSDIR$/check_ldaps -H $HOSTADDRESS$ -b "$LDAPBASE$" -D $DOMAINUSER$ -P "$DOMAINPASSWORD$" +} + +# Distant mysql check +define command { + command_name check_mysql_connection + command_line $PLUGINSDIR$/check_mysql -H $HOSTADDRESS$ -u $MYSQLUSER$ -p $MYSQLPASSWORD$ +} + + +## Now ESX and VM checks +##ARG1 and take cpu, io, net or mem +define command{ + command_name check_esx_host + command_line $PLUGINSDIR$/check_esx3.pl -D $VCENTER$ -H $HOSTADDRESS$ -u $VCENTERLOGIN$ -p $VCENTERPASSWORD$ l $ARG1$ +} + +define command{ + command_name check_esx_vm + command_line $PLUGINSDIR$/check_esx3.pl -D $VCENTER$ -N $HOSTALIAS$ -u $VCENTERLOGIN$ -p $VCENTERPASSWORD$ -l $ARG1$ +} + + +#### Then samples which are not really useful in the real world + +#Pollertag is a advanced features for mix architectures. Look at the doc for it. +define command{ + command_name check_linux_host_alive + command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p 22 -t 3 + #poller_tag DMZ + #module_type nrpe_poller +} + +#Pollertag is a advanced features for mix architectures. Look at the doc for it. +define command{ + command_name check_host_alive + command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 1,50% -c 2,70% -p 1 + #poller_tag DMZ + #module_type nrpe_poller +} + + +define command{ + command_name check_windows_host_alive + command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p 139 -t 3 + #poller_tag DMZ + #module_type nrpe_poller +} + + +define command{ + command_name check_local_disk + command_line $USER1$/check.sh $HOSTADDRESS$ -c $ARG1$ SERVICE $USER1$ + #poller_tag DMZ + #module_type nrpe_poller +} + + +# Dummy check port command +define command{ + command_name check_port + command_line /bin/ping localhost -c 1 + #$USER1$/check.sh $HOSTADDRESS$ -c $ARG1$ + #poller_tag DMZ + #module_type nrpe_poller +} + +# Dummy check for mysql, always CRITICAL +define command{ + command_name check_mysql + command_line $USER1$/check_dummy.sh 2 +} + + +define command{ + command_name check_dummy + command_line $USER1$/check_dummy.sh $ARG1$ + #poller_tag DMZ +} + + +define command{ + command_name super_event_kill_everyone + command_line $USER1$/check.sh $HOSTADDRESS$ -c $ARG1$ SERVICE $_HOSTDELLSUCK$ +} + + +# We say Http checks are always OK +define command{ + command_name check_http2 + command_line $USER1$/check_dummy.sh 1 + #module_type nrpe_poller +} + +define command{ + command_name check-host-alive + command_line $USER1$/check.sh $HOSTADDRESS$ -c $ARG1$ HOST $_HOSTDELLSUCK$ $SERVICEDESC:srv-1:Service-2$ $SERVICEDESC::Service-30$ $HOSTADDRESS:$ $HOSTGROUPALIAS:linux-servers$ + #module_type dummy_poller +} + + +define command{ + command_name check_vm_cpu + command_line $USER1$/check_esx3.pl -H lulu +} + + +#### Now notification commands +define command{ + command_name notify-host-by-email + command_line /usr/bin/printf "%b" "Shinken Notification\n\nType:$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\nDate/Time: $DATE$" | /usr/bin/mail -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$ +} + + +define command{ + command_name notify-service-by-email + command_line /usr/bin/printf "%b" "Shinken Notification\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $DATE$ Additional Info : $SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ +} + + +#### And Discovery commands +define command{ + command_name nmap_discovery + command_line $USER1$/nmap_discovery_runner.py -t $NMAPTARGETS$ +} + +define command{ + command_name vmware_esx_discovery + command_line $USER1$/vmware_discovery_runner.py -V $VCENTER$ -u $VCENTERLOGIN$ -p $VCENTERPASSWORD$ -r "lower|nofqdn" +} + |