diff --git a/monitoring/nagios3/cgi.cfg b/monitoring/nagios3/cgi.cfg new file mode 100644 index 0000000..c7bc308 --- /dev/null +++ b/monitoring/nagios3/cgi.cfg @@ -0,0 +1,377 @@ +################################################################# +# +# CGI.CFG - Sample CGI Configuration File for Nagios +# +################################################################# + + +# MAIN CONFIGURATION FILE +# This tells the CGIs where to find your main configuration file. +# The CGIs will read the main and host config files for any other +# data they might need. + +main_config_file=/etc/nagios3/nagios.cfg + + + +# PHYSICAL HTML PATH +# This is the path where the HTML files for Nagios reside. This +# value is used to locate the logo images needed by the statusmap +# and statuswrl CGIs. + +physical_html_path=/usr/share/nagios3/htdocs + + + +# URL HTML PATH +# This is the path portion of the URL that corresponds to the +# physical location of the Nagios HTML files (as defined above). +# This value is used by the CGIs to locate the online documentation +# and graphics. If you access the Nagios pages with an URL like +# http://www.myhost.com/nagios, this value should be '/nagios' +# (without the quotes). + +url_html_path=/nagios3 + + + +# CONTEXT-SENSITIVE HELP +# This option determines whether or not a context-sensitive +# help icon will be displayed for most of the CGIs. +# Values: 0 = disables context-sensitive help +# 1 = enables context-sensitive help + +show_context_help=1 + + + +# PENDING STATES OPTION +# This option determines what states should be displayed in the web +# interface for hosts/services that have not yet been checked. +# Values: 0 = leave hosts/services that have not been check yet in their original state +# 1 = mark hosts/services that have not been checked yet as PENDING + +use_pending_states=1 + +# NAGIOS PROCESS CHECK COMMAND +# This is the full path and filename of the program used to check +# the status of the Nagios process. It is used only by the CGIs +# and is completely optional. However, if you don't use it, you'll +# see warning messages in the CGIs about the Nagios process +# not running and you won't be able to execute any commands from +# the web interface. The program should follow the same rules +# as plugins; the return codes are the same as for the plugins, +# it should have timeout protection, it should output something +# to STDIO, etc. +# +# Note: The command line for the check_nagios plugin below may +# have to be tweaked a bit, as different versions of the plugin +# use different command line arguments/syntaxes. + +nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/cache/nagios3/status.dat 5 '/usr/sbin/nagios3' + + +# AUTHENTICATION USAGE +# This option controls whether or not the CGIs will use any +# authentication when displaying host and service information, as +# well as committing commands to Nagios for processing. +# +# Read the HTML documentation to learn how the authorization works! +# +# NOTE: It is a really *bad* idea to disable authorization, unless +# you plan on removing the command CGI (cmd.cgi)! Failure to do +# so will leave you wide open to kiddies messing with Nagios and +# possibly hitting you with a denial of service attack by filling up +# your drive by continuously writing to your command file! +# +# Setting this value to 0 will cause the CGIs to *not* use +# authentication (bad idea), while any other value will make them +# use the authentication functions (the default). + +use_authentication=1 + + + + +# x509 CERT AUTHENTICATION +# When enabled, this option allows you to use x509 cert (SSL) +# authentication in the CGIs. This is an advanced option and should +# not be enabled unless you know what you're doing. + +use_ssl_authentication=0 + + + + +# DEFAULT USER +# Setting this variable will define a default user name that can +# access pages without authentication. This allows people within a +# secure domain (i.e., behind a firewall) to see the current status +# without authenticating. You may want to use this to avoid basic +# authentication if you are not using a secure server since basic +# authentication transmits passwords in the clear. +# +# Important: Do not define a default username unless you are +# running a secure web server and are sure that everyone who has +# access to the CGIs has been authenticated in some manner! If you +# define this variable, anyone who has not authenticated to the web +# server will inherit all rights you assign to this user! + +#default_user_name=guest + + + +# SYSTEM/PROCESS INFORMATION ACCESS +# This option is a comma-delimited list of all usernames that +# have access to viewing the Nagios process information as +# provided by the Extended Information CGI (extinfo.cgi). By +# default, *no one* has access to this unless you choose to +# not use authorization. You may use an asterisk (*) to +# authorize any user who has authenticated to the web server. + +authorized_for_system_information=* + + + +# CONFIGURATION INFORMATION ACCESS +# This option is a comma-delimited list of all usernames that +# can view ALL configuration information (hosts, commands, etc). +# By default, users can only view configuration information +# for the hosts and services they are contacts for. You may use +# an asterisk (*) to authorize any user who has authenticated +# to the web server. + +authorized_for_configuration_information=* + + + +# SYSTEM/PROCESS COMMAND ACCESS +# This option is a comma-delimited list of all usernames that +# can issue shutdown and restart commands to Nagios via the +# command CGI (cmd.cgi). Users in this list can also change +# the program mode to active or standby. By default, *no one* +# has access to this unless you choose to not use authorization. +# You may use an asterisk (*) to authorize any user who has +# authenticated to the web server. + +authorized_for_system_commands=* + + + +# GLOBAL HOST/SERVICE VIEW ACCESS +# These two options are comma-delimited lists of all usernames that +# can view information for all hosts and services that are being +# monitored. By default, users can only view information +# for hosts or services that they are contacts for (unless you +# you choose to not use authorization). You may use an asterisk (*) +# to authorize any user who has authenticated to the web server. + + +authorized_for_all_services=* +authorized_for_all_hosts=* + + + +# GLOBAL HOST/SERVICE COMMAND ACCESS +# These two options are comma-delimited lists of all usernames that +# can issue host or service related commands via the command +# CGI (cmd.cgi) for all hosts and services that are being monitored. +# By default, users can only issue commands for hosts or services +# that they are contacts for (unless you you choose to not use +# authorization). You may use an asterisk (*) to authorize any +# user who has authenticated to the web server. + +authorized_for_all_service_commands=* +authorized_for_all_host_commands=* + + + +# READ-ONLY USERS +# A comma-delimited list of usernames that have read-only rights in +# the CGIs. This will block any service or host commands normally shown +# on the extinfo CGI pages. It will also block comments from being shown +# to read-only users. + +#authorized_for_read_only=user1,user2 + + + + +# STATUSMAP BACKGROUND IMAGE +# This option allows you to specify an image to be used as a +# background in the statusmap CGI. It is assumed that the image +# resides in the HTML images path (i.e. /usr/local/nagios/share/images). +# This path is automatically determined by appending "/images" +# to the path specified by the 'physical_html_path' directive. +# Note: The image file may be in GIF, PNG, JPEG, or GD2 format. +# However, I recommend that you convert your image to GD2 format +# (uncompressed), as this will cause less CPU load when the CGI +# generates the image. + +#statusmap_background_image=smbackground.gd2 + + + + +# STATUSMAP TRANSPARENCY INDEX COLOR +# These options set the r,g,b values of the background color used the statusmap CGI, +# so normal browsers that can't show real png transparency set the desired color as +# a background color instead (to make it look pretty). +# Defaults to white: (R,G,B) = (255,255,255). + +#color_transparency_index_r=255 +#color_transparency_index_g=255 +#color_transparency_index_b=255 + + + + +# DEFAULT STATUSMAP LAYOUT METHOD +# This option allows you to specify the default layout method +# the statusmap CGI should use for drawing hosts. If you do +# not use this option, the default is to use user-defined +# coordinates. Valid options are as follows: +# 0 = User-defined coordinates +# 1 = Depth layers +# 2 = Collapsed tree +# 3 = Balanced tree +# 4 = Circular +# 5 = Circular (Marked Up) + +default_statusmap_layout=5 + + + +# DEFAULT STATUSWRL LAYOUT METHOD +# This option allows you to specify the default layout method +# the statuswrl (VRML) CGI should use for drawing hosts. If you +# do not use this option, the default is to use user-defined +# coordinates. Valid options are as follows: +# 0 = User-defined coordinates +# 2 = Collapsed tree +# 3 = Balanced tree +# 4 = Circular + +default_statuswrl_layout=4 + + + +# STATUSWRL INCLUDE +# This option allows you to include your own objects in the +# generated VRML world. It is assumed that the file +# resides in the HTML path (i.e. /usr/local/nagios/share). + +#statuswrl_include=myworld.wrl + + + +# PING SYNTAX +# This option determines what syntax should be used when +# attempting to ping a host from the WAP interface (using +# the statuswml CGI. You must include the full path to +# the ping binary, along with all required options. The +# $HOSTADDRESS$ macro is substituted with the address of +# the host before the command is executed. +# Please note that the syntax for the ping binary is +# notorious for being different on virtually ever *NIX +# OS and distribution, so you may have to tweak this to +# work on your system. + +ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ + + + +# REFRESH RATE +# This option allows you to specify the refresh rate in seconds +# of various CGIs (status, statusmap, extinfo, and outages). + +refresh_rate=90 + +# DEFAULT PAGE LIMIT +# This option allows you to specify the default number of results +# displayed on the status.cgi. This number can be adjusted from +# within the UI after the initial page load. Setting this to 0 +# will show all results. + +result_limit=0 + + +# ESCAPE HTML TAGS +# This option determines whether HTML tags in host and service +# status output is escaped in the web interface. If enabled, +# your plugin output will not be able to contain clickable links. + +escape_html_tags=1 + + + + +# SOUND OPTIONS +# These options allow you to specify an optional audio file +# that should be played in your browser window when there are +# problems on the network. The audio files are used only in +# the status CGI. Only the sound for the most critical problem +# will be played. Order of importance (higher to lower) is as +# follows: unreachable hosts, down hosts, critical services, +# warning services, and unknown services. If there are no +# visible problems, the sound file optionally specified by +# 'normal_sound' variable will be played. +# +# +# = +# +# Note: All audio files must be placed in the /media subdirectory +# under the HTML path (i.e. /usr/local/nagios/share/media/). + +#host_unreachable_sound=hostdown.wav +#host_down_sound=hostdown.wav +#service_critical_sound=critical.wav +#service_warning_sound=warning.wav +#service_unknown_sound=warning.wav +#normal_sound=noproblem.wav + + + +# URL TARGET FRAMES +# These options determine the target frames in which notes and +# action URLs will open. + +action_url_target=_blank +notes_url_target=_blank + + + + +# LOCK AUTHOR NAMES OPTION +# This option determines whether users can change the author name +# when submitting comments, scheduling downtime. If disabled, the +# author names will be locked into their contact name, as defined in Nagios. +# Values: 0 = allow editing author names +# 1 = lock author names (disallow editing) + +lock_author_names=1 + + + + +# SPLUNK INTEGRATION OPTIONS +# These options allow you to enable integration with Splunk +# in the web interface. If enabled, you'll be presented with +# "Splunk It" links in various places in the CGIs (log file, +# alert history, host/service detail, etc). Useful if you're +# trying to research why a particular problem occurred. +# For more information on Splunk, visit http://www.splunk.com/ + +# This option determines whether the Splunk integration is enabled +# Values: 0 = disable Splunk integration +# 1 = enable Splunk integration + +#enable_splunk_integration=1 + + +# This option should be the URL used to access your instance of Splunk + +#splunk_url=http://127.0.0.1:8000/ + + + diff --git a/monitoring/nagios3/commands.cfg b/monitoring/nagios3/commands.cfg new file mode 100644 index 0000000..a16bf7b --- /dev/null +++ b/monitoring/nagios3/commands.cfg @@ -0,0 +1,128 @@ +############################################################################### +# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS +############################################################################### + + +################################################################################ +# NOTIFICATION COMMANDS +################################################################################ + + +# 'notify-host-by-email' command definition +define command{ + command_name notify-host-by-email + command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ + } + +# 'notify-service-by-email' command definition +define command{ + command_name notify-service-by-email + command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ + } + + + + + +################################################################################ +# HOST CHECK COMMANDS +################################################################################ + +# On Debian, check-host-alive is being defined from within the +# nagios-plugins-basic package + +################################################################################ +# PERFORMANCE DATA COMMANDS +################################################################################ + + +# 'process-host-perfdata' command definition +define command{ + command_name process-host-perfdata + command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/lib/nagios3/host-perfdata.out + } + + +# 'process-service-perfdata' command definition +define command{ + command_name process-service-perfdata + command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/lib/nagios3/service-perfdata.out + } + +###### custom snmp commands ###### +define command { + command_name check_snmp_cisco + command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -P 2c -C $USER3$ -o $ARG1$ $ARG2$ $ARG3$ +} + +define command { + command_name check_stream_count + command_line /usr/local/bin/count-streams.sh $ARG1$ $ARG2$ +} + +define command { + command_name check_rtmp + command_line /usr/lib/nagios/plugins/check_rtmp.sh -u $ARG1$ -t 5 +} + +define command { + command_name check_collectd + command_line /usr/bin/collectd-nagios -s /tmp/collectd.sock -H $HOSTALIAS$ -n $ARG1$ -w $ARG2$ -c $ARG3$ +} + +define command { + command_name notify-service-by-slack + command_line /usr/local/bin/slack_nagios.pl -field slack_channel=#noc -field HOSTALIAS="$HOSTNAME$" -field SERVICEDESC="$SERVICEDESC$" -field SERVICESTATE="$SERVICESTATE$" -field SERVICEOUTPUT="$SERVICEOUTPUT$" -field NOTIFICATIONTYPE="$NOTIFICATIONTYPE$" +} + +define command { + command_name notify-host-by-slack + command_line /usr/local/bin/slack_nagios.pl -field slack_channel=#noc -field HOSTALIAS="$HOSTNAME$" -field HOSTSTATE="$HOSTSTATE$" -field HOSTOUTPUT="$HOSTOUTPUT$" -field NOTIFICATIONTYPE="$NOTIFICATIONTYPE$" +} + +# check http with host and port +# check for grafana +define command { + command_name check_http_host_port + command_line /usr/lib/nagios/plugins/check_http -H $ARG1$ -I $ARG2$ -p $ARG3$ +} + +define command { + command_name check_tcp_port + command_line /usr/lib/nagios/plugins/check_tcp -H $HOSTADDRESS$ -p $ARG1$ +} + +define command { + command_name check_udp_port + command_line /usr/lib/nagios/plugins/check_udp -H $HOSTADDRESS$ -p $ARG1$ +} + +# for unbound +define command { + command_name custom_check_dns + command_line /usr/lib/nagios/plugins/check_dns -H openfest.org -s $HOSTADDRESS$ -a 79.98.105.21 +} + +# check dynamic interface status +define command { + command_name check_ifstat_snmp + command_line /etc/nagios3/commands/check-interface-up.sh $USER3$ $HOSTADDRESS$ $ARG1$ +} + +# uptime via snmp with warnings +define command { + command_name check_uptime_snmp + command_line /etc/nagios3/commands/check_uptime_snmp.pl -H $HOSTADDRESS$ -2 -C $USER3$ $ARG1$ $ARG2$ $ARG3$ +} + +# check dynamic interface status +define command { + command_name check_ifstat_snmp_ap + command_line /etc/nagios3/commands/check-interface-up.sh $USER4$ $HOSTADDRESS$ $ARG1$ +} + +# uptime via snmp with warnings +define command { + command_name check_uptime_snmp_ap + command_line /etc/nagios3/commands/check_uptime_snmp.pl -H $HOSTADDRESS$ -2 -C $USER4$ $ARG1$ $ARG2$ $ARG3$ +} diff --git a/monitoring/nagios3/commands/check-interface-up.sh b/monitoring/nagios3/commands/check-interface-up.sh new file mode 100755 index 0000000..f9f0428 --- /dev/null +++ b/monitoring/nagios3/commands/check-interface-up.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Simple script to check if remote wifi if is up +# +# 2016.10.20 - Initial version +# +# copyright: 2016 Vladimir Vitkov + +# helpers +E_OK=0 +E_WARNING="1" +E_CRITICAL="2" +E_UNKNOWN="3" + +_community=${1} +_hostname=${2} +_interface=${3} + +# Sanity check +if [ $# -ne 3 ]; then + echo "UNKNOWN: Missing parameters $0 " + exit ${E_UNKNOWN} +fi + +function find_oid() { + # oids + # .1.3.6.1.2.1.2.2.1.2 - IF-MIB::ifDescr + _oid=$( + snmpwalk \ + -v2c \ + -c ${_community} \ + -On \ + -m '' \ + -t 1 \ + -r 5 \ + -Oqn \ + ${_hostname} \ + .1.3.6.1.2.1.2.2.1.2 | \ + egrep ${_interface} | \ + awk '{print $1}' + ) + + echo ${_oid} +} + +function check_status() { + # lets have the id please + _id=$(echo ${1} | awk -F'.' '{print $NF}') + # oids + # .1.3.6.1.2.1.2.2.1.8 - IF-MIB::ifOperStatus + /usr/lib/nagios/plugins/check_snmp \ + -H ${_hostname} \ + -P 2c \ + -C ${_community} \ + -c 1 \ + -o .1.3.6.1.2.1.2.2.1.8.${_id} + + exit $? +} +OID=`find_oid` +check_status ${OID} diff --git a/monitoring/nagios3/commands/check_uptime_snmp.pl b/monitoring/nagios3/commands/check_uptime_snmp.pl new file mode 100755 index 0000000..7759788 --- /dev/null +++ b/monitoring/nagios3/commands/check_uptime_snmp.pl @@ -0,0 +1,722 @@ +#!/usr/bin/perl -w +# +# ============================== SUMMARY ===================================== +# +# Program : check_uptime.pl +# Version : 0.521 +# Date : Oct 4, 2012 +# Authors : William Leibzon - william@leibzon.org +# Licence : GPL - summary below, full text at http://www.fsf.org/licenses/gpl.txt +# +# =========================== PROGRAM LICENSE ================================= +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# ===================== INFORMATION ABOUT THIS PLUGIN ========================= +# +# This plugin returns uptime of the system returning data in text (readable) +# format as well as in minutes for performance graphing. The plugin can either +# run on local system unix system (that supports standard 'uptime' command +# or check remote system by SNMP. The plugin can report one CRITICAL or +# WARNING alert if system has been rebooted since last check. +# +# ====================== SETUP AND PLUGIN USE NOTES ========================= +# +# The plugin can either retrieve information from local system (when you +# run it through check_nrpe for example) or by SNMP from remote system. +# +# On local system it will execute standard unix 'uptime' and 'uname -a'. +# +# On a remote system it'll retrieve data from sysSystem for system type +# and use that to decide if further data should be retrieved from +# sysUptime (OID 1.3.6.1.2.1.1.3.0) for windows or +# hostUptime (OID 1.3.6.1.2.1.25.1.1.0) for unix system or +# snmpEngineTime (OID 1.3.6.1.6.3.10.2.1.3) for cisco switches +# +# For information on available options please execute it with --help i.e: +# check_uptime.pl --help +# +# As I dont have time for extensive documentation below is all very brief: +# +# 1. You can also specify warning and critical thresholds which will +# give warning or critical alert if system has been up for lees then +# specified number of minutes. Example: +# check_uptime.pl -w 5 +# Will give warning alert if system has been up for less then 5 minutes +# +# 2. For performance data results you can use '-f' option which will give +# total number of minutes the system has been up. +# +# 3. A special case is use of performance to feed data from previous run +# back into the plugin. This is used to cache results about what type +# of system it is (you can also directly specify this with -T option) +# and also means -w and -c threshold values are ignored and instead +# plugin will issue ONE alert (warning or critical) if system uptime +# changes from highier value to lower +# +# ============================ EXAMPLES ======================================= +# +# 1. Local server (use with NRPE or on nagios host), warning on < 5 minutes: +# +# define command { +# command_name check_uptime +# command_line $USER1$/check_uptime.pl -f -w 5 +# } +# +# 2. Local server (use with NRPE or on nagios host), +# one critical alert on reboot: +# +# define command { +# command_name check_uptime +# command_line $USER1$/check_uptime.pl -f -c -P "SERVICEPERFDATA$" +# } +# +# 3. Remote server SNMP v2, one warning alert on reboot, +# autodetect and cache type of server: +# +# define command { +# command_name check_snmp_uptime_v2 +# command_line $USER1$/check_uptime.pl -2 -f -w -H $HOSTADDRESS$ -C $_HOSTSNMP_COMMUNITY$ -P "$SERVICEPERFDATA$" +# } +# +# 4. Remote server SNMP v3, rest as above +# +#define command { +# command_name check_snmp_uptime_v3 +# command_line $USER1$/check_uptime.pl -f -w -H $HOSTADDRESS$ -l $_HOSTSNMP_V3_USER$ -x $_HOSTSNMP_V3_AUTH$ -X $_HOSTSNMP_V3_PRIV$ -L sha,aes -P "$SERVICEPERFDATA$" +# } +# +# 5. Example of service definition using above +# +# define service{ +# use std-service +# hostgroup_name all_snmp_hosts +# service_description SNMP Uptime +# max_check_attempts 1 +# check_command check_snmp_uptime +# } +# +# 6. And this is optional dependency definition for above which makes +# every SNMP service (service beloning to SNMP servicegroup) on +# same host dependent on this SNMP Uptime check. Then if SNMP +# daemon goes down you only receive one alert +# +# define servicedependency{ +# service_description SNMP Uptime +# dependent_servicegroup_name snmp +# } +# +# ============================= VERSION HISTORY ============================== +# +# 0.1 - sometime 2006 : Simple script for tracking local system uptime +# 0.2 - sometime 2008 : Update to get uptime by SNMP, its now alike my other plugins +# 0.3 - Nov 14, 2009 : Added getting system info line and using that to decide +# format of uptime line and how to process it. Added support +# for getting uptime with SNMP from windows systems. +# Added documentation header alike my other plugins. +# Planned to release it to public, but forgot. +# 0.4 - Dec 19, 2011 : Update to support SNMP v3, released to public +# 0.41 - Jan 13, 2012 : Added bug fix by Rom_UA posted as comment on Nagios Exchange +# Added version history you're reading right now. +# 0.42 - Feb 13, 2012 : Bug fix to not report WARNING if uptime is not correct output +# 0.5 - Feb 29, 2012 : Added support for "netswitch" engine type that retrieves +# snmpEngineTime. Added proper support for sysUpTime interpreting +# it as 1/100s of a second and converting to days,hours,minutes +# Changed internal processing structure, now reported uptime +# info text is based on uptime_minutes and not separate. +# 0.51 - Jun 05, 2012 : Bug fixed for case when when snmp system info is < 3 words. +# 0.52 - Jun 19, 2012 : For switches if snmpEngineTime OID is not available, +# the plugin will revert back to checking hostUptime and +# then sysUptime. Entire logic has in fact been changed +# to support trying more than just two OIDs. Also added +# support to specify filename to '-v' option for debug +# output to go to instead of console and for '--debug' +# option as an alias to '--verbose'. +# 0.521 - Oct 4, 2012 : Small bug in one of regex, see issue #11 on github +# +# TODO: +# 0) Add '--extra-opts' to allow to read options from a file as specified +# at http://nagiosplugins.org/extra-opts. This is TODO for all my plugins +# 1) Add support for ">", "<" and other threshold qualifiers +# as done in check_snmp_temperature.pl or check_mysqld.pl +# 2) Support for more types, in particular network equipment such as cisco: [DONE] +# sysUpTime is a 32-bit counter in 1/100 of a second, it rolls over after 496 days +# snmpEngineTime (.1.3.6.1.6.3.10.2.1.3) returns the uptime in seconds and will not +# roll over, however some cisco switches (29xx) are buggy and it gets reset too. +# Routers running 12.0(3)T or higher can use the snmpEngineTime object from +# the SNMP-FRAMEWORK-MIB. This keeps track of seconds since SNMP engine started. +# 3) Add threshold into perfout as ';warn;crit' +# +# ========================== START OF PROGRAM CODE =========================== + +use strict; +use Getopt::Long; + +# Nagios specific +our $TIMEOUT; +our %ERRORS; +eval 'use utils qw(%ERRORS $TIMEOUT)'; +if ($@) { + $TIMEOUT = 10; + %ERRORS = ('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3,'DEPENDENT'=>4); +} + +our $no_snmp=0; +eval 'use Net::SNMP'; +if ($@) { + $no_snmp=1; +} + +# Version +my $Version='0.52'; + +# SNMP OID +my $oid_sysSystem = '1.3.6.1.2.1.1.1.0'; # windows and some unix +my $oid_hostUptime = '1.3.6.1.2.1.25.1.1.0'; # hostUptime, usually unix systems +my $oid_sysUptime = '1.3.6.1.2.1.1.3.0'; # sysUpTime, windows +my $oid_engineTime = '1.3.6.1.6.3.10.2.1.3'; # SNMP-FRAMEWORK-MIB + +my @oid_uptime_types = ( ['', '', ''], # type 0 is reserved + [ 'local', '', ''], # type 1 is local + [ 'win', 'sysUpTime', $oid_sysUptime ], # type 2 is windows + [ 'unix-host', 'hostUpTime', $oid_hostUptime ], # type 3 is unix-host + [ 'unix-sys', 'sysUpTime', $oid_sysUptime ], # type 4 is unix-sys + [ 'net', 'engineTime', $oid_engineTime ]); # type 5 is netswitch + +# Not used, but perhaps later +my $oid_hrLoad = '1.3.6.1.2.1.25.3.3.1.2.1'; +my $oid_sysLoadInt1 = '1.3.6.1.4.1.2021.10.1.5.1'; +my $oid_sysLoadInt5 = '1.3.6.1.4.1.2021.10.1.5.2'; +my $oid_sysLoadInt15 = '1.3.6.1.4.1.2021.10.1.5.3'; + +# Standard options +my $o_host = undef; # hostname +my $o_timeout= undef; # Timeout (Default 10) +my $o_help= undef; # wan't some help ? +my $o_verb= undef; # verbose mode +my $o_version= undef; # print version +my $o_label= undef; # change label instead of printing uptime +my $o_perf= undef; # Output performance data (uptime in minutes) +my $o_prevperf= undef; # performance data given with $SERVICEPERFDATA$ macro +my $o_warn= undef; # WARNING alert if system has been up for < specified number of minutes +my $o_crit= undef; # CRITICAL alert if system has been up for < specified number of minutes +my $o_type= undef; # type of check (local, auto, unix, win) + +# Login and other options specific to SNMP +my $o_port = 161; # SNMP port +my $o_community = undef; # community +my $o_version2 = undef; # use snmp v2c +my $o_login= undef; # Login for snmpv3 +my $o_passwd= undef; # Pass for snmpv3 +my $v3protocols= undef; # V3 protocol list. +my $o_authproto= 'md5'; # Auth protocol +my $o_privproto= 'des'; # Priv protocol +my $o_privpass= undef; # priv password + +## Additional global variables +my %prev_perf= (); # array that is populated with previous performance data +my $check_type = 0; + +sub p_version { print "check_uptime version : $Version\n"; } + +sub print_usage { + print "Usage: $0 [-v [debugfilename]] [-T local|unix-host|unix-sys|win|net] [-H (-C ) [-2] | (-l login -x passwd [-X pass -L ,) [-p ]] [-w -s ] [-f] [-P ] [-t ] | [-V] [--label ]\n"; +} + +sub isnnum { # Return true if arg is not a number + my $num = shift; + if ( $num =~ /^(\d+\.?\d*)|(^\.\d+)$/ ) { return 0 ;} + return 1; +} + +sub div_mod { return int( $_[0]/$_[1]) , ($_[0] % $_[1]); } + +sub help { + print "\nUptime Plugin for Nagios (check_uptime) v. ",$Version,"\n"; + print "GPL licence, (c) 2008-2012 William Leibzon\n\n"; + print_usage(); + print <, + : Authentication protocol (md5|sha : default md5) + : Priv protocols (des|aes : default des) + -p, --port=PORT + SNMP port (Default 161) +EOT +} + +# For verbose output (updated 06/06/12 to write to debug file if specified) +sub verb { + my $t=shift; + if (defined($o_verb)) { + if ($o_verb eq "") { + print $t,"\n"; + } + else { + if (!open(DEBUGFILE, ">>$o_verb")) { + print $t, "\n"; + } + else { + print DEBUGFILE $t,"\n"; + close DEBUGFILE; + } + } + } +} + +# load previous performance data +sub process_perf { + my %pdh; + my ($nm,$dt); + foreach (split(' ',$_[0])) { + if (/(.*)=(.*)/) { + ($nm,$dt)=($1,$2); + verb("prev_perf: $nm = $dt"); + # in some of my plugins time_ is to profile how long execution takes for some part of plugin + # $pdh{$nm}=$dt if $nm !~ /^time_/; + $pdh{$nm}=$dt; + } + } + return %pdh; +} + +sub type_from_name { + my $type=shift; + for(my $i=1; $i \$o_verb, 'verbose:s' => \$o_verb, "debug:s" => \$o_verb, + 'h' => \$o_help, 'help' => \$o_help, + 'H:s' => \$o_host, 'hostname:s' => \$o_host, + 'p:i' => \$o_port, 'port:i' => \$o_port, + 'C:s' => \$o_community, 'community:s' => \$o_community, + '2' => \$o_version2, 'v2c' => \$o_version2, + 'l:s' => \$o_login, 'login:s' => \$o_login, + 'x:s' => \$o_passwd, 'passwd:s' => \$o_passwd, + 'X:s' => \$o_privpass, 'privpass:s' => \$o_privpass, + 'L:s' => \$v3protocols, 'protocols:s' => \$v3protocols, + 't:i' => \$o_timeout, 'timeout:i' => \$o_timeout, + 'V' => \$o_version, 'version' => \$o_version, + 'f' => \$o_perf, 'perfparse' => \$o_perf, + 'w:i' => \$o_warn, 'warning:i' => \$o_warn, + 'c:i' => \$o_crit, 'critical:i' => \$o_crit, + 'label:s' => \$o_label, + 'P:s' => \$o_prevperf, 'prev_perfdata:s' => \$o_prevperf, + 'T:s' => \$o_type, 'type:s' => \$o_type, + ); + if (defined ($o_help) ) { help(); exit $ERRORS{"UNKNOWN"}}; + if (defined($o_version)) { p_version(); exit $ERRORS{"UNKNOWN"}}; + + $o_type = "win" if defined($o_type) && $o_type eq 'windows'; + $o_type = "net" if defined($o_type) && $o_type eq 'netswitch'; + if (defined($o_type) && $o_type ne 'auto' && type_from_name($o_type)==-1) { + print "Invalid system type specified\n"; print_usage(); exit $ERRORS{"UNNKNOWN"}; + } + + if (!defined($o_community) && (!defined($o_login) || !defined($o_passwd)) ) { + $o_type='local' if !defined($o_type) || $o_type eq 'auto'; + if ($o_type ne 'local') { + print "Put snmp login info!\n"; print_usage(); exit $ERRORS{"UNKNOWN"} + } + if (defined($o_host)) { + print "Why are you specifying hostname without SNMP parameters?\n"; print_usage(); exit $ERRORS{"UNKNOWN"}; + } + } + else { + $o_type='auto' if !defined($o_type); + if ($o_type eq 'local' ) { + print "Why are you specifying SNMP login for local system???\n"; print_usage(); exit $ERRORS{"UNKNOWN"} + } + if (!defined($o_host)) { + print "Hostname required for SNMP check.\n"; print_usage(); exit $ERRORS{"UNKNOWN"}; + } + if ($no_snmp) { + print "Can't locate Net/SNMP.pm\n"; print_usage(); exit $ERRORS{"UNKNOWN"}; + } + } + + # check snmp information + if ((defined($o_login) || defined($o_passwd)) && (defined($o_community) || defined($o_version2)) ) + { print "Can't mix snmp v1,2c,3 protocols!\n"; print_usage(); exit $ERRORS{"UNKNOWN"}} + if (defined ($v3protocols)) { + if (!defined($o_login)) { print "Put snmp V3 login info with protocols!\n"; print_usage(); exit $ERRORS{"UNKNOWN"}} + my @v3proto=split(/,/,$v3protocols); + if ((defined ($v3proto[0])) && ($v3proto[0] ne "")) {$o_authproto=$v3proto[0]; } # Auth protocol + if (defined ($v3proto[1])) {$o_privproto=$v3proto[1]; } # Priv protocol + if ((defined ($v3proto[1])) && (!defined($o_privpass))) + { print "Put snmp V3 priv login info with priv protocols!\n"; print_usage(); exit $ERRORS{"UNKNOWN"}} + } + + if (defined($o_timeout) && (isnnum($o_timeout) || ($o_timeout < 2) || ($o_timeout > 60))) + { print "Timeout must be >1 and <60 !\n"; print_usage(); exit $ERRORS{"UNKNOWN"}} + if (!defined($o_timeout)) {$o_timeout=$TIMEOUT+5;} + + if (defined($o_prevperf)) { + if (defined($o_perf)) { + %prev_perf=process_perf($o_prevperf); + $check_type = $prev_perf{type} if $o_type eq 'auto' && exists($prev_perf{tye}) && exists($oid_uptime_types[$prev_perf{type}][0]); + } + else { + print "need -f option first \n"; print_usage(); exit $ERRORS{"UNKNOWN"}; + } + } + + if ($o_type eq 'auto') { + $check_type=0; + } + else { + $check_type = type_from_name($o_type); + } +} + +sub create_snmp_session { + my ($session,$error); + + if ( defined($o_login) && defined($o_passwd)) { + # SNMPv3 login + if (!defined ($o_privpass)) { + verb("SNMPv3 AuthNoPriv login : $o_login, $o_authproto"); + ($session, $error) = Net::SNMP->session( + -hostname => $o_host, + -version => '3', + -port => $o_port, + -username => $o_login, + -authpassword => $o_passwd, + -authprotocol => $o_authproto, + -timeout => $o_timeout + ); + } else { + verb("SNMPv3 AuthPriv login : $o_login, $o_authproto, $o_privproto"); + ($session, $error) = Net::SNMP->session( + -hostname => $o_host, + -version => '3', + -username => $o_login, + -port => $o_port, + -authpassword => $o_passwd, + -authprotocol => $o_authproto, + -privpassword => $o_privpass, + -privprotocol => $o_privproto, + -timeout => $o_timeout + ); + } + } else { + if (defined ($o_version2)) { + # SNMPv2c Login + verb("SNMP v2c login"); + ($session, $error) = Net::SNMP->session( + -hostname => $o_host, + -version => 2, + -community => $o_community, + -port => $o_port, + -timeout => $o_timeout + ); + } else { + # SNMPV1 login + verb("SNMP v1 login"); + ($session, $error) = Net::SNMP->session( + -hostname => $o_host, + -community => $o_community, + -port => $o_port, + -timeout => $o_timeout + ); + } + } + if (!defined($session)) { + printf("ERROR opening session: %s.\n", $error); + exit $ERRORS{"UNKNOWN"}; + } + + return $session; +} + +$SIG{'ALRM'} = sub { + print "Alarm timeout\n"; + exit $ERRORS{"UNKNOWN"}; +}; + +########## MAIN ####### +my $system_info=""; +my $uptime_info=undef; +my $uptime_minutes=undef; +my $perf_out=""; +my $status=0; +my $uptime_output; +my ($days, $hrs, $mins); + +check_options(); + +# Check gobal timeout if snmp screws up +if (defined($o_timeout)) { + verb("Alarm at $o_timeout + 5"); + alarm($o_timeout+5); +} + +if ($check_type==1) { # local + # Process unix uptime command output + $uptime_output=`uptime`; + verb("Local Uptime Result is: $uptime_output"); + if ($uptime_output =~ /(\d+)\s+days?,\s+(\d+)\:(\d+)/) { + ($days, $hrs, $mins) = ($1, $2, $3); + } + elsif ($uptime_output =~ /up\s+(\d+)\shours?\s+(\d+)/) { + ($days, $hrs, $mins) = (0, $1, $2); + } + elsif ($uptime_output =~ /up\s+(\d+)\:(\d+)/) { + ($days, $hrs, $mins) = (0, $1, $2); + } + elsif ($uptime_output =~ /up\s+(\d+)\s+min/) { + ($days, $hrs, $mins) = (0,0,$1); + } + elsif ($uptime_output =~ /up\s+(\d+)s+days?,s+(\d+)s+min/) { + ($days, $hrs, $mins) = ($1,0,$2); + } + else { + $uptime_info = "up ".$uptime_output; + } + if (defined($days) && defined($hrs) && defined($mins)) { + $uptime_minutes = $days*24*60+$hrs*60+$mins; + } + my @temp=split(' ',`uname -a`); + if (scalar(@temp)<3) { + $system_info=`uname -a`; + } + else { + $system_info=join(' ',$temp[0],$temp[1],$temp[2]); + } +} +else { + # SNMP connection + my $session=create_snmp_session(); + my $result=undef; + my $oid=""; + my $guessed_check_type=0; + + if ($check_type==0){ + $result = $session->get_request(-varbindlist=>[$oid_sysSystem]); + if (!defined($result)) { + printf("ERROR: Can not retrieve $oid_sysSystem table: %s.\n", $session->error); + $session->close; + exit $ERRORS{"UNKNOWN"}; + } + verb("$o_host SysInfo Result from OID $oid_sysSystem: $result->{$oid_sysSystem}"); + if ($result->{$oid_sysSystem} =~ /Windows/) { + $guessed_check_type=2; + verb('Guessing Type: 2 = windows'); + } + if ($result->{$oid_sysSystem} =~ /Cisco/) { + $guessed_check_type=5; + verb('Guessing Type: 5 = netswitch'); + } + if ($guessed_check_type==0) { + $guessed_check_type=3; # will try hostUptime first + } + $oid=$oid_uptime_types[$guessed_check_type][2]; + } + else { + $oid=$oid_uptime_types[$check_type][2]; + } + + do { + $result = $session->get_request(-varbindlist=>[$oid,$oid_sysSystem]); + if (!defined($result)) { + if ($check_type!=0) { + printf("ERROR: Can not retrieve uptime OID table $oid: %s.\n", $session->error); + $session->close; + exit $ERRORS{"UNKNOWN"}; + } + else { + if ($session->error =~ /noSuchName/) { + if ($guessed_check_type==4) { + verb("Received noSuchName error for sysUpTime OID $oid. Giving up."); + $guessed_check_type=0; + } + if ($guessed_check_type==3) { + verb("Received noSuchName error for hostUpTime OID $oid, will now try sysUpTime"); + $guessed_check_type=4; + } + else { + verb("Received noSuchName error for OID $oid, will now try hostUpTime"); + $guessed_check_type=3; + } + if ($guessed_check_type!=0) { + $oid=$oid_uptime_types[$guessed_check_type][2]; + } + } + else { + printf("ERROR: Can not retrieve uptime OID table $oid: %s.\n", $session->error); + $session->close; + exit $ERRORS{"UNKNOWN"}; + } + } + } + else { + if ($check_type==0) { + $check_type=$guessed_check_type; + } + } + } + while (!defined($result) && $guessed_check_type!=0); + + $session->close; + if ($check_type==0 && $guessed_check_type==0) { + printf("ERROR: Can not autodetermine proper uptime OID table. Giving up.\n"); + exit $ERRORS{"UNKNOWN"}; + } + + my ($days, $hrs, $mins); + $uptime_output=$result->{$oid}; + verb("$o_host Uptime Result from OID $oid: $uptime_output"); + + if ($uptime_output =~ /(\d+)\s+days?,\s+(\d+)\:(\d+)/) { + ($days, $hrs, $mins) = ($1, $2, $3); + } + elsif ($uptime_output =~ /(\d+)\s+hours?,\s+(\d+)\:(\d+)/) { + ($days, $hrs, $mins) = (0, $1, $2); + } + elsif ($uptime_output =~ /(\d+)\s+min/) { + ($days, $hrs, $mins) = (0, 0, $1); + } + if (defined($days) && defined($hrs) && defined($mins)) { + $uptime_minutes = $days*24*60+$hrs*60+$mins; + } + elsif ($uptime_output =~ /^(\d+)$/) { + my $upnum = $1; + if ($oid eq $oid_sysUptime) { + $uptime_minutes = $upnum/100/60; + } + elsif ($oid eq $oid_engineTime) { + $uptime_minutes = $upnum/60; + } + } + else { + $uptime_info = "up ".$uptime_output; + } + my @temp=split(' ',$result->{$oid_sysSystem}); + if (scalar(@temp)<3) { + $system_info=$result->{$oid_sysSystem}; + } + else { + $system_info=join(' ',$temp[0],$temp[1],$temp[2]); + } +} + +if (defined($uptime_minutes) && !defined($uptime_info)) { + ($hrs,$mins) = div_mod($uptime_minutes,60); + ($days,$hrs) = div_mod($hrs,24); + $uptime_info = "up "; + $uptime_info .= "$days days " if $days>0; + $uptime_info .= "$hrs hours " if $hrs>0; + $uptime_info .= "$mins minutes"; +} + +verb("System Type: $check_type (".$oid_uptime_types[$check_type][0].")"); +verb("System Info: $system_info") if $system_info; +verb("Uptime Text: $uptime_info") if defined($uptime_info); +verb("Uptime Minutes: $uptime_minutes") if defined($uptime_minutes); + +if (!defined($uptime_info)) { + $uptime_info = "Can not determine uptime"; + $status = 3; +} + +if (defined($o_perf)) { + $perf_out = "type=$check_type"; + $perf_out .= " uptime_minutes=$uptime_minutes" if defined($uptime_minutes); +} + +if (defined($uptime_minutes)) { + if (defined($o_prevperf)) { + $status = 1 if defined($o_warn) && exists($prev_perf{uptime_minutes}) && $prev_perf{uptime_minutes} > $uptime_minutes; + $status = 2 if defined($o_crit) && exists($prev_perf{uptime_minutes}) && $prev_perf{uptime_minutes} > $uptime_minutes; + } + else { + $status = 1 if defined($o_warn) && !isnnum($o_warn) && $o_warn >= $uptime_minutes; + $status = 2 if defined($o_crit) && !isnnum($o_crit) && $o_crit >= $uptime_minutes; + } +} +alarm(0); + +my $exit_status="UNKNOWN"; +$exit_status="OK" if $status==0; +$exit_status="WARNING" if $status==1; +$exit_status="CRITICAL" if $status==2; +$exit_status="UNKNOWN" if $status==3; +$exit_status="$o_label $exit_status" if defined($o_label); +print "$exit_status: $system_info"; +print " - $uptime_info"; +print " | ",$perf_out if $perf_out; +print "\n"; +exit $status; diff --git a/monitoring/nagios3/conf.d/99-ap-services.cfg b/monitoring/nagios3/conf.d/99-ap-services.cfg new file mode 100644 index 0000000..5632007 --- /dev/null +++ b/monitoring/nagios3/conf.d/99-ap-services.cfg @@ -0,0 +1,22 @@ +define service { + use generic-service + hostgroup ap-group + service_description System uptime + check_interval 1 + check_command check_uptime_snmp_ap!-T unix-host!-w 20 -c 5 +} + +define service { + use generic-service + hostgroup ap-group + service_description wlan0 interface UP + check_interval 1 + check_command check_ifstat_snmp_ap!wlan0 +} +define service { + use generic-service + hostgroup ap-group + service_description wlan1 interface UP + check_interval 1 + check_command check_ifstat_snmp_ap!wlan1 +} diff --git a/monitoring/nagios3/conf.d/99-cisco-services.cfg b/monitoring/nagios3/conf.d/99-cisco-services.cfg new file mode 100644 index 0000000..b264f3a --- /dev/null +++ b/monitoring/nagios3/conf.d/99-cisco-services.cfg @@ -0,0 +1,60 @@ +define service { + use generic-service + service_description Switch uptime + check_interval 5 + check_command check_uptime_snmp!-T win!-w 20 -c 5 + hostgroup cisco-switches,tplink-switches +} + +define service { + name SNMP_TRAP + service_description SNMP_TRAP +active_checks_enabled 1 ; Active service checks are enabled +passive_checks_enabled 1 ; Passive service checks are enabled/accepted +parallelize_check 1 ; Active service checks should be parallelized +process_perf_data 0 +obsess_over_service 0 ; We should obsess over this service (if necessary) +check_freshness 0 ; Default is to NOT check service 'freshness' +notifications_enabled 1 ; Service notifications are enabled +event_handler_enabled 1 ; Service event handler is enabled +flap_detection_enabled 1 ; Flap detection is enabled +process_perf_data 1 ; Process performance data +retain_status_information 1 ; Retain status information across program restarts +retain_nonstatus_information 1 ; Retain non-status information across program restarts +check_command check-host-alive ; This will be used to reset the service to "OK" +is_volatile 1 +check_period 24x7 +max_check_attempts 1 +normal_check_interval 1 +retry_check_interval 1 +notification_interval 120 +notification_period 24x7 +notification_options w,u,c,r +contact_groups ofnoc ; Modify this to match your Nagios contact group definitions +register +} + +; define service { +; use SNMP_TRAP +; hostgroup_name cisco-switches,tplink-switches +; service_description TRAP +; check_interval 120 +; flap_detection_enabled 0 +;} + +; Cisco IOS CPU Avg +define service { +use generic-service +hostgroup cisco-switches +service_description 5 Min CPU Average +check_interval 5 +check_command check_snmp_cisco!.1.3.6.1.4.1.9.9.109.1.1.1.1.8.1!-l \"5 Minute CPU \% \" -w 50 -c 80 +} + +define service { +use generic-service +hostgroup cisco-switches +service_description 1 Min CPU Average +check_interval 1 +check_command check_snmp_cisco!.1.3.6.1.4.1.9.9.109.1.1.1.1.7.1!-l \"1 Minute CPU \% \" -w 50 -c 80 +} diff --git a/monitoring/nagios3/conf.d/99-laptop-services.cfg b/monitoring/nagios3/conf.d/99-laptop-services.cfg new file mode 100644 index 0000000..88f16dd --- /dev/null +++ b/monitoring/nagios3/conf.d/99-laptop-services.cfg @@ -0,0 +1,7 @@ +define service { + use generic-service + hostgroup reception-equipment + service_description PING + check_interval 5 + check_command check-host-alive +} diff --git a/monitoring/nagios3/conf.d/99-video-services.cfg b/monitoring/nagios3/conf.d/99-video-services.cfg new file mode 100644 index 0000000..b8e9e6b --- /dev/null +++ b/monitoring/nagios3/conf.d/99-video-services.cfg @@ -0,0 +1,7 @@ +define service { + use generic-service + hostgroup video-equipment + service_description PING + check_interval 10 + check_command check-host-alive +} diff --git a/monitoring/nagios3/conf.d/contacts_nagios2.cfg b/monitoring/nagios3/conf.d/contacts_nagios2.cfg new file mode 100644 index 0000000..fd376e4 --- /dev/null +++ b/monitoring/nagios3/conf.d/contacts_nagios2.cfg @@ -0,0 +1,91 @@ +############################################################################### +# contacts.cfg +############################################################################### + + + +############################################################################### +############################################################################### +# +# CONTACTS +# +############################################################################### +############################################################################### + +# In this simple config file, a single contact will receive all alerts. + +define contact{ + contact_name root + alias Root + service_notification_period 24x7 + host_notification_period 24x7 + service_notification_options w,u,c,r + host_notification_options d,r + service_notification_commands notify-service-by-email + host_notification_commands notify-host-by-email + email root@localhost + + # temporarily disable notifications to root to test slack integration + host_notifications_enabled 0 + service_notifications_enabled 0 + } + + + +############################################################################### +############################################################################### +# +# CONTACT GROUPS +# +############################################################################### +############################################################################### + +# We only have one contact in this simple configuration file, so there is +# no need to create more than one contact group. + +define contactgroup{ + contactgroup_name admins + alias Nagios Administrators + } + +define contactgroup { + contactgroup_name ofnoc + alias OpenFest NOC Team + members slack +} + +define contact { + contact_name zeridon + alias Vladimir Vitkov + service_notification_period 24x7 + host_notification_period 24x7 + service_notification_options w,u,c,r + host_notification_options d,r + service_notification_commands notify-service-by-email + host_notification_commands notify-host-by-email + email vvitkov@linux-bg.org +} + +define contact { + contact_name lz1irq + alias Ivaylo Markov + service_notification_period 24x7 + host_notification_period 24x7 + service_notification_options w,u,c,r + host_notification_options d,r + service_notification_commands notify-service-by-email + host_notification_commands notify-host-by-email + email ivo@schupen.net +} + +define contact { + contact_name slack + alias Slack + service_notification_period 24x7 + host_notification_period 24x7 + service_notification_options w,u,c,r + host_notification_options d,r + service_notification_commands notify-service-by-slack + host_notification_commands notify-host-by-slack +} + diff --git a/monitoring/nagios3/conf.d/extinfo_nagios2.cfg b/monitoring/nagios3/conf.d/extinfo_nagios2.cfg new file mode 100644 index 0000000..cc9306e --- /dev/null +++ b/monitoring/nagios3/conf.d/extinfo_nagios2.cfg @@ -0,0 +1,94 @@ +## +## Extended Host and Service Information +## + +define hostextinfo{ + hostgroup_name debian-servers + notes Debian GNU/Linux servers +# notes_url http://webserver.localhost.localdomain/hostinfo.pl?host=netware1 + icon_image base/debian.png + icon_image_alt Debian GNU/Linux + vrml_image debian.png + statusmap_image base/debian.gd2 +} + +define hostextinfo { + hostgroup_name core-switches + notes Core Switch + icon_image base/switch40.png + icon_image_alt Core Switch + vrml_image switch40.png + statusmap_image base/switch40.gd2 +} + +#define hostextinfo { +# hostgroup_name tplink-switches +# notes TP-link Core Switch +# icon_image base/switch40.png +# icon_image_alt TP-Link Core Switch +# vrml_image switch40.png +# statusmap_image base/switch40.gd2 +#} + +define hostextinfo{ + hostgroup_name ap-group + notes Access Points + icon_image base/ap.png + icon_image_alt Access Point + vrml_image ap.png + statusmap_image base/ap.gd2 +} + +define hostextinfo { + hostgroup_name overflow-group + notes RPI overflow player + icon_image custom/raspberry/raspbian.png + icon_image_alt RPI overflow player + vrml_image custom/raspberry/raspbian.png + statusmap_image custom/raspberry/raspbian.gd2 +} + +define hostextinfo { + hostgroup_name control-group + notes Control Laptop + icon_image custom/video/control-laptop.png + icon_image_alt Laptop + vrml_image custom/video/control-laptop.png + statusmap_image custom/video/control-laptop.gd2 +} + +define hostextinfo { + hostgroup_name teradek-group + notes Teradek VidiU streamers + icon_image custom/video/teradek-vidiu.png + icon_image_alt Teradek VidiU Streamer + vrml_image custom/video/teradek-vidiu.png + statusmap_image custom/video/teradek-vidiu.gd2 +} + +define hostextinfo { + hostgroup_name atem-group + notes BlackMagicDesign Atem Video switches + icon_image custom/video/atem-switch.png + icon_image_alt Atem Video Switch + vrml_image custom/video/atem-switch.png + statusmap_image custom/video/atem-switch.gd2 +} + +define hostextinfo { + hostgroup_name intercom-group + notes RPI intercom clients + icon_image custom/raspberry/raspbian.png + icon_image_alt RPI intercom + vrml_image custom/raspberry/raspbian.png + statusmap_image custom/raspberry/raspbian.gd2 +} + +define hostextinfo { + hostgroup_name laptop-group + notes Laptop + icon_image custom/video/control-laptop.png + icon_image_alt Laptop + vrml_image custom/video/control-laptop.png + statusmap_image custom/video/control-laptop.gd2 +} diff --git a/monitoring/nagios3/conf.d/generic-host_nagios2.cfg b/monitoring/nagios3/conf.d/generic-host_nagios2.cfg new file mode 100644 index 0000000..8694f10 --- /dev/null +++ b/monitoring/nagios3/conf.d/generic-host_nagios2.cfg @@ -0,0 +1,38 @@ +# Generic host definition template - This is NOT a real host, just a template! + +define host{ + name generic-host ; The name of this host template + notifications_enabled 1 ; Host notifications are enabled + event_handler_enabled 1 ; Host event handler is enabled + flap_detection_enabled 1 ; Flap detection is enabled + failure_prediction_enabled 1 ; Failure prediction is enabled + process_perf_data 1 ; Process performance data + retain_status_information 1 ; Retain status information across program restarts + retain_nonstatus_information 1 ; Retain non-status information across program restarts + check_command check-host-alive + max_check_attempts 10 + notification_interval 0 + notification_period 24x7 + notification_options d,u,r + contact_groups ofnoc + register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! + } + +define host{ + name videoteam-host ; The name of this host template + notifications_enabled 1 ; Host notifications are enabled + event_handler_enabled 1 ; Host event handler is enabled + flap_detection_enabled 1 ; Flap detection is enabled + failure_prediction_enabled 1 ; Failure prediction is enabled + process_perf_data 1 ; Process performance data + retain_status_information 1 ; Retain status information across program restarts + retain_nonstatus_information 1 ; Retain non-status information across program restarts + check_command check-host-alive + max_check_attempts 10 + notification_interval 0 + notification_period 24x7 + notification_options d,u,r + contact_groups ofnoc + register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! + check_interval 10 ; every 10 min + } diff --git a/monitoring/nagios3/conf.d/generic-service_nagios2.cfg b/monitoring/nagios3/conf.d/generic-service_nagios2.cfg new file mode 100644 index 0000000..4a9a1eb --- /dev/null +++ b/monitoring/nagios3/conf.d/generic-service_nagios2.cfg @@ -0,0 +1,52 @@ +# generic service template definition +define service{ + name generic-service ; The 'name' of this service template + active_checks_enabled 1 ; Active service checks are enabled + passive_checks_enabled 1 ; Passive service checks are enabled/accepted + parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems) + obsess_over_service 1 ; We should obsess over this service (if necessary) + check_freshness 0 ; Default is to NOT check service 'freshness' + notifications_enabled 1 ; Service notifications are enabled + event_handler_enabled 1 ; Service event handler is enabled + flap_detection_enabled 1 ; Flap detection is enabled + failure_prediction_enabled 1 ; Failure prediction is enabled + process_perf_data 1 ; Process performance data + retain_status_information 1 ; Retain status information across program restarts + retain_nonstatus_information 1 ; Retain non-status information across program restarts + notification_interval 0 ; Only send notifications on status change by default. + is_volatile 0 + check_period 24x7 + normal_check_interval 5 + retry_check_interval 1 + max_check_attempts 4 + notification_period 24x7 + notification_options w,u,c,r + contact_groups ofnoc + register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! + } + +define service{ + name generic-nsca-service ; The 'name' of this service template + active_checks_enabled 0 ; Active service checks are enabled + passive_checks_enabled 1 ; Passive service checks are enabled/accepted + parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems) + obsess_over_service 1 ; We should obsess over this service (if necessary) + check_freshness 0 ; Default is to NOT check service 'freshness' + notifications_enabled 1 ; Service notifications are enabled + event_handler_enabled 1 ; Service event handler is enabled + flap_detection_enabled 1 ; Flap detection is enabled + failure_prediction_enabled 1 ; Failure prediction is enabled + process_perf_data 1 ; Process performance data + retain_status_information 1 ; Retain status information across program restarts + retain_nonstatus_information 1 ; Retain non-status information across program restarts + notification_interval 120 ; Only send notifications on status change by default. + is_volatile 0 + check_period 24x7 + normal_check_interval 5 + retry_check_interval 1 + max_check_attempts 1 + notification_period 24x7 + notification_options w,u,c,r + contact_groups ofnoc + register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! + } diff --git a/monitoring/nagios3/conf.d/hostgroups_nagios2.cfg b/monitoring/nagios3/conf.d/hostgroups_nagios2.cfg new file mode 100644 index 0000000..7b2866b --- /dev/null +++ b/monitoring/nagios3/conf.d/hostgroups_nagios2.cfg @@ -0,0 +1,92 @@ +# Some generic hostgroup definitions + +# A simple wildcard hostgroup +define hostgroup { + hostgroup_name all + alias All Servers + members * + } + +define hostgroup { + hostgroup_name debian-servers + members eric +} +# A list of your web servers +define hostgroup { + hostgroup_name http-servers + alias HTTP servers + members eric +} + +# A list of your ssh-accessible servers +define hostgroup { + hostgroup_name ssh-servers + alias SSH servers + hostgroup_members ap-group + members eric +} + +define hostgroup { + hostgroup_name ap-group + alias Access Points +} + +define hostgroup { + hostgroup_name core-switches + alias Core Switches +} + +define hostgroup { + hostgroup_name cisco-switches + alias CISCO Switches +} + +define hostgroup { + hostgroup_name tplink-switches + alias TPLink Switches +} + +define hostgroup { + hostgroup_name intercom-group + alias Video Team Intercoms +} + +define hostgroup { + hostgroup_name overflow-group + alias Overflow TV +} + +define hostgroup { + hostgroup_name fosbox-group + alias FOSDEM Stream Boxes +} + +define hostgroup { + hostgroup_name video-equipment + alias VOC Team equipment +} + +define hostgroup { + hostgroup_name control-group + alias VOC Control Laptops +} + +define hostgroup { + hostgroup_name teradek-group + alias Teradek Video Streamers +} + +define hostgroup { + hostgroup_name atem-group + alias Atem Video mixers/Switchers +} + +define hostgroup { + hostgroup_name reception-equipment + alias Reception related equipment +} + +define hostgroup { + hostgroup_name laptop-group + alias General group for laptops +} diff --git a/monitoring/nagios3/conf.d/services_nagios2.cfg b/monitoring/nagios3/conf.d/services_nagios2.cfg new file mode 100644 index 0000000..173e5de --- /dev/null +++ b/monitoring/nagios3/conf.d/services_nagios2.cfg @@ -0,0 +1,17 @@ +# check opsthat web services are running +define service { + hostgroup_name http-servers + service_description HTTP + check_command check_http + use generic-service + notification_interval 0 ; set > 0 if you want to be renotified +} + +# check that ssh services are running +define service { + hostgroup_name ssh-servers + service_description SSH + check_command check_ssh + use generic-service + notification_interval 0 ; set > 0 if you want to be renotified +} diff --git a/monitoring/nagios3/conf.d/timeperiods_nagios2.cfg b/monitoring/nagios3/conf.d/timeperiods_nagios2.cfg new file mode 100644 index 0000000..55ecf9d --- /dev/null +++ b/monitoring/nagios3/conf.d/timeperiods_nagios2.cfg @@ -0,0 +1,50 @@ +############################################################################### +# timeperiods.cfg +############################################################################### + +# This defines a timeperiod where all times are valid for checks, +# notifications, etc. The classic "24x7" support nightmare. :-) + +define timeperiod{ + timeperiod_name 24x7 + alias 24 Hours A Day, 7 Days A Week + sunday 00:00-24:00 + monday 00:00-24:00 + tuesday 00:00-24:00 + wednesday 00:00-24:00 + thursday 00:00-24:00 + friday 00:00-24:00 + saturday 00:00-24:00 + } + +# Here is a slightly friendlier period during work hours +define timeperiod{ + timeperiod_name workhours + alias Standard Work Hours + monday 09:00-17:00 + tuesday 09:00-17:00 + wednesday 09:00-17:00 + thursday 09:00-17:00 + friday 09:00-17:00 + } + +# The complement of workhours +define timeperiod{ + timeperiod_name nonworkhours + alias Non-Work Hours + sunday 00:00-24:00 + monday 00:00-09:00,17:00-24:00 + tuesday 00:00-09:00,17:00-24:00 + wednesday 00:00-09:00,17:00-24:00 + thursday 00:00-09:00,17:00-24:00 + friday 00:00-09:00,17:00-24:00 + saturday 00:00-24:00 + } + +# This one is a favorite: never :) +define timeperiod{ + timeperiod_name never + alias Never + } + +# end of file diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.gd2 b/monitoring/nagios3/logos/custom/networking/openwrt.gd2 new file mode 100644 index 0000000..4ea6741 Binary files /dev/null and b/monitoring/nagios3/logos/custom/networking/openwrt.gd2 differ diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.gif b/monitoring/nagios3/logos/custom/networking/openwrt.gif new file mode 100644 index 0000000..7787747 Binary files /dev/null and b/monitoring/nagios3/logos/custom/networking/openwrt.gif differ diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.jpg b/monitoring/nagios3/logos/custom/networking/openwrt.jpg new file mode 100644 index 0000000..d3a7f81 Binary files /dev/null and b/monitoring/nagios3/logos/custom/networking/openwrt.jpg differ diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.png b/monitoring/nagios3/logos/custom/networking/openwrt.png new file mode 100644 index 0000000..f9039a7 Binary files /dev/null and b/monitoring/nagios3/logos/custom/networking/openwrt.png differ diff --git a/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gd2 b/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gd2 new file mode 100644 index 0000000..d37ce94 Binary files /dev/null and b/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gd2 differ diff --git a/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gif b/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gif new file mode 100644 index 0000000..80d965e Binary files /dev/null and b/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gif differ diff --git a/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.png b/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.png new file mode 100644 index 0000000..764a1c1 Binary files /dev/null and b/monitoring/nagios3/logos/custom/raspberry/raspberry-pi.png differ diff --git a/monitoring/nagios3/logos/custom/raspberry/raspbian.gd2 b/monitoring/nagios3/logos/custom/raspberry/raspbian.gd2 new file mode 100644 index 0000000..74b6f86 Binary files /dev/null and b/monitoring/nagios3/logos/custom/raspberry/raspbian.gd2 differ diff --git a/monitoring/nagios3/logos/custom/raspberry/raspbian.gif b/monitoring/nagios3/logos/custom/raspberry/raspbian.gif new file mode 100644 index 0000000..881fcb4 Binary files /dev/null and b/monitoring/nagios3/logos/custom/raspberry/raspbian.gif differ diff --git a/monitoring/nagios3/logos/custom/raspberry/raspbian.png b/monitoring/nagios3/logos/custom/raspberry/raspbian.png new file mode 100644 index 0000000..79d6f2b Binary files /dev/null and b/monitoring/nagios3/logos/custom/raspberry/raspbian.png differ diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gd2 b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gd2 new file mode 100644 index 0000000..e05163b Binary files /dev/null and b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gd2 differ diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gif b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gif new file mode 100644 index 0000000..0a51c53 Binary files /dev/null and b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gif differ diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.jpg b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.jpg new file mode 100644 index 0000000..0535df9 Binary files /dev/null and b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.jpg differ diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.png b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.png new file mode 100644 index 0000000..b2d71d9 Binary files /dev/null and b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.png differ diff --git a/monitoring/nagios3/logos/custom/video/atem-switch.gd2 b/monitoring/nagios3/logos/custom/video/atem-switch.gd2 new file mode 100644 index 0000000..f98620a Binary files /dev/null and b/monitoring/nagios3/logos/custom/video/atem-switch.gd2 differ diff --git a/monitoring/nagios3/logos/custom/video/atem-switch.png b/monitoring/nagios3/logos/custom/video/atem-switch.png new file mode 100644 index 0000000..b2e72b5 Binary files /dev/null and b/monitoring/nagios3/logos/custom/video/atem-switch.png differ diff --git a/monitoring/nagios3/logos/custom/video/control-laptop.gd2 b/monitoring/nagios3/logos/custom/video/control-laptop.gd2 new file mode 100644 index 0000000..6bfca7c Binary files /dev/null and b/monitoring/nagios3/logos/custom/video/control-laptop.gd2 differ diff --git a/monitoring/nagios3/logos/custom/video/control-laptop.png b/monitoring/nagios3/logos/custom/video/control-laptop.png new file mode 100644 index 0000000..fc5fbc3 Binary files /dev/null and b/monitoring/nagios3/logos/custom/video/control-laptop.png differ diff --git a/monitoring/nagios3/logos/custom/video/teradek-vidiu.gd2 b/monitoring/nagios3/logos/custom/video/teradek-vidiu.gd2 new file mode 100644 index 0000000..13df6a1 Binary files /dev/null and b/monitoring/nagios3/logos/custom/video/teradek-vidiu.gd2 differ diff --git a/monitoring/nagios3/logos/custom/video/teradek-vidiu.png b/monitoring/nagios3/logos/custom/video/teradek-vidiu.png new file mode 100644 index 0000000..63994b7 Binary files /dev/null and b/monitoring/nagios3/logos/custom/video/teradek-vidiu.png differ diff --git a/monitoring/nagios3/nagios.cfg b/monitoring/nagios3/nagios.cfg new file mode 100644 index 0000000..7414ccf --- /dev/null +++ b/monitoring/nagios3/nagios.cfg @@ -0,0 +1,1357 @@ +############################################################################## +# +# NAGIOS.CFG - Sample Main Config File for Nagios +# +# +############################################################################## + + +# LOG FILE +# This is the main log file where service and host events are logged +# for historical purposes. This should be the first option specified +# in the config file!!! + +log_file=/var/log/nagios3/nagios.log + +# Commands definitions +cfg_file=/etc/nagios3/commands.cfg + +# Debian also defaults to using the check commands defined by the debian +# nagios-plugins package +cfg_dir=/etc/nagios-plugins/config + +# Debian uses by default a configuration directory where nagios3-common, +# other packages and the local admin can dump or link configuration +# files into. +cfg_dir=/etc/nagios3/conf.d + +# ours +cfg_dir=/etc/nagios3/objects + +# OBJECT CONFIGURATION FILE(S) +# These are the object configuration files in which you define hosts, +# host groups, contacts, contact groups, services, etc. +# You can split your object definitions across several config files +# if you wish (as shown below), or keep them all in a single config file. + +# You can specify individual object config files as shown below: +#cfg_file=/etc/nagios3/objects/commands.cfg +#cfg_file=/etc/nagios3/objects/contacts.cfg +#cfg_file=/etc/nagios3/objects/timeperiods.cfg +#cfg_file=/etc/nagios3/objects/templates.cfg + +# Definitions for monitoring a Windows machine +#cfg_file=/etc/nagios3/objects/windows.cfg + +# Definitions for monitoring a router/switch +#cfg_file=/etc/nagios3/objects/switch.cfg + +# Definitions for monitoring a network printer +#cfg_file=/etc/nagios3/objects/printer.cfg + + +# You can also tell Nagios to process all config files (with a .cfg +# extension) in a particular directory by using the cfg_dir +# directive as shown below: + +#cfg_dir=/etc/nagios3/servers +#cfg_dir=/etc/nagios3/printers +#cfg_dir=/etc/nagios3/switches +#cfg_dir=/etc/nagios3/routers + + + + +# OBJECT CACHE FILE +# This option determines where object definitions are cached when +# Nagios starts/restarts. The CGIs read object definitions from +# this cache file (rather than looking at the object config files +# directly) in order to prevent inconsistencies that can occur +# when the config files are modified after Nagios starts. + +object_cache_file=/var/cache/nagios3/objects.cache + + + +# PRE-CACHED OBJECT FILE +# This options determines the location of the precached object file. +# If you run Nagios with the -p command line option, it will preprocess +# your object configuration file(s) and write the cached config to this +# file. You can then start Nagios with the -u option to have it read +# object definitions from this precached file, rather than the standard +# object configuration files (see the cfg_file and cfg_dir options above). +# Using a precached object file can speed up the time needed to (re)start +# the Nagios process if you've got a large and/or complex configuration. +# Read the documentation section on optimizing Nagios to find our more +# about how this feature works. + +precached_object_file=/var/lib/nagios3/objects.precache + + + +# RESOURCE FILE +# This is an optional resource file that contains $USERx$ macro +# definitions. Multiple resource files can be specified by using +# multiple resource_file definitions. The CGIs will not attempt to +# read the contents of resource files, so information that is +# considered to be sensitive (usernames, passwords, etc) can be +# defined as macros in this file and restrictive permissions (600) +# can be placed on this file. + +resource_file=/etc/nagios3/resource.cfg + + + +# STATUS FILE +# This is where the current status of all monitored services and +# hosts is stored. Its contents are read and processed by the CGIs. +# The contents of the status file are deleted every time Nagios +# restarts. + +status_file=/var/cache/nagios3/status.dat + + + +# STATUS FILE UPDATE INTERVAL +# This option determines the frequency (in seconds) that +# Nagios will periodically dump program, host, and +# service status data. + +status_update_interval=60 + + + +# NAGIOS USER +# This determines the effective user that Nagios should run as. +# You can either supply a username or a UID. + +nagios_user=nagios + + + +# NAGIOS GROUP +# This determines the effective group that Nagios should run as. +# You can either supply a group name or a GID. + +nagios_group=nagios + + + +# EXTERNAL COMMAND OPTION +# This option allows you to specify whether or not Nagios should check +# for external commands (in the command file defined below). By default +# Nagios will *not* check for external commands, just to be on the +# cautious side. If you want to be able to use the CGI command interface +# you will have to enable this. +# Values: 0 = disable commands, 1 = enable commands + +check_external_commands=1 + + + +# EXTERNAL COMMAND CHECK INTERVAL +# This is the interval at which Nagios should check for external commands. +# This value works of the interval_length you specify later. If you leave +# that at its default value of 60 (seconds), a value of 1 here will cause +# Nagios to check for external commands every minute. If you specify a +# number followed by an "s" (i.e. 15s), this will be interpreted to mean +# actual seconds rather than a multiple of the interval_length variable. +# Note: In addition to reading the external command file at regularly +# scheduled intervals, Nagios will also check for external commands after +# event handlers are executed. +# NOTE: Setting this value to -1 causes Nagios to check the external +# command file as often as possible. + +#command_check_interval=15s +command_check_interval=-1 + + + +# EXTERNAL COMMAND FILE +# This is the file that Nagios checks for external command requests. +# It is also where the command CGI will write commands that are submitted +# by users, so it must be writeable by the user that the web server +# is running as (usually 'nobody'). Permissions should be set at the +# directory level instead of on the file, as the file is deleted every +# time its contents are processed. +# Debian Users: In case you didn't read README.Debian yet, _NOW_ is the +# time to do it. + +command_file=/var/lib/nagios3/rw/nagios.cmd + + + +# EXTERNAL COMMAND BUFFER SLOTS +# This settings is used to tweak the number of items or "slots" that +# the Nagios daemon should allocate to the buffer that holds incoming +# external commands before they are processed. As external commands +# are processed by the daemon, they are removed from the buffer. + +external_command_buffer_slots=4096 + + + +# LOCK FILE +# This is the lockfile that Nagios will use to store its PID number +# in when it is running in daemon mode. + +lock_file=/var/run/nagios3/nagios3.pid + + + +# TEMP FILE +# This is a temporary file that is used as scratch space when Nagios +# updates the status log, cleans the comment file, etc. This file +# is created, used, and deleted throughout the time that Nagios is +# running. + +temp_file=/var/cache/nagios3/nagios.tmp + + + +# TEMP PATH +# This is path where Nagios can create temp files for service and +# host check results, etc. + +temp_path=/tmp + + + +# EVENT BROKER OPTIONS +# Controls what (if any) data gets sent to the event broker. +# Values: 0 = Broker nothing +# -1 = Broker everything +# = See documentation + +event_broker_options=-1 + + + +# EVENT BROKER MODULE(S) +# This directive is used to specify an event broker module that should +# by loaded by Nagios at startup. Use multiple directives if you want +# to load more than one module. Arguments that should be passed to +# the module at startup are seperated from the module path by a space. +# +#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING +#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# +# Do NOT overwrite modules while they are being used by Nagios or Nagios +# will crash in a fiery display of SEGFAULT glory. This is a bug/limitation +# either in dlopen(), the kernel, and/or the filesystem. And maybe Nagios... +# +# The correct/safe way of updating a module is by using one of these methods: +# 1. Shutdown Nagios, replace the module file, restart Nagios +# 2. Delete the original module file, move the new module file into place, restart Nagios +# +# Example: +# +# broker_module= [moduleargs] + +#broker_module=/somewhere/module1.o +#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0 + + + +# LOG ROTATION METHOD +# This is the log rotation method that Nagios should use to rotate +# the main log file. Values are as follows.. +# n = None - don't rotate the log +# h = Hourly rotation (top of the hour) +# d = Daily rotation (midnight every day) +# w = Weekly rotation (midnight on Saturday evening) +# m = Monthly rotation (midnight last day of month) + +log_rotation_method=d + + + +# LOG ARCHIVE PATH +# This is the directory where archived (rotated) log files should be +# placed (assuming you've chosen to do log rotation). + +log_archive_path=/var/log/nagios3/archives + + + +# LOGGING OPTIONS +# If you want messages logged to the syslog facility, as well as the +# Nagios log file set this option to 1. If not, set it to 0. + +use_syslog=1 + + + +# NOTIFICATION LOGGING OPTION +# If you don't want notifications to be logged, set this value to 0. +# If notifications should be logged, set the value to 1. + +log_notifications=1 + + + +# SERVICE RETRY LOGGING OPTION +# If you don't want service check retries to be logged, set this value +# to 0. If retries should be logged, set the value to 1. + +log_service_retries=1 + + + +# HOST RETRY LOGGING OPTION +# If you don't want host check retries to be logged, set this value to +# 0. If retries should be logged, set the value to 1. + +log_host_retries=1 + + + +# EVENT HANDLER LOGGING OPTION +# If you don't want host and service event handlers to be logged, set +# this value to 0. If event handlers should be logged, set the value +# to 1. + +log_event_handlers=1 + + + +# INITIAL STATES LOGGING OPTION +# If you want Nagios to log all initial host and service states to +# the main log file (the first time the service or host is checked) +# you can enable this option by setting this value to 1. If you +# are not using an external application that does long term state +# statistics reporting, you do not need to enable this option. In +# this case, set the value to 0. + +log_initial_states=0 + + + +# EXTERNAL COMMANDS LOGGING OPTION +# If you don't want Nagios to log external commands, set this value +# to 0. If external commands should be logged, set this value to 1. +# Note: This option does not include logging of passive service +# checks - see the option below for controlling whether or not +# passive checks are logged. + +log_external_commands=1 + + + +# PASSIVE CHECKS LOGGING OPTION +# If you don't want Nagios to log passive host and service checks, set +# this value to 0. If passive checks should be logged, set +# this value to 1. + +log_passive_checks=1 + + + +# GLOBAL HOST AND SERVICE EVENT HANDLERS +# These options allow you to specify a host and service event handler +# command that is to be run for every host or service state change. +# The global event handler is executed immediately prior to the event +# handler that you have optionally specified in each host or +# service definition. The command argument is the short name of a +# command definition that you define in your host configuration file. +# Read the HTML docs for more information. + +#global_host_event_handler=somecommand +#global_service_event_handler=somecommand + + + +# SERVICE INTER-CHECK DELAY METHOD +# This is the method that Nagios should use when initially +# "spreading out" service checks when it starts monitoring. The +# default is to use smart delay calculation, which will try to +# space all service checks out evenly to minimize CPU load. +# Using the dumb setting will cause all checks to be scheduled +# at the same time (with no delay between them)! This is not a +# good thing for production, but is useful when testing the +# parallelization functionality. +# n = None - don't use any delay between checks +# d = Use a "dumb" delay of 1 second between checks +# s = Use "smart" inter-check delay calculation +# x.xx = Use an inter-check delay of x.xx seconds + +service_inter_check_delay_method=s + + + +# MAXIMUM SERVICE CHECK SPREAD +# This variable determines the timeframe (in minutes) from the +# program start time that an initial check of all services should +# be completed. Default is 30 minutes. + +max_service_check_spread=5 + + + +# SERVICE CHECK INTERLEAVE FACTOR +# This variable determines how service checks are interleaved. +# Interleaving the service checks allows for a more even +# distribution of service checks and reduced load on remote +# hosts. Setting this value to 1 is equivalent to how versions +# of Nagios previous to 0.0.5 did service checks. Set this +# value to s (smart) for automatic calculation of the interleave +# factor unless you have a specific reason to change it. +# s = Use "smart" interleave factor calculation +# x = Use an interleave factor of x, where x is a +# number greater than or equal to 1. + +service_interleave_factor=s + + + +# HOST INTER-CHECK DELAY METHOD +# This is the method that Nagios should use when initially +# "spreading out" host checks when it starts monitoring. The +# default is to use smart delay calculation, which will try to +# space all host checks out evenly to minimize CPU load. +# Using the dumb setting will cause all checks to be scheduled +# at the same time (with no delay between them)! +# n = None - don't use any delay between checks +# d = Use a "dumb" delay of 1 second between checks +# s = Use "smart" inter-check delay calculation +# x.xx = Use an inter-check delay of x.xx seconds + +host_inter_check_delay_method=s + + + +# MAXIMUM HOST CHECK SPREAD +# This variable determines the timeframe (in minutes) from the +# program start time that an initial check of all hosts should +# be completed. Default is 30 minutes. + +max_host_check_spread=30 + + + +# MAXIMUM CONCURRENT SERVICE CHECKS +# This option allows you to specify the maximum number of +# service checks that can be run in parallel at any given time. +# Specifying a value of 1 for this variable essentially prevents +# any service checks from being parallelized. A value of 0 +# will not restrict the number of concurrent checks that are +# being executed. + +max_concurrent_checks=0 + + + +# HOST AND SERVICE CHECK REAPER FREQUENCY +# This is the frequency (in seconds!) that Nagios will process +# the results of host and service checks. + +check_result_reaper_frequency=5 + + + + +# MAX CHECK RESULT REAPER TIME +# This is the max amount of time (in seconds) that a single +# check result reaper event will be allowed to run before +# returning control back to Nagios so it can perform other +# duties. + +max_check_result_reaper_time=15 + + + + +# CHECK RESULT PATH +# This is directory where Nagios stores the results of host and +# service checks that have not yet been processed. +# +# Note: Make sure that only one instance of Nagios has access +# to this directory! + +check_result_path=/var/lib/nagios3/spool/checkresults + + + + +# MAX CHECK RESULT FILE AGE +# This option determines the maximum age (in seconds) which check +# result files are considered to be valid. Files older than this +# threshold will be mercilessly deleted without further processing. + +max_check_result_file_age=3600 + + + + +# CACHED HOST CHECK HORIZON +# This option determines the maximum amount of time (in seconds) +# that the state of a previous host check is considered current. +# Cached host states (from host checks that were performed more +# recently that the timeframe specified by this value) can immensely +# improve performance in regards to the host check logic. +# Too high of a value for this option may result in inaccurate host +# states being used by Nagios, while a lower value may result in a +# performance hit for host checks. Use a value of 0 to disable host +# check caching. + +cached_host_check_horizon=15 + + + +# CACHED SERVICE CHECK HORIZON +# This option determines the maximum amount of time (in seconds) +# that the state of a previous service check is considered current. +# Cached service states (from service checks that were performed more +# recently that the timeframe specified by this value) can immensely +# improve performance in regards to predictive dependency checks. +# Use a value of 0 to disable service check caching. + +cached_service_check_horizon=15 + + + +# ENABLE PREDICTIVE HOST DEPENDENCY CHECKS +# This option determines whether or not Nagios will attempt to execute +# checks of hosts when it predicts that future dependency logic test +# may be needed. These predictive checks can help ensure that your +# host dependency logic works well. +# Values: +# 0 = Disable predictive checks +# 1 = Enable predictive checks (default) + +enable_predictive_host_dependency_checks=1 + + + +# ENABLE PREDICTIVE SERVICE DEPENDENCY CHECKS +# This option determines whether or not Nagios will attempt to execute +# checks of service when it predicts that future dependency logic test +# may be needed. These predictive checks can help ensure that your +# service dependency logic works well. +# Values: +# 0 = Disable predictive checks +# 1 = Enable predictive checks (default) + +enable_predictive_service_dependency_checks=1 + + + +# SOFT STATE DEPENDENCIES +# This option determines whether or not Nagios will use soft state +# information when checking host and service dependencies. Normally +# Nagios will only use the latest hard host or service state when +# checking dependencies. If you want it to use the latest state (regardless +# of whether its a soft or hard state type), enable this option. +# Values: +# 0 = Don't use soft state dependencies (default) +# 1 = Use soft state dependencies + +soft_state_dependencies=0 + + + +# TIME CHANGE ADJUSTMENT THRESHOLDS +# These options determine when Nagios will react to detected changes +# in system time (either forward or backwards). + +#time_change_threshold=900 + + + +# AUTO-RESCHEDULING OPTION +# This option determines whether or not Nagios will attempt to +# automatically reschedule active host and service checks to +# "smooth" them out over time. This can help balance the load on +# the monitoring server. +# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE +# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY + +auto_reschedule_checks=0 + + + +# AUTO-RESCHEDULING INTERVAL +# This option determines how often (in seconds) Nagios will +# attempt to automatically reschedule checks. This option only +# has an effect if the auto_reschedule_checks option is enabled. +# Default is 30 seconds. +# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE +# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY + +auto_rescheduling_interval=30 + + + +# AUTO-RESCHEDULING WINDOW +# This option determines the "window" of time (in seconds) that +# Nagios will look at when automatically rescheduling checks. +# Only host and service checks that occur in the next X seconds +# (determined by this variable) will be rescheduled. This option +# only has an effect if the auto_reschedule_checks option is +# enabled. Default is 180 seconds (3 minutes). +# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE +# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY + +auto_rescheduling_window=180 + + + +# SLEEP TIME +# This is the number of seconds to sleep between checking for system +# events and service checks that need to be run. + +sleep_time=1 + + + +# TIMEOUT VALUES +# These options control how much time Nagios will allow various +# types of commands to execute before killing them off. Options +# are available for controlling maximum time allotted for +# service checks, host checks, event handlers, notifications, the +# ocsp command, and performance data commands. All values are in +# seconds. + +service_check_timeout=30 +host_check_timeout=30 +event_handler_timeout=30 +notification_timeout=30 +ocsp_timeout=5 +perfdata_timeout=5 + + + +# RETAIN STATE INFORMATION +# This setting determines whether or not Nagios will save state +# information for services and hosts before it shuts down. Upon +# startup Nagios will reload all saved service and host state +# information before starting to monitor. This is useful for +# maintaining long-term data on state statistics, etc, but will +# slow Nagios down a bit when it (re)starts. Since its only +# a one-time penalty, I think its well worth the additional +# startup delay. + +retain_state_information=1 + + + +# STATE RETENTION FILE +# This is the file that Nagios should use to store host and +# service state information before it shuts down. The state +# information in this file is also read immediately prior to +# starting to monitor the network when Nagios is restarted. +# This file is used only if the retain_state_information +# variable is set to 1. + +state_retention_file=/var/lib/nagios3/retention.dat + + + +# RETENTION DATA UPDATE INTERVAL +# This setting determines how often (in minutes) that Nagios +# will automatically save retention data during normal operation. +# If you set this value to 0, Nagios will not save retention +# data at regular interval, but it will still save retention +# data before shutting down or restarting. If you have disabled +# state retention, this option has no effect. + +retention_update_interval=60 + + + +# USE RETAINED PROGRAM STATE +# This setting determines whether or not Nagios will set +# program status variables based on the values saved in the +# retention file. If you want to use retained program status +# information, set this value to 1. If not, set this value +# to 0. + +use_retained_program_state=1 + + + +# USE RETAINED SCHEDULING INFO +# This setting determines whether or not Nagios will retain +# the scheduling info (next check time) for hosts and services +# based on the values saved in the retention file. If you +# If you want to use retained scheduling info, set this +# value to 1. If not, set this value to 0. + +use_retained_scheduling_info=1 + + + +# RETAINED ATTRIBUTE MASKS (ADVANCED FEATURE) +# The following variables are used to specify specific host and +# service attributes that should *not* be retained by Nagios during +# program restarts. +# +# The values of the masks are bitwise ANDs of values specified +# by the "MODATTR_" definitions found in include/common.h. +# For example, if you do not want the current enabled/disabled state +# of flap detection and event handlers for hosts to be retained, you +# would use a value of 24 for the host attribute mask... +# MODATTR_EVENT_HANDLER_ENABLED (8) + MODATTR_FLAP_DETECTION_ENABLED (16) = 24 + +# This mask determines what host attributes are not retained +retained_host_attribute_mask=0 + +# This mask determines what service attributes are not retained +retained_service_attribute_mask=0 + +# These two masks determine what process attributes are not retained. +# There are two masks, because some process attributes have host and service +# options. For example, you can disable active host checks, but leave active +# service checks enabled. +retained_process_host_attribute_mask=0 +retained_process_service_attribute_mask=0 + +# These two masks determine what contact attributes are not retained. +# There are two masks, because some contact attributes have host and +# service options. For example, you can disable host notifications for +# a contact, but leave service notifications enabled for them. +retained_contact_host_attribute_mask=0 +retained_contact_service_attribute_mask=0 + + + +# INTERVAL LENGTH +# This is the seconds per unit interval as used in the +# host/contact/service configuration files. Setting this to 60 means +# that each interval is one minute long (60 seconds). Other settings +# have not been tested much, so your mileage is likely to vary... + +interval_length=30 + + + +# CHECK FOR UPDATES +# This option determines whether Nagios will automatically check to +# see if new updates (releases) are available. It is recommend that you +# enable this option to ensure that you stay on top of the latest critical +# patches to Nagios. Nagios is critical to you - make sure you keep it in +# good shape. Nagios will check once a day for new updates. Data collected +# by Nagios Enterprises from the update check is processed in accordance +# with our privacy policy - see http://api.nagios.org for details. + +check_for_updates=0 + + + +# BARE UPDATE CHECK +# This option deterines what data Nagios will send to api.nagios.org when +# it checks for updates. By default, Nagios will send information on the +# current version of Nagios you have installed, as well as an indicator as +# to whether this was a new installation or not. Nagios Enterprises uses +# this data to determine the number of users running specific version of +# Nagios. Enable this option if you do not want this information to be sent. + +bare_update_check=0 + + + +# AGGRESSIVE HOST CHECKING OPTION +# If you don't want to turn on aggressive host checking features, set +# this value to 0 (the default). Otherwise set this value to 1 to +# enable the aggressive check option. Read the docs for more info +# on what aggressive host check is or check out the source code in +# base/checks.c + +use_aggressive_host_checking=0 + + + +# SERVICE CHECK EXECUTION OPTION +# This determines whether or not Nagios will actively execute +# service checks when it initially starts. If this option is +# disabled, checks are not actively made, but Nagios can still +# receive and process passive check results that come in. Unless +# you're implementing redundant hosts or have a special need for +# disabling the execution of service checks, leave this enabled! +# Values: 1 = enable checks, 0 = disable checks + +execute_service_checks=1 + + + +# PASSIVE SERVICE CHECK ACCEPTANCE OPTION +# This determines whether or not Nagios will accept passive +# service checks results when it initially (re)starts. +# Values: 1 = accept passive checks, 0 = reject passive checks + +accept_passive_service_checks=1 + + + +# HOST CHECK EXECUTION OPTION +# This determines whether or not Nagios will actively execute +# host checks when it initially starts. If this option is +# disabled, checks are not actively made, but Nagios can still +# receive and process passive check results that come in. Unless +# you're implementing redundant hosts or have a special need for +# disabling the execution of host checks, leave this enabled! +# Values: 1 = enable checks, 0 = disable checks + +execute_host_checks=1 + + + +# PASSIVE HOST CHECK ACCEPTANCE OPTION +# This determines whether or not Nagios will accept passive +# host checks results when it initially (re)starts. +# Values: 1 = accept passive checks, 0 = reject passive checks + +accept_passive_host_checks=1 + + + +# NOTIFICATIONS OPTION +# This determines whether or not Nagios will sent out any host or +# service notifications when it is initially (re)started. +# Values: 1 = enable notifications, 0 = disable notifications + +enable_notifications=0 + + + +# EVENT HANDLER USE OPTION +# This determines whether or not Nagios will run any host or +# service event handlers when it is initially (re)started. Unless +# you're implementing redundant hosts, leave this option enabled. +# Values: 1 = enable event handlers, 0 = disable event handlers + +enable_event_handlers=0 + + + +# PROCESS PERFORMANCE DATA OPTION +# This determines whether or not Nagios will process performance +# data returned from service and host checks. If this option is +# enabled, host performance data will be processed using the +# host_perfdata_command (defined below) and service performance +# data will be processed using the service_perfdata_command (also +# defined below). Read the HTML docs for more information on +# performance data. +# Values: 1 = process performance data, 0 = do not process performance data + +process_performance_data=0 + + + +# HOST AND SERVICE PERFORMANCE DATA PROCESSING COMMANDS +# These commands are run after every host and service check is +# performed. These commands are executed only if the +# enable_performance_data option (above) is set to 1. The command +# argument is the short name of a command definition that you +# define in your host configuration file. Read the HTML docs for +# more information on performance data. + +#host_perfdata_command=process-host-perfdata +#service_perfdata_command=process-service-perfdata + + + +# HOST AND SERVICE PERFORMANCE DATA FILES +# These files are used to store host and service performance data. +# Performance data is only written to these files if the +# enable_performance_data option (above) is set to 1. + +#host_perfdata_file=/tmp/host-perfdata +#service_perfdata_file=/tmp/service-perfdata + + + +# HOST AND SERVICE PERFORMANCE DATA FILE TEMPLATES +# These options determine what data is written (and how) to the +# performance data files. The templates may contain macros, special +# characters (\t for tab, \r for carriage return, \n for newline) +# and plain text. A newline is automatically added after each write +# to the performance data file. Some examples of what you can do are +# shown below. + +#host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$ +#service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$ + + + +# HOST AND SERVICE PERFORMANCE DATA FILE MODES +# This option determines whether or not the host and service +# performance data files are opened in write ("w") or append ("a") +# mode. If you want to use named pipes, you should use the special +# pipe ("p") mode which avoid blocking at startup, otherwise you will +# likely want the defult append ("a") mode. + +#host_perfdata_file_mode=a +#service_perfdata_file_mode=a + + + +# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING INTERVAL +# These options determine how often (in seconds) the host and service +# performance data files are processed using the commands defined +# below. A value of 0 indicates the files should not be periodically +# processed. + +#host_perfdata_file_processing_interval=0 +#service_perfdata_file_processing_interval=0 + + + +# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING COMMANDS +# These commands are used to periodically process the host and +# service performance data files. The interval at which the +# processing occurs is determined by the options above. + +#host_perfdata_file_processing_command=process-host-perfdata-file +#service_perfdata_file_processing_command=process-service-perfdata-file + + + +# HOST AND SERVICE PERFORMANCE DATA PROCESS EMPTY RESULTS +# THese options determine wether the core will process empty perfdata +# results or not. This is needed for distributed monitoring, and intentionally +# turned on by default. +# If you don't require empty perfdata - saving some cpu cycles +# on unwanted macro calculation - you can turn that off. Be careful! +# Values: 1 = enable, 0 = disable + +#host_perfdata_process_empty_results=1 +#service_perfdata_process_empty_results=1 + + +# OBSESS OVER SERVICE CHECKS OPTION +# This determines whether or not Nagios will obsess over service +# checks and run the ocsp_command defined below. Unless you're +# planning on implementing distributed monitoring, do not enable +# this option. Read the HTML docs for more information on +# implementing distributed monitoring. +# Values: 1 = obsess over services, 0 = do not obsess (default) + +obsess_over_services=0 + + + +# OBSESSIVE COMPULSIVE SERVICE PROCESSOR COMMAND +# This is the command that is run for every service check that is +# processed by Nagios. This command is executed only if the +# obsess_over_services option (above) is set to 1. The command +# argument is the short name of a command definition that you +# define in your host configuration file. Read the HTML docs for +# more information on implementing distributed monitoring. + +#ocsp_command=somecommand + + + +# OBSESS OVER HOST CHECKS OPTION +# This determines whether or not Nagios will obsess over host +# checks and run the ochp_command defined below. Unless you're +# planning on implementing distributed monitoring, do not enable +# this option. Read the HTML docs for more information on +# implementing distributed monitoring. +# Values: 1 = obsess over hosts, 0 = do not obsess (default) + +obsess_over_hosts=0 + + + +# OBSESSIVE COMPULSIVE HOST PROCESSOR COMMAND +# This is the command that is run for every host check that is +# processed by Nagios. This command is executed only if the +# obsess_over_hosts option (above) is set to 1. The command +# argument is the short name of a command definition that you +# define in your host configuration file. Read the HTML docs for +# more information on implementing distributed monitoring. + +#ochp_command=somecommand + + + +# TRANSLATE PASSIVE HOST CHECKS OPTION +# This determines whether or not Nagios will translate +# DOWN/UNREACHABLE passive host check results into their proper +# state for this instance of Nagios. This option is useful +# if you have distributed or failover monitoring setup. In +# these cases your other Nagios servers probably have a different +# "view" of the network, with regards to the parent/child relationship +# of hosts. If a distributed monitoring server thinks a host +# is DOWN, it may actually be UNREACHABLE from the point of +# this Nagios instance. Enabling this option will tell Nagios +# to translate any DOWN or UNREACHABLE host states it receives +# passively into the correct state from the view of this server. +# Values: 1 = perform translation, 0 = do not translate (default) + +translate_passive_host_checks=0 + + + +# PASSIVE HOST CHECKS ARE SOFT OPTION +# This determines whether or not Nagios will treat passive host +# checks as being HARD or SOFT. By default, a passive host check +# result will put a host into a HARD state type. This can be changed +# by enabling this option. +# Values: 0 = passive checks are HARD, 1 = passive checks are SOFT + +passive_host_checks_are_soft=0 + + + +# ORPHANED HOST/SERVICE CHECK OPTIONS +# These options determine whether or not Nagios will periodically +# check for orphaned host service checks. Since service checks are +# not rescheduled until the results of their previous execution +# instance are processed, there exists a possibility that some +# checks may never get rescheduled. A similar situation exists for +# host checks, although the exact scheduling details differ a bit +# from service checks. Orphaned checks seem to be a rare +# problem and should not happen under normal circumstances. +# If you have problems with service checks never getting +# rescheduled, make sure you have orphaned service checks enabled. +# Values: 1 = enable checks, 0 = disable checks + +check_for_orphaned_services=1 +check_for_orphaned_hosts=1 + + + +# SERVICE FRESHNESS CHECK OPTION +# This option determines whether or not Nagios will periodically +# check the "freshness" of service results. Enabling this option +# is useful for ensuring passive checks are received in a timely +# manner. +# Values: 1 = enabled freshness checking, 0 = disable freshness checking + +check_service_freshness=1 + + + +# SERVICE FRESHNESS CHECK INTERVAL +# This setting determines how often (in seconds) Nagios will +# check the "freshness" of service check results. If you have +# disabled service freshness checking, this option has no effect. + +service_freshness_check_interval=60 + + + +# SERVICE CHECK TIMEOUT STATE +# This setting determines the state Nagios will report when a +# service check times out - that is does not respond within +# service_check_timeout seconds. This can be useful if a +# machine is running at too high a load and you do not want +# to consider a failed service check to be critical (the default). +# Valid settings are: +# c - Critical (default) +# u - Unknown +# w - Warning +# o - OK + +service_check_timeout_state=c + + + +# HOST FRESHNESS CHECK OPTION +# This option determines whether or not Nagios will periodically +# check the "freshness" of host results. Enabling this option +# is useful for ensuring passive checks are received in a timely +# manner. +# Values: 1 = enabled freshness checking, 0 = disable freshness checking + +check_host_freshness=0 + + + +# HOST FRESHNESS CHECK INTERVAL +# This setting determines how often (in seconds) Nagios will +# check the "freshness" of host check results. If you have +# disabled host freshness checking, this option has no effect. + +host_freshness_check_interval=60 + + + + +# ADDITIONAL FRESHNESS THRESHOLD LATENCY +# This setting determines the number of seconds that Nagios +# will add to any host and service freshness thresholds that +# it calculates (those not explicitly specified by the user). + +additional_freshness_latency=15 + + + + +# FLAP DETECTION OPTION +# This option determines whether or not Nagios will try +# and detect hosts and services that are "flapping". +# Flapping occurs when a host or service changes between +# states too frequently. When Nagios detects that a +# host or service is flapping, it will temporarily suppress +# notifications for that host/service until it stops +# flapping. Flap detection is very experimental, so read +# the HTML documentation before enabling this feature! +# Values: 1 = enable flap detection +# 0 = disable flap detection (default) + +enable_flap_detection=1 + + + +# FLAP DETECTION THRESHOLDS FOR HOSTS AND SERVICES +# Read the HTML documentation on flap detection for +# an explanation of what this option does. This option +# has no effect if flap detection is disabled. + +low_service_flap_threshold=5.0 +high_service_flap_threshold=20.0 +low_host_flap_threshold=5.0 +high_host_flap_threshold=20.0 + + + +# DATE FORMAT OPTION +# This option determines how short dates are displayed. Valid options +# include: +# us (MM-DD-YYYY HH:MM:SS) +# euro (DD-MM-YYYY HH:MM:SS) +# iso8601 (YYYY-MM-DD HH:MM:SS) +# strict-iso8601 (YYYY-MM-DDTHH:MM:SS) +# + +date_format=iso8601 + + + + +# TIMEZONE OFFSET +# This option is used to override the default timezone that this +# instance of Nagios runs in. If not specified, Nagios will use +# the system configured timezone. +# +# NOTE: In order to display the correct timezone in the CGIs, you +# will also need to alter the Apache directives for the CGI path +# to include your timezone. Example: +# +# +# SetEnv TZ "Australia/Brisbane" +# ... +# + +#use_timezone=US/Mountain +#use_timezone=Australia/Brisbane + + + + +# P1.PL FILE LOCATION +# This value determines where the p1.pl perl script (used by the +# embedded Perl interpreter) is located. If you didn't compile +# Nagios with embedded Perl support, this option has no effect. + +p1_file=/usr/lib/nagios3/p1.pl + + + +# EMBEDDED PERL INTERPRETER OPTION +# This option determines whether or not the embedded Perl interpreter +# will be enabled during runtime. This option has no effect if Nagios +# has not been compiled with support for embedded Perl. +# Values: 0 = disable interpreter, 1 = enable interpreter + +enable_embedded_perl=1 + + + +# EMBEDDED PERL USAGE OPTION +# This option determines whether or not Nagios will process Perl plugins +# and scripts with the embedded Perl interpreter if the plugins/scripts +# do not explicitly indicate whether or not it is okay to do so. Read +# the HTML documentation on the embedded Perl interpreter for more +# information on how this option works. + +use_embedded_perl_implicitly=1 + + + +# ILLEGAL OBJECT NAME CHARACTERS +# This option allows you to specify illegal characters that cannot +# be used in host names, service descriptions, or names of other +# object types. + +illegal_object_name_chars=`~!$%^&*|'"<>?,()= + + + +# ILLEGAL MACRO OUTPUT CHARACTERS +# This option allows you to specify illegal characters that are +# stripped from macros before being used in notifications, event +# handlers, etc. This DOES NOT affect macros used in service or +# host check commands. +# The following macros are stripped of the characters you specify: +# $HOSTOUTPUT$ +# $HOSTPERFDATA$ +# $HOSTACKAUTHOR$ +# $HOSTACKCOMMENT$ +# $SERVICEOUTPUT$ +# $SERVICEPERFDATA$ +# $SERVICEACKAUTHOR$ +# $SERVICEACKCOMMENT$ + +illegal_macro_output_chars=`~$&|'"<> + + + +# REGULAR EXPRESSION MATCHING +# This option controls whether or not regular expression matching +# takes place in the object config files. Regular expression +# matching is used to match host, hostgroup, service, and service +# group names/descriptions in some fields of various object types. +# Values: 1 = enable regexp matching, 0 = disable regexp matching + +use_regexp_matching=0 + + + +# "TRUE" REGULAR EXPRESSION MATCHING +# This option controls whether or not "true" regular expression +# matching takes place in the object config files. This option +# only has an effect if regular expression matching is enabled +# (see above). If this option is DISABLED, regular expression +# matching only occurs if a string contains wildcard characters +# (* and ?). If the option is ENABLED, regexp matching occurs +# all the time (which can be annoying). +# Values: 1 = enable true matching, 0 = disable true matching + +use_true_regexp_matching=0 + + + +# ADMINISTRATOR EMAIL/PAGER ADDRESSES +# The email and pager address of a global administrator (likely you). +# Nagios never uses these values itself, but you can access them by +# using the $ADMINEMAIL$ and $ADMINPAGER$ macros in your notification +# commands. + +admin_email=root@localhost +admin_pager=pageroot@localhost + + + +# DAEMON CORE DUMP OPTION +# This option determines whether or not Nagios is allowed to create +# a core dump when it runs as a daemon. Note that it is generally +# considered bad form to allow this, but it may be useful for +# debugging purposes. Enabling this option doesn't guarantee that +# a core file will be produced, but that's just life... +# Values: 1 - Allow core dumps +# 0 - Do not allow core dumps (default) + +daemon_dumps_core=0 + + + +# LARGE INSTALLATION TWEAKS OPTION +# This option determines whether or not Nagios will take some shortcuts +# which can save on memory and CPU usage in large Nagios installations. +# Read the documentation for more information on the benefits/tradeoffs +# of enabling this option. +# Values: 1 - Enabled tweaks +# 0 - Disable tweaks (default) + +use_large_installation_tweaks=0 + + + +# ENABLE ENVIRONMENT MACROS +# This option determines whether or not Nagios will make all standard +# macros available as environment variables when host/service checks +# and system commands (event handlers, notifications, etc.) are +# executed. Enabling this option can cause performance issues in +# large installations, as it will consume a bit more memory and (more +# importantly) consume more CPU. +# Values: 1 - Enable environment variable macros (default) +# 0 - Disable environment variable macros + +enable_environment_macros=1 + + + +# CHILD PROCESS MEMORY OPTION +# This option determines whether or not Nagios will free memory in +# child processes (processed used to execute system commands and host/ +# service checks). If you specify a value here, it will override +# program defaults. +# Value: 1 - Free memory in child processes +# 0 - Do not free memory in child processes + +#free_child_process_memory=1 + + + +# CHILD PROCESS FORKING BEHAVIOR +# This option determines how Nagios will fork child processes +# (used to execute system commands and host/service checks). Normally +# child processes are fork()ed twice, which provides a very high level +# of isolation from problems. Fork()ing once is probably enough and will +# save a great deal on CPU usage (in large installs), so you might +# want to consider using this. If you specify a value here, it will +# program defaults. +# Value: 1 - Child processes fork() twice +# 0 - Child processes fork() just once + +#child_processes_fork_twice=1 + + + +# DEBUG LEVEL +# This option determines how much (if any) debugging information will +# be written to the debug file. OR values together to log multiple +# types of information. +# Values: +# -1 = Everything +# 0 = Nothing +# 1 = Functions +# 2 = Configuration +# 4 = Process information +# 8 = Scheduled events +# 16 = Host/service checks +# 32 = Notifications +# 64 = Event broker +# 128 = External commands +# 256 = Commands +# 512 = Scheduled downtime +# 1024 = Comments +# 2048 = Macros + +debug_level=0 + + + +# DEBUG VERBOSITY +# This option determines how verbose the debug log out will be. +# Values: 0 = Brief output +# 1 = More detailed +# 2 = Very detailed + +debug_verbosity=1 + + + +# DEBUG FILE +# This option determines where Nagios should write debugging information. + +debug_file=/var/log/nagios3/nagios.debug + + + +# MAX DEBUG FILE SIZE +# This option determines the maximum size (in bytes) of the debug file. If +# the file grows larger than this size, it will be renamed with a .old +# extension. If a file already exists with a .old extension it will +# automatically be deleted. This helps ensure your disk space usage doesn't +# get out of control when debugging Nagios. + +max_debug_file_size=1000000 + + diff --git a/monitoring/nagios3/objects/hosts/encoder.cfg b/monitoring/nagios3/objects/hosts/encoder.cfg new file mode 100644 index 0000000..dc87a23 --- /dev/null +++ b/monitoring/nagios3/objects/hosts/encoder.cfg @@ -0,0 +1,14 @@ +# A simple configuration file for monitoring the local host +# This can serve as an example for configuring other servers; +# Custom services specific to this host are added here, but services +# defined in nagios2-common_services.cfg may also apply. +# + +define host{ + use generic-host ; Name of host template to use + host_name encoder + alias encoder + address 10.23.0.101 + hostgroups ssh-servers,debian-servers + parents coresw +} diff --git a/monitoring/nagios3/objects/hosts/eric.cfg b/monitoring/nagios3/objects/hosts/eric.cfg new file mode 100644 index 0000000..05fa4dd --- /dev/null +++ b/monitoring/nagios3/objects/hosts/eric.cfg @@ -0,0 +1,196 @@ +# A simple configuration file for monitoring the local host +# This can serve as an example for configuring other servers; +# Custom services specific to this host are added here, but services +# defined in nagios2-common_services.cfg may also apply. +# + +define host{ + use generic-host ; Name of host template to use + host_name eric + alias eric + address 127.0.0.1 + } + +# Define a service to check the disk space of the root partition +# on the local machine. Warning if < 20% free, critical if +# < 10% free space on partition. + +define service{ + use generic-service ; Name of service template to use + host_name eric + service_description Disk Space + check_command check_all_disks!20%!10% + } + + + +# Define a service to check the number of currently logged in +# users on the local machine. Warning if > 20 users, critical +# if > 50 users. + +define service{ + use generic-service ; Name of service template to use + host_name eric + service_description Current Users + check_command check_users!20!50 + } + + +# Define a service to check the number of currently running procs +# on the local machine. Warning if > 250 processes, critical if +# > 400 processes. + +define service{ + use generic-service ; Name of service template to use + host_name eric + service_description Total Processes + check_command check_procs!250!400 + } + + + +# Define a service to check the load on the local machine. + +define service{ + use generic-service ; Name of service template to use + host_name eric + service_description Current Load + notifications_enabled 0 + check_command check_load!7.0!6.0!5.0!7.5!7.0!6.5 + } + + +# stream Count +define service { + use generic-service + host_name eric + service_description Stream Count + check_command check_stream_count!5!3 +} + +;# Bulgaria - hd +; moved to separate host +;define service { +; use generic-service +; host_name eric +; service_description Bulgaria HD stream / ERIC +; check_command check_rtmp!rtmp://127.0.0.1/st/bulgaria-hd +;} +;define service { +; use generic-service +; host_name eric +; service_description Bulgaria HD stream / MARLA +; check_command check_rtmp!rtmp://79.98.105.21/st/bulgaria-hd +;} +;define service { +; use generic-service +; host_name eric +; service_description Bulgaria HD stream / HAWK +; check_command check_rtmp!rtmp://79.124.31.206/st/bulgaria-hd +;} +; +;# Bulgaria SD +;define service { +; use generic-service +; host_name eric +; service_description Bulgaria stream / ERIC +; check_command check_rtmp!rtmp://127.0.0.1/st/bulgaria +;} +;define service { +; use generic-service +; host_name eric +; service_description Bulgaria stream / MARLA +; check_command check_rtmp!rtmp://79.98.105.21/st/bulgaria +;} +;define service { +; use generic-service +; host_name eric +; service_description Bulgaria stream / HAWK +; check_command check_rtmp!rtmp://79.124.31.206/st/bulgaria +;} +; +;# Chambler SD +;define service { +; use generic-service +; host_name eric +; service_description CHAMBER stream / ERIC +; check_command check_rtmp!rtmp://127.0.0.1/st/chamber +;} +;define service { +; use generic-service +; host_name eric +; service_description CHAMBER stream / MARLA +; check_command check_rtmp!rtmp://79.98.105.21/st/chamber +;} +;define service { +; use generic-service +; host_name eric +; service_description CHAMBER stream / HAWK +; check_command check_rtmp!rtmp://79.124.31.206/st/chamber +;} + +# Grafana +define service { + use generic-service + host_name eric + service_description Grafana + check_command check_http_host_port!eric.openfest.org!127.0.0.1!3000 +} + +# Graphite - web +define service { + use generic-service + host_name eric + service_description Graphite - web + check_command check_http_host_port!eric.openfest.org!127.0.0.1!8080 +} + +# carbon - aggregator +define service { + use generic-service + host_name eric + service_description Graphite - carbon-aggregator-line + check_command check_tcp_port!10001 +} +define service { + use generic-service + host_name eric + service_description Graphite - carbon-aggregator-pickle + check_command check_tcp_port!10101 +} + +# carbon - cache +define service { + use generic-service + host_name eric + service_description Graphite - carbon-cache-line + check_command check_tcp_port!2003 +} +define service { + use generic-service + host_name eric + service_description Graphite - carbon-cache-pickle + check_command check_tcp_port!2004 +} +define service { + use generic-service + host_name eric + service_description Graphite - carbon-cache-cache + check_command check_tcp_port!2005 +} + +# Unbound +define service { + use generic-service + host_name eric + service_description DNS - unbound + check_command custom_check_dns +} + +# memcached +define service { + use generic-service + host_name eric + service_description Memcached + check_command check_tcp_port!11211 +} diff --git a/monitoring/nagios3/objects/hosts/streamers.cfg b/monitoring/nagios3/objects/hosts/streamers.cfg new file mode 100644 index 0000000..e26767d --- /dev/null +++ b/monitoring/nagios3/objects/hosts/streamers.cfg @@ -0,0 +1,75 @@ +define host{ + use generic-host ; Name of host template to use + host_name streamers + alias streamers + address 127.0.0.1 + parents eric +} + +# stream Count +define service { + use generic-service + host_name streamers + service_description Stream Count + check_command check_stream_count!4!2 +} + +# Bulgaria - hd +define service { + use generic-service + host_name streamers + service_description Bulgaria HD stream / ERIC + check_command check_rtmp!rtmp://127.0.0.1/st/r1-hd +} +define service { + use generic-service + host_name streamers + service_description Bulgaria HD stream / MARLA + check_command check_rtmp!rtmp://79.98.105.21/st/r1-hd +} +define service { + use generic-service + host_name streamers + service_description Bulgaria HD stream / HAWK + check_command check_rtmp!rtmp://79.124.31.206/st/r1-hd +} + +# Bulgaria SD +define service { + use generic-service + host_name streamers + service_description Bulgaria stream / ERIC + check_command check_rtmp!rtmp://127.0.0.1/st/r1 +} +define service { + use generic-service + host_name streamers + service_description Bulgaria stream / MARLA + check_command check_rtmp!rtmp://79.98.105.21/st/r1 +} +define service { + use generic-service + host_name streamers + service_description Bulgaria stream / HAWK + check_command check_rtmp!rtmp://79.124.31.206/st/r1 +} + +# Chambler SD +define service { + use generic-service + host_name streamers + service_description CHAMBER stream / ERIC + check_command check_rtmp!rtmp://127.0.0.1/st/r2 +} +define service { + use generic-service + host_name streamers + service_description CHAMBER stream / MARLA + check_command check_rtmp!rtmp://79.98.105.21/st/r2 +} +define service { + use generic-service + host_name streamers + service_description CHAMBER stream / HAWK + check_command check_rtmp!rtmp://79.124.31.206/st/r2 +} diff --git a/monitoring/nagios3/objects/overflow/01-overflow-tv.cfg b/monitoring/nagios3/objects/overflow/01-overflow-tv.cfg new file mode 100644 index 0000000..7a66cd7 --- /dev/null +++ b/monitoring/nagios3/objects/overflow/01-overflow-tv.cfg @@ -0,0 +1,8 @@ +define host { + host_name overflow-tv + use generic-host + alias overflow-tv + address 10.24.0.11 + hostgroups overflow-group,ssh-servers + parents coresw +} diff --git a/monitoring/nagios3/objects/reception/01-laptop.cfg b/monitoring/nagios3/objects/reception/01-laptop.cfg new file mode 100644 index 0000000..4bea8e2 --- /dev/null +++ b/monitoring/nagios3/objects/reception/01-laptop.cfg @@ -0,0 +1,9 @@ +define host { + host_name reception-laptop + use generic-host + alias reception-laptop + address 10.21.0.51 + hostgroups reception-equipment,laptop-group + parents receptionsw +} + diff --git a/monitoring/nagios3/objects/services/telnet.cfg b/monitoring/nagios3/objects/services/telnet.cfg new file mode 100644 index 0000000..bd72e10 --- /dev/null +++ b/monitoring/nagios3/objects/services/telnet.cfg @@ -0,0 +1,6 @@ +define service{ + use generic-service + service_description Telnet + check_command check_telnet_4! + hostgroup_name core-switches +} diff --git a/monitoring/nagios3/objects/switch/01-core-coresw.cfg b/monitoring/nagios3/objects/switch/01-core-coresw.cfg new file mode 100644 index 0000000..c2d2eed --- /dev/null +++ b/monitoring/nagios3/objects/switch/01-core-coresw.cfg @@ -0,0 +1,22 @@ +define host { + host_name coresw + use generic-host + alias coresw + address 10.20.0.11 + hostgroups cisco-switches,core-switches + parents eric +} + +define service { + use generic-service + hosts coresw + service_description Vlan1 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 2!-l ifOperStatus +} + +define service { + use generic-service + hosts coresw + service_description Vlan20 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.20!-r 1!-l ifOperStatus +} diff --git a/monitoring/nagios3/objects/switch/02-core-mr-vocsw.cfg b/monitoring/nagios3/objects/switch/02-core-mr-vocsw.cfg new file mode 100644 index 0000000..56456d1 --- /dev/null +++ b/monitoring/nagios3/objects/switch/02-core-mr-vocsw.cfg @@ -0,0 +1,86 @@ +define host { + host_name mrvocsw + use generic-host + alias mrvocsw + address 10.20.0.21 + hostgroups core-switches,tplink-switches + parents eric +} + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/01 - coresw + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/02 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/03 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/04 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/05 - AP1 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 1!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/06 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/07 - unused + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/08 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r 2!-l ifOperStatus + notifications_enabled 0 + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/09 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Gi1/0/10 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts mrvocsw + service_description Vlan20 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.52802!-r 1!-l ifOperStatus +} diff --git a/monitoring/nagios3/objects/switch/03-core-sr-vocsw.cfg b/monitoring/nagios3/objects/switch/03-core-sr-vocsw.cfg new file mode 100644 index 0000000..636b2eb --- /dev/null +++ b/monitoring/nagios3/objects/switch/03-core-sr-vocsw.cfg @@ -0,0 +1,86 @@ +define host { + host_name srvocsw + use generic-host + alias srvocsw + address 10.20.0.22 + hostgroups core-switches,tplink-switches + parents eric +} + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/01 - coresw + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/02 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/03 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/04 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/05 - AP1 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 1!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/06 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/07 - unused + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/08 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r 2!-l ifOperStatus + notifications_enabled 0 + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/09 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Gi1/0/10 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts srvocsw + service_description Vlan20 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.52802!-r 1!-l ifOperStatus +} diff --git a/monitoring/nagios3/objects/switch/04-core-receptionsw.cfg b/monitoring/nagios3/objects/switch/04-core-receptionsw.cfg new file mode 100644 index 0000000..21c55c5 --- /dev/null +++ b/monitoring/nagios3/objects/switch/04-core-receptionsw.cfg @@ -0,0 +1,86 @@ +define host { + host_name receptionsw + use generic-host + alias receptionsw + address 10.20.0.21 + hostgroups core-switches,tplink-switches + parents eric +} + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/01 - coresw + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/02 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/03 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/04 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/05 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/06 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/07 - wired/laptop + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r " (1|2)$"!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/08 - wired/PRINTER + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r 1!-l ifOperStatus + notifications_enabled 0 + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/09 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Gi1/0/10 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus + } + +define service { + use generic-service + hosts receptionsw + service_description Vlan20 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.52802!-r 1!-l ifOperStatus +} diff --git a/monitoring/nagios3/objects/switch/05-core-wssw-1.cfg b/monitoring/nagios3/objects/switch/05-core-wssw-1.cfg new file mode 100644 index 0000000..0ee0db3 --- /dev/null +++ b/monitoring/nagios3/objects/switch/05-core-wssw-1.cfg @@ -0,0 +1,8 @@ +define host { + host_name wssw1 + use generic-host + alias wssw1 + address 10.20.0.24 + hostgroups core-switches,cisco-switches + parents eric +} diff --git a/monitoring/nagios3/objects/switch/06-core-wssw-2.cfg b/monitoring/nagios3/objects/switch/06-core-wssw-2.cfg new file mode 100644 index 0000000..bfcdf38 --- /dev/null +++ b/monitoring/nagios3/objects/switch/06-core-wssw-2.cfg @@ -0,0 +1,8 @@ +define host { + host_name wssw2 + use generic-host + alias wssw2 + address 10.20.0.25 + hostgroups core-switches,cisco-switches + parents eric +} diff --git a/monitoring/nagios3/objects/switch/09-core-nocsw.cfg b/monitoring/nagios3/objects/switch/09-core-nocsw.cfg new file mode 100644 index 0000000..d3aa0b4 --- /dev/null +++ b/monitoring/nagios3/objects/switch/09-core-nocsw.cfg @@ -0,0 +1,218 @@ +define host { + host_name nocsw + use generic-host + alias nocsw + address 10.20.0.23 + hostgroups core-switches,cisco-switches + parents coresw +} + +define service { + use generic-service + hosts nocsw + service_description Vlan1 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 2!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Vlan20 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.20!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/01 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10101!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/02 - UNUSED + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10102!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/03 - uplink + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10103!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/04 - uplink + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10104!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/05 - mgmt + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10105!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/06 - mgmt + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10106!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/07 - mgmt + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10107!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/08 - mgmt + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10108!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/09 - wired + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10109!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/10 - wired + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10110!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/11 - wired + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10111!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/12 - wired + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10112!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/13 - wireless + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10113!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/14 - wireless + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10114!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/15 - wireless + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10115!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/16 - wireless + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10116!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/17 - video + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10117!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/18 - video + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10118!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/19 - video + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10119!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/20 - video + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10120!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/21 - overflow + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10121!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/22 - overflow + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10122!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/23 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10123!-r 1!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/24 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10124!-r " (1|2)$"!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/25 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10125!-r 2!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/26 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10126!-r 2!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/27 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10127!-r 2!-l ifOperStatus +} + +define service { + use generic-service + hosts nocsw + service_description Gi0/28 + check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10128!-r 2!-l ifOperStatus +} diff --git a/monitoring/nagios3/objects/video/control-laptops/01-main-room.cfg b/monitoring/nagios3/objects/video/control-laptops/01-main-room.cfg new file mode 100644 index 0000000..0a45065 --- /dev/null +++ b/monitoring/nagios3/objects/video/control-laptops/01-main-room.cfg @@ -0,0 +1,17 @@ +define host { + host_name control-m-1 + use videoteam-host + alias control-m-1 + address 10.23.0.31 + hostgroups video-equipment,control-group + parents mrvocsw +} + +define host { + host_name control-m-2 + use videoteam-host + alias control-m-2 + address 10.23.0.32 + hostgroups video-equipment,control-group + parents mrvocsw +} diff --git a/monitoring/nagios3/objects/video/control-laptops/02-second-room.cfg b/monitoring/nagios3/objects/video/control-laptops/02-second-room.cfg new file mode 100644 index 0000000..dddb22b --- /dev/null +++ b/monitoring/nagios3/objects/video/control-laptops/02-second-room.cfg @@ -0,0 +1,17 @@ +define host { + host_name control-s-1 + use videoteam-host + alias control-s-1 + address 10.23.0.41 + hostgroups video-equipment,control-group + parents srvocsw +} + +define host { + host_name control-s-2 + use videoteam-host + alias control-s-2 + address 10.23.0.42 + hostgroups video-equipment,control-group + parents srvocsw +} diff --git a/monitoring/nagios3/objects/video/intercom/01-intercom-main-room.cfg b/monitoring/nagios3/objects/video/intercom/01-intercom-main-room.cfg new file mode 100644 index 0000000..ae44099 --- /dev/null +++ b/monitoring/nagios3/objects/video/intercom/01-intercom-main-room.cfg @@ -0,0 +1,26 @@ +define host { + host_name icom-m-1 + use generic-host + alias icom-m-1 + address 10.23.0.35 + hostgroups intercom-group,ssh-servers + parents mrvocsw +} + +define host { + host_name icom-m-2 + use generic-host + alias icom-m-2 + address 10.23.0.36 + hostgroups intercom-group,ssh-servers + parents mrvocsw +} + +define host { + host_name icom-m-3 + use generic-host + alias icom-m-3 + address 10.23.0.37 + hostgroups intercom-group,ssh-servers + parents mrvocsw +} diff --git a/monitoring/nagios3/objects/video/intercom/02-intercom-second-room.cfg b/monitoring/nagios3/objects/video/intercom/02-intercom-second-room.cfg new file mode 100644 index 0000000..3167657 --- /dev/null +++ b/monitoring/nagios3/objects/video/intercom/02-intercom-second-room.cfg @@ -0,0 +1,26 @@ +define host { + host_name icom-s-1 + use generic-host + alias icom-s-1 + address 10.23.0.45 + hostgroups intercom-group,ssh-servers + parents srvocsw +} + +define host { + host_name icom-s-2 + use generic-host + alias icom-s-2 + address 10.23.0.46 + hostgroups intercom-group,ssh-servers + parents srvocsw +} + +define host { + host_name icom-s-3 + use generic-host + alias icom-s-3 + address 10.23.0.47 + hostgroups intercom-group,ssh-servers + parents srvocsw +} diff --git a/monitoring/nagios3/objects/video/teradek/01-main-room.cfg b/monitoring/nagios3/objects/video/teradek/01-main-room.cfg new file mode 100644 index 0000000..0b2628f --- /dev/null +++ b/monitoring/nagios3/objects/video/teradek/01-main-room.cfg @@ -0,0 +1,8 @@ +define host { + host_name teradek-mr + use videoteam-host + alias teradek-bulgaria + address 10.23.0.21 + hostgroups video-equipment,teradek-group + parents mrvocsw +} diff --git a/monitoring/nagios3/objects/video/teradek/02-second-room.cfg b/monitoring/nagios3/objects/video/teradek/02-second-room.cfg new file mode 100644 index 0000000..7fb1911 --- /dev/null +++ b/monitoring/nagios3/objects/video/teradek/02-second-room.cfg @@ -0,0 +1,8 @@ +define host { + host_name teradek-sr + use videoteam-host + alias teradek-bulgaria + address 10.23.0.22 + hostgroups video-equipment,teradek-group + parents srvocsw +} diff --git a/monitoring/nagios3/objects/video/video-mixers/01-main-room.cfg b/monitoring/nagios3/objects/video/video-mixers/01-main-room.cfg new file mode 100644 index 0000000..8923c2c --- /dev/null +++ b/monitoring/nagios3/objects/video/video-mixers/01-main-room.cfg @@ -0,0 +1,8 @@ +define host { + host_name atem-mr + use videoteam-host + alias atem-mr + address 10.23.0.11 + hostgroups video-equipment,atem-group + parents mrvocsw +} diff --git a/monitoring/nagios3/objects/video/video-mixers/02-second-room.cfg b/monitoring/nagios3/objects/video/video-mixers/02-second-room.cfg new file mode 100644 index 0000000..562cec7 --- /dev/null +++ b/monitoring/nagios3/objects/video/video-mixers/02-second-room.cfg @@ -0,0 +1,8 @@ +define host { + host_name atem-sr + use videoteam-host + alias atem-sr + address 10.23.0.12 + hostgroups video-equipment,atem-group + parents srvocsw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-ch.cfg b/monitoring/nagios3/objects/wifi/ap-cf-ch.cfg new file mode 100644 index 0000000..5a4bbcd --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-ch.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-ch + use generic-host + alias ap-cf-ch + address 10.20.0.58 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-f-l.cfg b/monitoring/nagios3/objects/wifi/ap-cf-f-l.cfg new file mode 100644 index 0000000..25e054f --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-f-l.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-f-l + use generic-host + alias ap-cf-f-l + address 10.20.0.50 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-f-r.cfg b/monitoring/nagios3/objects/wifi/ap-cf-f-r.cfg new file mode 100644 index 0000000..d8de9dd --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-f-r.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-f-r + use generic-host + alias ap-cf-f-r + address 10.20.0.51 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-mr-1.cfg b/monitoring/nagios3/objects/wifi/ap-cf-mr-1.cfg new file mode 100644 index 0000000..1ad90d2 --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-mr-1.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-mr-1 + use generic-host + alias ap-cf-mr-1 + address 10.20.0.52 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-mr-2.cfg b/monitoring/nagios3/objects/wifi/ap-cf-mr-2.cfg new file mode 100644 index 0000000..37bd438 --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-mr-2.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-mr-2 + use generic-host + alias ap-cf-mr-2 + address 10.20.0.53 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-mr-3.cfg b/monitoring/nagios3/objects/wifi/ap-cf-mr-3.cfg new file mode 100644 index 0000000..ee446b5 --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-mr-3.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-mr-3 + use generic-host + alias ap-cf-mr-3 + address 10.20.0.54 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-mr-4.cfg b/monitoring/nagios3/objects/wifi/ap-cf-mr-4.cfg new file mode 100644 index 0000000..c54b9a6 --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-mr-4.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-mr-4 + use generic-host + alias ap-cf-mr-4 + address 10.20.0.55 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-qws.cfg b/monitoring/nagios3/objects/wifi/ap-cf-qws.cfg new file mode 100644 index 0000000..9314ba4 --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-qws.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-qws + use generic-host + alias ap-cf-qws + address 10.20.0.59 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-sr-1.cgf b/monitoring/nagios3/objects/wifi/ap-cf-sr-1.cgf new file mode 100644 index 0000000..a4a011b --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-sr-1.cgf @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-sr-1 + use generic-host + alias ap-cf-sr-1 + address 10.20.0.56 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-cf-sr-2.cgf b/monitoring/nagios3/objects/wifi/ap-cf-sr-2.cgf new file mode 100644 index 0000000..e879ff9 --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-cf-sr-2.cgf @@ -0,0 +1,8 @@ +define host { + host_name ap-cf-sr-2 + use generic-host + alias ap-cf-sr-2 + address 10.20.0.57 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-ws-noc.cfg b/monitoring/nagios3/objects/wifi/ap-ws-noc.cfg new file mode 100644 index 0000000..02d1b5f --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-ws-noc.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-ws-noc + use generic-host + alias ap-ws-noc + address 10.20.0.62 + hostgroups ap-group + parents nocsw +} diff --git a/monitoring/nagios3/objects/wifi/ap-ws-ws1.cfg b/monitoring/nagios3/objects/wifi/ap-ws-ws1.cfg new file mode 100644 index 0000000..efdbf2a --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-ws-ws1.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-ws-ws1 + use generic-host + alias ap-ws-ws1 + address 10.20.0.60 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/objects/wifi/ap-ws-ws2.cfg b/monitoring/nagios3/objects/wifi/ap-ws-ws2.cfg new file mode 100644 index 0000000..9487efb --- /dev/null +++ b/monitoring/nagios3/objects/wifi/ap-ws-ws2.cfg @@ -0,0 +1,8 @@ +define host { + host_name ap-ws-ws2 + use generic-host + alias ap-ws-ws2 + address 10.20.0.61 + hostgroups ap-group + parents coresw +} diff --git a/monitoring/nagios3/resource.cfg b/monitoring/nagios3/resource.cfg new file mode 100644 index 0000000..1f045a1 --- /dev/null +++ b/monitoring/nagios3/resource.cfg @@ -0,0 +1,33 @@ +########################################################################### +# +# RESOURCE.CFG - Resource File for Nagios +# +# You can define $USERx$ macros in this file, which can in turn be used +# in command definitions in your host config file(s). $USERx$ macros are +# useful for storing sensitive information such as usernames, passwords, +# etc. They are also handy for specifying the path to plugins and +# event handlers - if you decide to move the plugins or event handlers to +# a different directory in the future, you can just update one or two +# $USERx$ macros, instead of modifying a lot of command definitions. +# +# The CGIs will not attempt to read the contents of resource files, so +# you can set restrictive permissions (600 or 660) on them. +# +# Nagios supports up to 32 $USERx$ macros ($USER1$ through $USER32$) +# +# Resource files may also be used to store configuration directives for +# external data sources like MySQL... +# +########################################################################### + +# Sets $USER1$ to be the path to the plugins +$USER1$=/usr/lib/nagios/plugins + +# Sets $USER2$ to be the path to event handlers +#$USER2$=/usr/lib/nagios/plugins/eventhandlers + +# Store some usernames and passwords (hidden from the CGIs) +#$USER3$=someuser +#$USER4$=somepassword +$USER3$=changeme +$USER4$=changeme diff --git a/monitoring/nagios3/stylesheets/avail.css b/monitoring/nagios3/stylesheets/avail.css new file mode 100644 index 0000000..b1ad0bf --- /dev/null +++ b/monitoring/nagios3/stylesheets/avail.css @@ -0,0 +1,35 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.avail { } + +.data { font-size: 9pt; } + +.hostUP { background-color: #cce8cc; padding: 0 4 0 4; } +.hostDOWN { background-color: #ffdddd; padding: 0 4 0 4; } +.hostUNREACHABLE { background-color: #ffddaa; padding: 0 4 0 4; } + +.serviceOK { background-color: #cce8cc; padding: 0 4 0 4; } +.serviceWARNING { background-color: #feffc1; padding: 0 4 0 4; } +.serviceUNKNOWN { background-color: #ffddaa; padding: 0 4 0 4; } +.serviceCRITICAL { background-color: #ffdddd; padding: 0 4 0 4; } + +table.logEntries { font-size: 9pt; padding: 5 0 0 0; } +th.logEntries { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +.logEntriesOdd { background-color: #e7e7e7; padding: 0 4 0 4; } +.logEntriesEven { background-color: #f4f2f2; padding: 0 4 0 4; } + +.logEntriesOK { background-color: #cce8cc; padding: 0 4 0 4; } +.logEntriesUNKNOWN { background-color: #ffddaa; padding: 0 4 0 4; } +.logEntriesWARNING { background-color: #feffc1; padding: 0 4 0 4; } +.logEntriesCRITICAL { background-color: #ffdddd; padding: 0 4 0 4; } +.logEntriesUP { background-color: #cce8cc; padding: 0 4 0 4; } +.logEntriesDOWN { background-color: #ffdddd; padding: 0 4 0 4; } +.logEntriesUNREACHABLE { background-color: #ffddaa; padding: 0 4 0 4; } +.logEntriesINDETERMINATE { background-color: #ddccff; padding: 0 4 0 4; } + +.infoMessage { font-size: 9pt; } diff --git a/monitoring/nagios3/stylesheets/checksanity.css b/monitoring/nagios3/stylesheets/checksanity.css new file mode 100644 index 0000000..49922d1 --- /dev/null +++ b/monitoring/nagios3/stylesheets/checksanity.css @@ -0,0 +1,27 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.extinfo { } + +.Title { font-size: 12pt; text-align: center; font-weight: bold; } +.SectionTitle { font-size: 12pt; text-align: center; font-weight: bold; } + +.DynamicData { font-size: 10pt; padding: 2; } +.StaticData { font-size: 10pt; padding: 2; } +.TableHeader { font-size: 10pt; background-color: #d0d0d0; font-weight: bold; } + +.Item { font-size: 10pt; background-color: #f4f2f2; font-weight: bold; } +.DataSource { font-size: 10pt; background-color: #f4f2f2; } +.Number { font-size: 10pt; background-color: #f4f2f2; } + +.Value { font-size: 10pt; background-color: #f4f2f2; font-weight: bold; } +.ValueOk { font-size: 10pt; background-color: #88d066; font-weight: bold; } +.ValueError { font-size: 10pt; background-color: #f88888; font-weight: bold; } + + + + diff --git a/monitoring/nagios3/stylesheets/cmd.css b/monitoring/nagios3/stylesheets/cmd.css new file mode 100644 index 0000000..f8698f7 --- /dev/null +++ b/monitoring/nagios3/stylesheets/cmd.css @@ -0,0 +1,14 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.cmd { } + +.cmdType { font-size: 12pt; font-weight: bold; color: #aa0000; padding-bottom: 40; } +.commandDescription { font-size: 8pt; background-color: #f4f2f2; border: 1px solid #d0d0d0; margin: 4 0 0 0; padding: 4 4 4 4; } +.descriptionTitle { font-size: 10pt; font-weight: bold; } +.infoMessage { font-size: 8pt; background-color: #efefaa; border: 1px solid #777777; margin: 40 20% 0 20%; padding: 5 5 5 5; } +.optBox { font-size: 9pt; padding: 5 5 5 5; } diff --git a/monitoring/nagios3/stylesheets/common.css b/monitoring/nagios3/stylesheets/common.css new file mode 100644 index 0000000..6d8e1aa --- /dev/null +++ b/monitoring/nagios3/stylesheets/common.css @@ -0,0 +1,370 @@ +/* exfoliation: a nagios makeover */ +/* version: 0.7 */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +/* thanks to jacob.laack for nagiosneat */ +/* thanks to nagios authors for a solid base */ + +/* these are reference colors for the color scheme: + + color dark light border + OK: green 88d066 cce8cc 777777 + WARNING: yellow ffff00 feffc1 777777 + CRITICAL: red f88888 ffdddd 777777 + PENDING: grey acacac fefefe 777777 + UNKNOWN: orange ffbb55 ffddaa 777777 + UNREACHABLE: orange ffbb55 ffddaa 777777 +INDETERMINATE: purple ddccff 777777 + PROBLEMS: blue aaccff 777777 + + ACK: aaaaaa + CUSTOM: 778899 + + important: blue 99aacc 777777 +not important: blue aaccff 777777 + + table header: d0d0d0 + odd rows: e7e7e7 + even rows: f4f2f2 + + titles: 12pt + body: 10pt + table headings: 9pt + controls: 9pt + data in tables: 8pt or 9pt +*/ + +body { + margin: 0em; + margin: 0.8em 0.8em 2em 0.8em; + color: black; + background-color: white; + font-family: arial, verdana, serif; + font-weight: normal; + font-size: 10pt; +} + +table { + border: none; + margin: 0; +} + +th, td { + border: none; + padding: 0 2px 0 2px; +} + +form { + margin: 0; + padding: 0; +} + + +a img { + border: none; +} +a { + text-decoration: none; + color: #40529b; +} +a:hover { + text-decoration: underline; + color: #3f5bcd; +} +a:active { + color: #496aef; +} +a:visited { + color: #2c3763; +} + + +div.navbarlogo { + margin: 0 0 10px 0; +} +div.navsection { + margin: 5px 0 10px 0; +} +div.navsectiontitle { + font-size: 9pt; + font-weight: bold; + padding: 2px; + background-color: #efefef; + border:1px solid #dddddd; +} +div.navsectionlinks { + margin: 3px 0 0 0; +} + +ul.navsectionlinks { + margin: 0; + padding: 0; + list-style: none; +} +ul.navsectionlinks li { } +ul.navsectionlinks li a { + font-weight: bold; + font-size: 9pt; + text-decoration: none; + padding: 0 0 0 15px; + /* background: transparent url(../images/greendot.gif) no-repeat scroll 0 0; */ + +} +ul.navsectionlinks li ul { + margin: 0px; + padding: 0 0 0 30px; + list-style: none; +} +ul.navsectionlinks li ul li { } +ul.navsectionlinks li a:hover { +/* background: transparent url(../images/orangedot.gif) no-repeat scroll 0 0; */ +color: #8391cd; +} +ul.navsectionlinks li ul li a { + background: none; + padding: 0; + font-weight: normal; +} +ul.navsectionlinks li ul li a:hover { + background: none; +} +ul.navsectionlinks li ul li ul { + margin: 0px; + padding: 0 0 0 15px; + list-style: none; +} + + +.navbarsearch { + margin: 5px 0 0 0; +} +.navbarsearch fieldset { + border: none; +} + +.navbarsearch fieldset legend { + font-size: 8pt; +} +.navbarsearch input{ + font-size: 9pt; +} + + +#splashpage{ + text-align: center; +} +#mainbrandsplash{ + font-size: 12pt; + font-weight: bold; + margin: 0 0 35px 0; +} +#maincopy{ + margin: 0 0 15px 0; +} +#currentversioninfo{ + font-size: 12pt; +} +#currentversioninfo .product{ + font-size: 14pt; + font-weight: bold; +} +#currentversioninfo .version{ + font-size: 14pt; + font-weight: bold; +} +#currentversioninfo .releasedate{ + font-size: 11pt; + margin: 5px 0 0 0; +} +#currentversioninfo .checkforupdates{ + font-size: 11pt; + font-weight: bold; +} +#currentversioninfo .whatsnew{ + font-size: 11pt; + font-weight: bold; + margin: 50px 0 0 0; +} +#updateversioninfo{ + margin: 15px auto 35px auto; + width: 400px; +} +.updatechecksdisabled{ + background-color: #FF9F9F; + border: 1px solid red; + padding: 10px; +} +.updatechecksdisabled div.warningmessage{ + font-weight: bold; +} +#updateversioninfo div.submessage{ + clear: left; +} +.updateavailable{ + background-color: #9FD4FF; + border: 1px solid blue; + padding: 10px; +} +.updateavailable div.updatemessage{ + font-size: 12pt; + font-weight: bold; +} + +#splashpage #mainfooter{ + /*margin: 100px 0 0 0;*/ + clear: both; + font-size: 8pt; + padding-top: 35px; +} +#splashpage #mainfooter .disclaimer{ + /*width: 80%;*/ + margin: auto; +} +#splashpage #mainfooter .logos{ + margin: 15px 0 0 0; +} + + + + + + +table.infoBox { width: 100%; } +td.infoBox { font-size: 8pt; padding: 0 0 1em 0; white-space: nowrap; } +div.infoBoxTitle { font-size: 10pt; font-weight: bold; } +div.infoBoxBadProcStatus { font-size: 8pt; font-weight: bold; color: red; } + +.linkBox { font-size: 8pt; padding: 1; } +table.linkBox td { white-space: nowrap; } + +.filter { font-size: 8pt; padding: 1; } +.filterTitle { font-size: 9pt; font-weight: bold; } +.filterName { font-size: 8pt; text-align: right; font-weight: bold; } +.filterValue { font-size: 8pt; } + +.errorDescription { font-size: 10pt; text-align: center; font-weight: bold; } +.errorMessage { font-size: 10pt; text-align: center; font-weight: bold; color: red; } +.warningMessage { font-size: 10pt; text-align: center; font-weight: bold; color: red; } + +.statusTitle { text-align: center; font-weight: bold; font-size: 12pt; white-space: nowrap; } +.statusSort { font-size: 8pt; } + +table.data { padding: 0; } +th.data { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +.dataOdd { font-size: 8pt; background-color: #e7e7e7; padding: 0 4 0 4; } +.dataEven { font-size: 8pt; background-color: #f4f2f2; padding: 0 4 0 4; } +.dataTitle { font-size: 12pt; text-align: center; font-weight: bold; } +.dataSubTitle { font-size: 10pt; text-align: center; font-weight: bold; } + +.optBox { font-size: 9pt; white-space: nowrap; padding: 2 0 0 0; } +.optBoxTitle { font-size: 10pt; font-weight: bold; text-align: center; } +.optBoxRequiredItem { font-size: 9pt; text-align: right; padding: 0 5 0 5; color: red; } +.optBoxItem { font-size: 9pt; text-align: right; padding: 0 5 0 5; } +.optBoxValue { font-size: 9pt; } + +.optionBoxTitle { font-size: 10pt; text-align: center; font-weight: bold; } +.optionBox { font-size: 10pt; padding: 2; } + +.navBoxTitle { font-size: 10pt; font-weight: bold; white-space: nowrap; } +.navBoxItem { font-size: 8pt; } +.navBoxDate { font-size: 8pt; white-space: nowrap; } +.navBoxFile { font-size: 8pt; text-align: center; } + +.helpfulHint { font-size: 8pt; font-style: italic; text-align: center; } + +.logEntries { font-size: 8pt; white-space: nowrap; } + +.dateTimeBreak { font-size: 9pt; font-weight: bold; } + +.reportRange { font-size: 10pt; white-space: nowrap; } +.reportDuration { font-size: 8pt; white-space: nowrap; } +.reportTime { font-size: 8pt; white-space: nowrap; text-align: right; font-style: italic; } + +.reportSelectTitle { font-size: 12pt; text-align: center; font-weight: bold; } +.reportSelectSubTitle { font-size: 9pt; text-align: right; } +.reportSelectItem { font-size: 9pt; } +.reportSelectTip { font-size: 8pt; font-style: italic; } + +.dateSelectTitle { font-size: 12pt; text-align: center; font-weight: bold; } +.dateSelectSubTitle { font-size: 9pt; text-align: right; } +.dateSelectItem { font-size: 9pt; } + +.popupText { font-size: 8pt; background-color: #eeeeaa; border: 1px solid #777777; padding: 10 10 10 10; } + +.hostImportantProblem { font-size: 8pt; background-color: #88aadd; border: 1px solid #aaaaaa; padding: 0 5 0 5; } +.hostUnimportantProblem { font-size: 8pt; background-color: #aaccff; border: 1px solid #888888; padding: 0 5 0 5; } + +.serviceImportantProblem { font-size: 8pt; background-color: #88aadd; border: 1px solid #aaaaaa; padding: 0 5 0 5; } +.serviceUnimportantProblem { font-size: 8pt; background-color: #aaccff; border: 1px solid #888888; padding: 0 5 0 5; } + +.outageImportantProblem { font-size: 8pt; background-color: #88aadd; border: 1px solid #aaaaaa; padding: 0 5 0 5; } +.outageUnimportantProblem { font-size: 8pt; background-color: #aaccff; border: 1px solid #888888; padding: 0 5 0 5; } + + +/* Some nagios configurations have side.html rather than side.php and define */ +/* a slightly different set of nav elements. */ +.NavBarTitle { + font-size: 9pt; + font-weight: bold; + margin: 5px 0 10px 0; + padding: 2px; + background-color: #efefef; + border:v1px solid #dddddd; +} + +.NavBarItem { + font-size: 9pt; + font-weight: bold; + list-style: none; + text-decoration: none; + margin: 0; + padding: 0 0 0 0; +} + +.NavBarSearchItem { + font-size: 9pt; +} + + + +#splashboxes { + /*border: 1px solid blue;*/ + margin: auto; + width: 90%; + } +.splashbox{ + padding: 5px; + margin: 5px 5px 5px; + border: 1px solid #AAAAAA; + float: left; + text-align: left; + height: 140px; + } +.splashbox h2{ + margin: 0px; + font-size: 12pt; + } +.splashbox ul{ + margin: 0; + padding: 5px 5px 5px 15px; + } +.splashbox ul li{ + clear: both; + } +#splashbox1 { + width: 250px; + } +#splashbox2 { + width: 500px; + } +#splashbox3 { + width: 250px; + clear: both; + } +#splashbox4 { + width: 500px; + } \ No newline at end of file diff --git a/monitoring/nagios3/stylesheets/config.css b/monitoring/nagios3/stylesheets/config.css new file mode 100644 index 0000000..558d4fa --- /dev/null +++ b/monitoring/nagios3/stylesheets/config.css @@ -0,0 +1,11 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.config { } + +.reportSelectSubTitle { font-size: 9pt; text-align: left; } +.reportSelectItem { font-size: 9pt; } diff --git a/monitoring/nagios3/stylesheets/extinfo.css b/monitoring/nagios3/stylesheets/extinfo.css new file mode 100644 index 0000000..4c81320 --- /dev/null +++ b/monitoring/nagios3/stylesheets/extinfo.css @@ -0,0 +1,84 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.extinfo { } + +.perfTypeTitle { font-size: 10pt; text-align: right; font-weight: bold; } + +.stateInfoPanel { font-size: 9pt; } +.stateStatisticsPanel { } +.stateInfoTable1 { background-color: #f4f2f2; border: 1px solid #d0d0d0; } +.stateInfoTable2 { background-color: #f4f2f2; border: 1px solid #d0d0d0; } + +.dataVar { font-size: 9pt; font-weight: bold; } +.dataVal { font-size: 9pt; } + +/* FIXME: override the defaults until php/html is fixed */ +/* .data { font-size: 10pt; font-weight: bold; } */ +div.data { font-size: 10pt; font-weight: normal; } +.dataTitle { font-size: 10pt; font-weight: bold; padding-bottom: 5; } + +.commandTitle { font-size: 10pt; text-align: center; font-weight: bold; padding-bottom: 5; } +TABLE.command { background-color: #f4f2f2; border: 1px solid #d0d0d0; } +.command { font-size: 9pt; } +.commandPanel { } +.commentPanel { } + +.commentTitle { font-size: 10pt; text-align: center; font-weight: bold; } +DIV.commentNav { font-size: 10pt; text-align: center; } +A.commentNav { font-size: 10pt; } + +TABLE.comment { font-size: 10pt; background-color: white; padding: 2; } +TH.comment { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +.commentOdd { font-size: 9pt; background-color: #e7e7e7; } +.commentEven { font-size: 9pt; background-color: #f4f2f2; } +DIV.comment,A.comment { font-size: 10pt; background-color: white; text-align: center; } + +.downtimeTitle { font-size: 12pt; text-align: center; font-weight: bold; } +DIV.downtimeNav { font-size: 10pt; text-align: center; } +A.downtimeNav { font-size: 10pt; } + +TABLE.downtime { font-size: 10pt; background-color: white; padding: 2; } +TH.downtime { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +.downtimeOdd { font-size: 9pt; background-color: #e7e7e7; } +.downtimeEven { font-size: 9pt; background-color: #f4f2f2; } + +.notflapping { background-color: #88d066; border: 1px solid #777777; font-weight: bold; float: left; } +.flapping { background-color: #f88888; border: 1px solid #777777; font-weight: bold; float: left; } +.notificationsENABLED { background-color: #88d066; border: 1px solid #777777; font-weight: bold; } +.notificationsDISABLED { background-color: #f88888; border: 1px solid #777777; font-weight: bold; } +.checksENABLED { background-color: #88d066; border: 1px solid #777777; font-weight: bold; } +.checksDISABLED { background-color: #f88888; border: 1px solid #777777; font-weight: bold; } +.eventhandlersENABLED { background-color: #88d066; border: 1px solid #777777; font-weight: bold; } +.eventhandlersDISABLED { background-color: #f88888; border: 1px solid #777777; font-weight: bold; } +.flapdetectionENABLED { background-color: #88d066; border: 1px solid #777777; font-weight: bold; } +.flapdetectionDISABLED { background-color: #f88888; border: 1px solid #777777; font-weight: bold; } +.downtimeACTIVE { background-color: #f88888; border: 1px solid #777777; font-weight: bold; float: left; } +.downtimeINACTIVE { background-color: #88d066; border: 1px solid #777777; font-weight: bold; float: left; } +.processOK { background-color: #88d066; border: 1px solid #777777; font-weight: bold; } +.processUNKNOWN { background-color: #ffbb55; border: 1px solid #777777; font-weight: bold; } +.processWARNING { background-color: #ffff00; border: 1px solid #777777; font-weight: bold; } +.processCRITICAL { background-color: #f88888; border: 1px solid #777777; font-weight: bold; } +.modeACTIVE { background-color: #88d066; border: 1px solid #777777; font-weight: bold; } +.modeSTANDBY { background-color: #ffff00; border: 1px solid #777777; font-weight: bold; } + +.hostUP { background-color: #88d066; border: 1px solid #777777; font-weight: bold; float: left; } +.hostDOWN { background-color: #f88888; border: 1px solid #777777; font-weight: bold; float: left; } +.hostUNREACHABLE { background-color: #f88888; border: 1px solid #777777; font-weight: bold; float: left; } + +.serviceOK { background-color: #88d066; border: 1px solid #777777; font-weight: bold; float: left; } +.serviceWARNING { background-color: #ffff00; border: 1px solid #777777; font-weight: bold; float: left; } +.serviceUNKNOWN { background-color: #ffbb55; border: 1px solid #777777; font-weight: bold; float: left; } +.serviceCRITICAL { background-color: #f88888; border: 1px solid #777777; font-weight: bold; float: left; } + +.queueTitle { font-size: 12pt; text-align: center; font-weight: bold; } +TABLE.queue { font-size: 9pt; padding: 0; } +TH.queue { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +.queueOdd { font-size: 9pt; background-color: #e7e7e7; padding: 0 4 0 4; } +.queueEven { font-size: 9pt; background-color: #f4f2f2; padding: 0 4 0 4; } +.queueENABLED { font-size: 9pt; background-color: #88d066; border: 1px solid #777777; padding: 0 4 0 4; } +.queueDISABLED { font-size: 9pt; background-color: #f88888; border: 1px solid #777777; padding: 0 4 0 4; } diff --git a/monitoring/nagios3/stylesheets/histogram.css b/monitoring/nagios3/stylesheets/histogram.css new file mode 100644 index 0000000..9b147f6 --- /dev/null +++ b/monitoring/nagios3/stylesheets/histogram.css @@ -0,0 +1,10 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.histogram { } + +.helpfulHints { font-size: 10pt; font-style: italic; text-align: center; } diff --git a/monitoring/nagios3/stylesheets/history.css b/monitoring/nagios3/stylesheets/history.css new file mode 100644 index 0000000..ed8dba3 --- /dev/null +++ b/monitoring/nagios3/stylesheets/history.css @@ -0,0 +1,8 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.history { } diff --git a/monitoring/nagios3/stylesheets/ministatus.css b/monitoring/nagios3/stylesheets/ministatus.css new file mode 100644 index 0000000..040c8ac --- /dev/null +++ b/monitoring/nagios3/stylesheets/ministatus.css @@ -0,0 +1,64 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.status { } + +TABLE.status { font-size: 9pt; padding: 2; } +TH.status { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +DIV.status { font-size: 10pt; text-align: center; } +.statusOdd { font-size: 9pt; background-color: #e7e7e7; } +.statusEven { font-size: 9pt; background-color: #f4f2f2; } + +.statusPENDING { font-size: 9pt; background-color: #acacac; } +.statusOK { font-size: 9pt; background-color: #88d066; } +.statusRECOVERY { font-size: 9pt; background-color: #88d066; } +.statusUNKNOWN { font-size: 9pt; background-color: #ffbb55; } +.statusWARNING { font-size: 9pt; background-color: #ffff00; } +.statusCRITICAL { font-size: 9pt; background-color: #f88888; } + +.statusHOSTPENDING { font-size: 9pt; background-color: #acacac; } +.statusHOSTUP { font-size: 9pt; background-color: #88d066; } +.statusHOSTDOWN { font-size: 9pt; background-color: #f88888; } +.statusHOSTUNREACHABLE { font-size: 9pt; background-color: #ffbb55; } + +.statusBGUNKNOWN { font-size: 9pt; background-color: #ffddaa; } +.statusBGWARNING { font-size: 9pt; background-color: #feffc1; } +.statusBGCRITICAL { font-size: 9pt; background-color: #ffdddd; } +.statusBGDOWN { font-size: 9pt; background-color: #ffdddd; } +.statusBGUNREACHABLE { font-size: 9pt; background-color: #ffbb55; } + +DIV.serviceTotals { font-size: 10pt; text-align: center; font-weight: bold; } +TABLE.serviceTotals { font-size: 10pt; font-weight: bold; } +TH.serviceTotals,A.serviceTotals { font-size: 9pt; } +TD.serviceTotals { font-size: 9pt; text-align: center; background-color: #e0e0e0; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsOK { font-size: 9pt; text-align: center; background-color: #88d066; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsWARNING { font-size: 9pt; text-align: center; background-color: #ffff00; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsUNKNOWN { font-size: 9pt; text-align: center; background-color: #ffbb55; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsCRITICAL { font-size: 9pt; text-align: center; background-color: #f88888; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsPENDING { font-size: 9pt; text-align: center; background-color: #acacac; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsPROBLEMS { font-size: 9pt; text-align: center; background-color: #aaccff; border: 1px solid #777777; padding: 2 4 2 4; } + + +DIV.hostTotals { font-size: 10pt; text-align: center; font-weight: bold; } +TABLE.hostTotals { font-size: 10pt; font-weight: bold; } +TH.hostTotals,A.hostTotals { font-size: 9pt; } +TD.hostTotals { font-size: 9pt; text-align: center; background-color: #e4e4e4; } +.hostTotalsUP { font-size: 9pt; text-align: center; background-color: #88d066; } +.hostTotalsDOWN { font-size: 9pt; text-align: center; background-color: #f88888; } +.hostTotalsUNREACHABLE { font-size: 9pt; text-align: center; background-color: #ffbb55; } +.hostTotalsPENDING { font-size: 9pt; text-align: center; background-color: #acacac; } +.hostTotalsPROBLEMS { font-size: 9pt; text-align: center; background-color: #aaccff; } + +.miniStatusPENDING { font-size: 9pt; background-color: #acacac; text-align: center; } +.miniStatusOK { font-size: 9pt; background-color: #66ffee; text-align: center; } +.miniStatusUNKNOWN { font-size: 9pt; background-color: #ffbb55; text-align: center; } +.miniStatusWARNING { font-size: 9pt; background-color: #ffff00; text-align: center; } +.miniStatusCRITICAL { font-size: 9pt; background-color: #f88888; text-align: center; } + +.miniStatusUP { font-size: 9pt; background-color: #66ffee; text-align: center; } +.miniStatusDOWN { font-size: 9pt; background-color: #f88888; text-align: center; } +.miniStatusUNREACHABLE { font-size: 9pt; background-color: #ffbb55; text-align: center; } diff --git a/monitoring/nagios3/stylesheets/notifications.css b/monitoring/nagios3/stylesheets/notifications.css new file mode 100644 index 0000000..1138025 --- /dev/null +++ b/monitoring/nagios3/stylesheets/notifications.css @@ -0,0 +1,29 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.notifications { } + +TABLE.notifications { padding: 0; margin: 0; } +TH.notifications { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +.notificationsOdd { font-size: 8pt; background-color: #e7e7e7; padding: 0 4 0 4; } +.notificationsEven { font-size: 8pt; background-color: #f4f2f2; padding: 0 4 0 4; } + +/* these are dark colors */ +.notificationsOK { background-color: #88d066; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsUNKNOWN { background-color: #ffbb55; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsWARNING { background-color: #ffff00; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsCRITICAL { background-color: #f88888; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsACKNOWLEDGEMENT { background-color: #aaaaaa; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsCUSTOM { background-color: #778899; border: 1px solid #777777; padding: 0 4 0 4; } + +/* these are dark colors */ +.notificationsHOSTUP { background-color: #88d066; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsHOSTDOWN { background-color: #f88888; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsHOSTUNREACHABLE { background-color: #ffbb55; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsHOSTACKNOWLEDGEMENT { background-color: #aaaaaa; border: 1px solid #777777; padding: 0 4 0 4; } +.notificationsHOSTCUSTOM { background-color: #778899; border: 1px solid #777777; padding: 0 4 0 4; } + diff --git a/monitoring/nagios3/stylesheets/outages.css b/monitoring/nagios3/stylesheets/outages.css new file mode 100644 index 0000000..10db27d --- /dev/null +++ b/monitoring/nagios3/stylesheets/outages.css @@ -0,0 +1,15 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.outages { } + +.itemTotalsTitle { font-size: 8pt; text-align: center; } + +.hostUP { background-color: #88d066; font-weight: bold; } +.hostDOWN { background-color: #f88888; font-weight: bold; } +.hostUNREACHABLE { background-color: #ffbb55; font-weight: bold; } + diff --git a/monitoring/nagios3/stylesheets/showlog.css b/monitoring/nagios3/stylesheets/showlog.css new file mode 100644 index 0000000..ccbd242 --- /dev/null +++ b/monitoring/nagios3/stylesheets/showlog.css @@ -0,0 +1,8 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.showlog { } diff --git a/monitoring/nagios3/stylesheets/status.css b/monitoring/nagios3/stylesheets/status.css new file mode 100644 index 0000000..51f1e48 --- /dev/null +++ b/monitoring/nagios3/stylesheets/status.css @@ -0,0 +1,88 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.status { } + +.itemTotalsTitle { font-size: 8pt; font-style: italic; clear:both;} + +table.status { font-size: 9pt; padding: 0 0 10 0; } +th.status { font-size: 9pt; text-align: left; padding: 0 3px 0 3px; border-bottom: 1px solid #777777; color: #333333; } +div.status { font-size: 10pt; text-align: center; } +.statusOdd { font-size: 8pt; background-color: #e7e7e7; line-height: 150%; padding: 0 4 0 4; } +.statusEven { font-size: 8pt; background-color: #f4f2f2; line-height: 150%; padding: 0 4 0 4; } + +.statusPENDING { font-size: 8pt; background-color: #acacac; border: 1px solid #777777; padding: 0 5 0 5; } +.statusOK { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; padding: 0 5 0 5; } +.statusRECOVERY { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; padding: 0 5 0 5; } +.statusUNKNOWN { font-size: 8pt; background-color: #ffbb55; border: 1px solid #777777; padding: 0 5 0 5; } +.statusWARNING { font-size: 8pt; background-color: #ffff00; border: 1px solid #777777; padding: 0 5 0 5; } +.statusCRITICAL { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; padding: 0 5 0 5; } + +.statusHOSTPENDING { font-size: 8pt; background-color: #acacac; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTUP { font-size: 8pt; background-color: #cce8cc; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTDOWN { font-size: 8pt; background-color: #ffdddd; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTDOWNACK { font-size: 8pt; background-color: #ffdddd; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTDOWNSCHED { font-size: 8pt; background-color: #ffdddd; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTUNREACHABLE { font-size: 8pt; background-color: #ffddaa; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTUNREACHABLEACK { font-size: 8pt; background-color: #ffddaa; line-height: 150%; padding: 0 4 0 4; } +.statusHOSTUNREACHABLESCHED { font-size: 8pt; background-color: #ffddaa; line-height: 150%; padding: 0 4 0 4; } + +.statusBGUNKNOWN { font-size: 8pt; background-color: #ffddaa; } +.statusBGUNKNOWNACK { font-size: 8pt; background-color: #ffddaa; } +.statusBGUNKNOWNSCHED { font-size: 8pt; background-color: #ffddaa; } +.statusBGWARNING { font-size: 8pt; background-color: #feffc1; } +.statusBGWARNINGACK { font-size: 8pt; background-color: #feffc1; } +.statusBGWARNINGSCHED { font-size: 8pt; background-color: #feffc1; } +.statusBGCRITICAL { font-size: 8pt; background-color: #ffdddd; } +.statusBGCRITICALACK { font-size: 8pt; background-color: #ffdddd; } +.statusBGCRITICALSCHED { font-size: 8pt; background-color: #ffdddd; } +.statusBGDOWN { font-size: 8pt; background-color: #ffdddd; } +.statusBGDOWNACK { font-size: 8pt; background-color: #ffdddd; } +.statusBGDOWNSCHED { font-size: 8pt; background-color: #ffdddd; } +.statusBGUNREACHABLE { font-size: 8pt; background-color: #ffddaa; } +.statusBGUNREACHABLEACK { font-size: 8pt; background-color: #ffddaa; } +.statusBGUNREACHABLESCHED { font-size: 8pt; background-color: #ffddaa; } + +div.serviceTotals { font-size: 10pt; text-align: center; font-weight: bold; } +table.serviceTotals { font-size: 10pt; font-weight: bold; } +th.serviceTotals,a.serviceTotals { font-size: 8pt; } +td.serviceTotals { font-size: 8pt; text-align: center; background-color: #e0e0e0; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsOK { font-size: 8pt; text-align: center; background-color: #88d066; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsWARNING { font-size: 8pt; text-align: center; background-color: #ffff00; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsUNKNOWN { font-size: 8pt; text-align: center; background-color: #ffbb55; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsCRITICAL { font-size: 8pt; text-align: center; background-color: #f88888; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsPENDING { font-size: 8pt; text-align: center; background-color: #acacac; border: 1px solid #777777; padding: 2 4 2 4; } +.serviceTotalsPROBLEMS { font-size: 8pt; text-align: center; background-color: #aaccff; border: 1px solid #777777; padding: 2 4 2 4; } + +div.hostTotals { font-size: 10pt; text-align: center; font-weight: bold; } +table.hostTotals { font-size: 10pt; font-weight: bold; } +th.hostTotals,a.hostTotals { font-size: 8pt; } +td.hostTotals { font-size: 8pt; text-align: center; background-color: #e0e0e0; border: 1px solid #777777; padding: 2 4 2 4; } +.hostTotalsUP { font-size: 8pt; text-align: center; background-color: #88d066; border: 1px solid #777777; padding: 2 4 2 4; } +.hostTotalsDOWN { font-size: 8pt; text-align: center; background-color: #f88888; border: 1px solid #777777; padding: 2 4 2 4; } +.hostTotalsUNREACHABLE { font-size: 8pt; text-align: center; background-color: #ffbb55; border: 1px solid #777777; padding: 2 4 2 4; } +.hostTotalsPENDING { font-size: 8pt; text-align: center; background-color: #acacac; border: 1px solid #777777; padding: 2 4 2 4; } +.hostTotalsPROBLEMS { font-size: 8pt; text-align: center; background-color: #aaccff; border: 1px solid #777777; padding: 2 4 2 4; } + +.miniStatusPENDING { font-size: 8pt; text-align: center; background-color: #acacac; border: 1px solid #777777; padding: 0 5 0 5; } +.miniStatusOK { font-size: 8pt; text-align: center; background-color: #88d066; border: 1px solid #777777; padding: 0 5 0 5; } +.miniStatusUNKNOWN { font-size: 8pt; text-align: center; background-color: #ffbb55; border: 1px solid #777777; padding: 0 5 0 5; } +.miniStatusWARNING { font-size: 8pt; text-align: center; background-color: #ffff00; border: 1px solid #777777; padding: 0 5 0 5; } +.miniStatusCRITICAL { font-size: 8pt; text-align: center; background-color: #f88888; border: 1px solid #777777; padding: 0 5 0 5; } + +.miniStatusUP { font-size: 8pt; text-align: center; background-color: #88d066; border: 1px solid #777777; padding: 0 5 0 5; } +.miniStatusDOWN { font-size: 8pt; text-align: center; background-color: #f88888; border: 1px solid #777777; padding: 0 5 0 5; } +.miniStatusUNREACHABLE { font-size: 8pt; text-align: center; background-color: #ffbb55; border: 1px solid #777777; padding: 0 5 0 5; } + +/* page number styles, added 2/01/2012 -MG */ +#top_page_numbers { float:right;} +#result_limit { display:inline;} +.pagenumber { display: block; float:left; border: 1px solid #AAAAAA; padding: 0 2px 0 2px; margin: 1px;text-align:center; height:15px; } +a.pagenumber:hover { background-color: #EFEFEF;text-decoration:none;} +.current_page { color: #AAA; } +#inner_numbers { clear:right;} +#pagelimit,#bottom_page_numbers { font-size:8pt;} diff --git a/monitoring/nagios3/stylesheets/statusmap.css b/monitoring/nagios3/stylesheets/statusmap.css new file mode 100644 index 0000000..d41888f --- /dev/null +++ b/monitoring/nagios3/stylesheets/statusmap.css @@ -0,0 +1,14 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.statusmap { } + +.imageInfo { font-size: 8pt; font-weight: bold; text-align: center; } + +.zoomTitle { font-size: 8pt; font-weight: bold; } + +.popupText { font-size: 8pt; background-color: #eeeeaa; border: 1px solid #777777; padding: 0 5 0 5; } diff --git a/monitoring/nagios3/stylesheets/summary.css b/monitoring/nagios3/stylesheets/summary.css new file mode 100644 index 0000000..f6a9f32 --- /dev/null +++ b/monitoring/nagios3/stylesheets/summary.css @@ -0,0 +1,30 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.summary { } + +/* override to match filter table style */ +.optBoxItem { font-size: 8pt; font-weight: bold; } +.optBoxValue { font-size: 8pt; } + +/* override to match query info style */ +.dataSubTitle { font-size: 8pt; text-align: center; font-weight: normal; } + +/* override so we get a bit of whitespace */ +table.data { padding-top: 15; } + +.reportDataOdd { font-size: 9pt; background-color: #e7e7e7; padding: 0 4 0 4; } +.reportDataEven { font-size: 9pt; background-color: #f4f2f2; padding: 0 4 0 4; } + +.hostUP { font-size: 9pt; background-color: #88d066; border: 1px solid #777777; padding: 0 4 0 4; } +.hostDOWN { font-size: 9pt; background-color: #f88888; border: 1px solid #777777; padding: 0 4 0 4; } +.hostUNREACHABLE { font-size: 9pt; background-color: #ffbb55; border: 1px solid #777777; padding: 0 4 0 4; } + +.serviceOK { font-size: 9pt; background-color: #88d066; border: 1px solid #777777; padding: 0 4 0 4; } +.serviceWARNING { font-size: 9pt; background-color: #ffff00; border: 1px solid #777777; padding: 0 4 0 4; } +.serviceUNKNOWN { font-size: 9pt; background-color: #ffbb55; border: 1px solid #777777; padding: 0 4 0 4; } +.serviceCRITICAL { font-size: 9pt; background-color: #f88888; border: 1px solid #777777; padding: 0 4 0 4; } diff --git a/monitoring/nagios3/stylesheets/tac.css b/monitoring/nagios3/stylesheets/tac.css new file mode 100644 index 0000000..a5ed1e5 --- /dev/null +++ b/monitoring/nagios3/stylesheets/tac.css @@ -0,0 +1,75 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.tac { font-size: 10pt; } + +.title { font-weight: bold; } +.titleItem { font-size: 8pt; font-weight: bold; } + +td.perfTitle { font-size: 10pt; font-weight: bold; background-color: #d0d0d0; border: 1px solid #aaaaaa; } +.perfBox { background-color: #eeeeee; border: 1px solid #cccccc; } +.perfItem { font-size: 8pt; font-weight: bold; } +.perfValue { font-size: 8pt; } + +.healthTitle { font-weight: bold; font-size: 10pt; background-color: #d0d0d0; border: 1px solid #aaaaaa; } +.healthBox { } +.healthItem { font-size: 10pt; font-weight: bold; } +.healthBar { background-color: grey; padding: 2 4 2 4; } + +.outageTitle { font-weight: bold; background-color: #d0d0d0; border: 1px solid #aaaaaa; } +.outageHeader { font-weight: bold; border-bottom: 1px solid #aaaaaa; } + +.hostTitle { font-weight: bold; background-color: #d0d0d0; border: 1px solid #aaaaaa; } +td.hostHeader { font-weight: bold; border-bottom: 1px solid #aaaaaa; } + +.serviceTitle { font-weight: bold; background-color: #d0d0d0; border: 1px solid #aaaaaa; } +td.serviceHeader { font-weight: bold; border-bottom: 1px solid #aaaaaa; } + +.featureTitle { font-weight: bold; background-color: #d0d0d0; border: 1px solid #aaaaaa; } +td.featureHeader { font-weight: bold; border-bottom: 1px solid #aaaaaa; } + +.featureEnabled { text-align: center; background-color: #ccffcc; } +.featureDisabled { text-align: center; background-color: #ffcccc; } + +.featureEnabledFlapDetection { text-align: center; font-weight: bold; } +.featureDisabledFlapDetection { text-align: center; font-weight: bold; } +.featureItemEnabledServiceFlapDetection { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledServiceFlapDetection { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemEnabledHostFlapDetection { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledHostFlapDetection { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemServicesNotFlapping { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemServicesFlapping { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemHostsNotFlapping { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemHostsFlapping { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } + +.featureEnabledNotifications { text-align: center; font-weight: bold; } +.featureDisabledNotifications { text-align: center; font-weight: bold; } +.featureItemEnabledServiceNotifications { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledServiceNotifications { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemEnabledHostNotifications { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledHostNotifications { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } + +.featureEnabledHandlers { text-align: center; font-weight: bold; } +.featureDisabledHandlers { text-align: center; font-weight: bold; } +.featureItemEnabledServiceHandlers { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledServiceHandlers { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemEnabledHostHandlers { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledHostHandlers { font-size: 8pt; background-color: #f88888; } + +.featureEnabledActiveChecks { text-align: center; font-weight: bold; } +.featureDisabledActiveChecks { text-align: center; font-weight: bold; } +.featureItemEnabledActiveServiceChecks { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledActiveServiceChecks { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemEnabledActiveHostChecks { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledActiveHostChecks { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } + +.featureEnabledPassiveChecks { text-align: center; font-weight: bold; } +.featureDisabledPassiveChecks { text-align: center; font-weight: bold; } +.featureItemEnabledPassiveServiceChecks { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledPassiveServiceChecks { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } +.featureItemEnabledPassiveHostChecks { font-size: 8pt; background-color: #88d066; border: 1px solid #777777; } +.featureItemDisabledPassiveHostChecks { font-size: 8pt; background-color: #f88888; border: 1px solid #777777; } diff --git a/monitoring/nagios3/stylesheets/trends.css b/monitoring/nagios3/stylesheets/trends.css new file mode 100644 index 0000000..6ca9d8b --- /dev/null +++ b/monitoring/nagios3/stylesheets/trends.css @@ -0,0 +1,8 @@ +/* exfoliation: a nagios makeover */ +/* Copyright 2010 Matthew Wall, all rights reserved */ +/* */ +/* Permission to use, copy, modify, and distribute this software for any */ +/* purpose with or without fee is hereby granted, provided that the above */ +/* copyright notice and this permission notice appear in all copies. */ + +.trends { }