From ed68e7e8be7d9e9aedf7f7cb05bdc1746d6057a4 Mon Sep 17 00:00:00 2001 From: Vladimir Vitkov Date: Wed, 20 Sep 2017 17:26:27 +0300 Subject: [PATCH] Nagios: initial configs --- monitoring/nagios3/cgi.cfg | 377 +++++ monitoring/nagios3/commands.cfg | 128 ++ .../nagios3/commands/check-interface-up.sh | 61 + .../nagios3/commands/check_uptime_snmp.pl | 722 +++++++++ monitoring/nagios3/conf.d/99-ap-services.cfg | 22 + .../nagios3/conf.d/99-cisco-services.cfg | 60 + .../nagios3/conf.d/99-laptop-services.cfg | 7 + .../nagios3/conf.d/99-video-services.cfg | 7 + .../nagios3/conf.d/contacts_nagios2.cfg | 91 ++ monitoring/nagios3/conf.d/extinfo_nagios2.cfg | 94 ++ .../nagios3/conf.d/generic-host_nagios2.cfg | 38 + .../conf.d/generic-service_nagios2.cfg | 52 + .../nagios3/conf.d/hostgroups_nagios2.cfg | 92 ++ .../nagios3/conf.d/services_nagios2.cfg | 17 + .../nagios3/conf.d/timeperiods_nagios2.cfg | 50 + .../logos/custom/networking/openwrt.gd2 | Bin 0 -> 6423 bytes .../logos/custom/networking/openwrt.gif | Bin 0 -> 1421 bytes .../logos/custom/networking/openwrt.jpg | Bin 0 -> 852 bytes .../logos/custom/networking/openwrt.png | Bin 0 -> 3272 bytes .../logos/custom/raspberry/raspberry-pi.gd2 | Bin 0 -> 6423 bytes .../logos/custom/raspberry/raspberry-pi.gif | Bin 0 -> 1727 bytes .../logos/custom/raspberry/raspberry-pi.png | Bin 0 -> 3006 bytes .../logos/custom/raspberry/raspbian.gd2 | Bin 0 -> 5143 bytes .../logos/custom/raspberry/raspbian.gif | Bin 0 -> 1486 bytes .../logos/custom/raspberry/raspbian.png | Bin 0 -> 2646 bytes .../nagios3/logos/custom/ubuntu/ubuntu.gd2 | Bin 0 -> 6423 bytes .../nagios3/logos/custom/ubuntu/ubuntu.gif | Bin 0 -> 1421 bytes .../nagios3/logos/custom/ubuntu/ubuntu.jpg | Bin 0 -> 2136 bytes .../nagios3/logos/custom/ubuntu/ubuntu.png | Bin 0 -> 1574 bytes .../logos/custom/video/atem-switch.gd2 | Bin 0 -> 6423 bytes .../logos/custom/video/atem-switch.png | Bin 0 -> 2173 bytes .../logos/custom/video/control-laptop.gd2 | Bin 0 -> 2649 bytes .../logos/custom/video/control-laptop.png | Bin 0 -> 370 bytes .../logos/custom/video/teradek-vidiu.gd2 | Bin 0 -> 6423 bytes .../logos/custom/video/teradek-vidiu.png | Bin 0 -> 1284 bytes monitoring/nagios3/nagios.cfg | 1357 +++++++++++++++++ monitoring/nagios3/objects/hosts/encoder.cfg | 14 + monitoring/nagios3/objects/hosts/eric.cfg | 196 +++ .../nagios3/objects/hosts/streamers.cfg | 75 + .../objects/overflow/01-overflow-tv.cfg | 8 + .../nagios3/objects/reception/01-laptop.cfg | 9 + .../nagios3/objects/services/telnet.cfg | 6 + .../nagios3/objects/switch/01-core-coresw.cfg | 22 + .../objects/switch/02-core-mr-vocsw.cfg | 86 ++ .../objects/switch/03-core-sr-vocsw.cfg | 86 ++ .../objects/switch/04-core-receptionsw.cfg | 86 ++ .../nagios3/objects/switch/05-core-wssw-1.cfg | 8 + .../nagios3/objects/switch/06-core-wssw-2.cfg | 8 + .../nagios3/objects/switch/09-core-nocsw.cfg | 218 +++ .../video/control-laptops/01-main-room.cfg | 17 + .../video/control-laptops/02-second-room.cfg | 17 + .../video/intercom/01-intercom-main-room.cfg | 26 + .../intercom/02-intercom-second-room.cfg | 26 + .../objects/video/teradek/01-main-room.cfg | 8 + .../objects/video/teradek/02-second-room.cfg | 8 + .../video/video-mixers/01-main-room.cfg | 8 + .../video/video-mixers/02-second-room.cfg | 8 + monitoring/nagios3/objects/wifi/ap-cf-ch.cfg | 8 + monitoring/nagios3/objects/wifi/ap-cf-f-l.cfg | 8 + monitoring/nagios3/objects/wifi/ap-cf-f-r.cfg | 8 + .../nagios3/objects/wifi/ap-cf-mr-1.cfg | 8 + .../nagios3/objects/wifi/ap-cf-mr-2.cfg | 8 + .../nagios3/objects/wifi/ap-cf-mr-3.cfg | 8 + .../nagios3/objects/wifi/ap-cf-mr-4.cfg | 8 + monitoring/nagios3/objects/wifi/ap-cf-qws.cfg | 8 + .../nagios3/objects/wifi/ap-cf-sr-1.cgf | 8 + .../nagios3/objects/wifi/ap-cf-sr-2.cgf | 8 + monitoring/nagios3/objects/wifi/ap-ws-noc.cfg | 8 + monitoring/nagios3/objects/wifi/ap-ws-ws1.cfg | 8 + monitoring/nagios3/objects/wifi/ap-ws-ws2.cfg | 8 + monitoring/nagios3/resource.cfg | 33 + monitoring/nagios3/stylesheets/avail.css | 35 + .../nagios3/stylesheets/checksanity.css | 27 + monitoring/nagios3/stylesheets/cmd.css | 14 + monitoring/nagios3/stylesheets/common.css | 370 +++++ monitoring/nagios3/stylesheets/config.css | 11 + monitoring/nagios3/stylesheets/extinfo.css | 84 + monitoring/nagios3/stylesheets/histogram.css | 10 + monitoring/nagios3/stylesheets/history.css | 8 + monitoring/nagios3/stylesheets/ministatus.css | 64 + .../nagios3/stylesheets/notifications.css | 29 + monitoring/nagios3/stylesheets/outages.css | 15 + monitoring/nagios3/stylesheets/showlog.css | 8 + monitoring/nagios3/stylesheets/status.css | 88 ++ monitoring/nagios3/stylesheets/statusmap.css | 14 + monitoring/nagios3/stylesheets/summary.css | 30 + monitoring/nagios3/stylesheets/tac.css | 75 + monitoring/nagios3/stylesheets/trends.css | 8 + 88 files changed, 5142 insertions(+) create mode 100644 monitoring/nagios3/cgi.cfg create mode 100644 monitoring/nagios3/commands.cfg create mode 100755 monitoring/nagios3/commands/check-interface-up.sh create mode 100755 monitoring/nagios3/commands/check_uptime_snmp.pl create mode 100644 monitoring/nagios3/conf.d/99-ap-services.cfg create mode 100644 monitoring/nagios3/conf.d/99-cisco-services.cfg create mode 100644 monitoring/nagios3/conf.d/99-laptop-services.cfg create mode 100644 monitoring/nagios3/conf.d/99-video-services.cfg create mode 100644 monitoring/nagios3/conf.d/contacts_nagios2.cfg create mode 100644 monitoring/nagios3/conf.d/extinfo_nagios2.cfg create mode 100644 monitoring/nagios3/conf.d/generic-host_nagios2.cfg create mode 100644 monitoring/nagios3/conf.d/generic-service_nagios2.cfg create mode 100644 monitoring/nagios3/conf.d/hostgroups_nagios2.cfg create mode 100644 monitoring/nagios3/conf.d/services_nagios2.cfg create mode 100644 monitoring/nagios3/conf.d/timeperiods_nagios2.cfg create mode 100644 monitoring/nagios3/logos/custom/networking/openwrt.gd2 create mode 100644 monitoring/nagios3/logos/custom/networking/openwrt.gif create mode 100644 monitoring/nagios3/logos/custom/networking/openwrt.jpg create mode 100644 monitoring/nagios3/logos/custom/networking/openwrt.png create mode 100644 monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gd2 create mode 100644 monitoring/nagios3/logos/custom/raspberry/raspberry-pi.gif create mode 100644 monitoring/nagios3/logos/custom/raspberry/raspberry-pi.png create mode 100644 monitoring/nagios3/logos/custom/raspberry/raspbian.gd2 create mode 100644 monitoring/nagios3/logos/custom/raspberry/raspbian.gif create mode 100644 monitoring/nagios3/logos/custom/raspberry/raspbian.png create mode 100644 monitoring/nagios3/logos/custom/ubuntu/ubuntu.gd2 create mode 100644 monitoring/nagios3/logos/custom/ubuntu/ubuntu.gif create mode 100644 monitoring/nagios3/logos/custom/ubuntu/ubuntu.jpg create mode 100644 monitoring/nagios3/logos/custom/ubuntu/ubuntu.png create mode 100644 monitoring/nagios3/logos/custom/video/atem-switch.gd2 create mode 100644 monitoring/nagios3/logos/custom/video/atem-switch.png create mode 100644 monitoring/nagios3/logos/custom/video/control-laptop.gd2 create mode 100644 monitoring/nagios3/logos/custom/video/control-laptop.png create mode 100644 monitoring/nagios3/logos/custom/video/teradek-vidiu.gd2 create mode 100644 monitoring/nagios3/logos/custom/video/teradek-vidiu.png create mode 100644 monitoring/nagios3/nagios.cfg create mode 100644 monitoring/nagios3/objects/hosts/encoder.cfg create mode 100644 monitoring/nagios3/objects/hosts/eric.cfg create mode 100644 monitoring/nagios3/objects/hosts/streamers.cfg create mode 100644 monitoring/nagios3/objects/overflow/01-overflow-tv.cfg create mode 100644 monitoring/nagios3/objects/reception/01-laptop.cfg create mode 100644 monitoring/nagios3/objects/services/telnet.cfg create mode 100644 monitoring/nagios3/objects/switch/01-core-coresw.cfg create mode 100644 monitoring/nagios3/objects/switch/02-core-mr-vocsw.cfg create mode 100644 monitoring/nagios3/objects/switch/03-core-sr-vocsw.cfg create mode 100644 monitoring/nagios3/objects/switch/04-core-receptionsw.cfg create mode 100644 monitoring/nagios3/objects/switch/05-core-wssw-1.cfg create mode 100644 monitoring/nagios3/objects/switch/06-core-wssw-2.cfg create mode 100644 monitoring/nagios3/objects/switch/09-core-nocsw.cfg create mode 100644 monitoring/nagios3/objects/video/control-laptops/01-main-room.cfg create mode 100644 monitoring/nagios3/objects/video/control-laptops/02-second-room.cfg create mode 100644 monitoring/nagios3/objects/video/intercom/01-intercom-main-room.cfg create mode 100644 monitoring/nagios3/objects/video/intercom/02-intercom-second-room.cfg create mode 100644 monitoring/nagios3/objects/video/teradek/01-main-room.cfg create mode 100644 monitoring/nagios3/objects/video/teradek/02-second-room.cfg create mode 100644 monitoring/nagios3/objects/video/video-mixers/01-main-room.cfg create mode 100644 monitoring/nagios3/objects/video/video-mixers/02-second-room.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-ch.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-f-l.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-f-r.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-mr-1.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-mr-2.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-mr-3.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-mr-4.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-qws.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-sr-1.cgf create mode 100644 monitoring/nagios3/objects/wifi/ap-cf-sr-2.cgf create mode 100644 monitoring/nagios3/objects/wifi/ap-ws-noc.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-ws-ws1.cfg create mode 100644 monitoring/nagios3/objects/wifi/ap-ws-ws2.cfg create mode 100644 monitoring/nagios3/resource.cfg create mode 100644 monitoring/nagios3/stylesheets/avail.css create mode 100644 monitoring/nagios3/stylesheets/checksanity.css create mode 100644 monitoring/nagios3/stylesheets/cmd.css create mode 100644 monitoring/nagios3/stylesheets/common.css create mode 100644 monitoring/nagios3/stylesheets/config.css create mode 100644 monitoring/nagios3/stylesheets/extinfo.css create mode 100644 monitoring/nagios3/stylesheets/histogram.css create mode 100644 monitoring/nagios3/stylesheets/history.css create mode 100644 monitoring/nagios3/stylesheets/ministatus.css create mode 100644 monitoring/nagios3/stylesheets/notifications.css create mode 100644 monitoring/nagios3/stylesheets/outages.css create mode 100644 monitoring/nagios3/stylesheets/showlog.css create mode 100644 monitoring/nagios3/stylesheets/status.css create mode 100644 monitoring/nagios3/stylesheets/statusmap.css create mode 100644 monitoring/nagios3/stylesheets/summary.css create mode 100644 monitoring/nagios3/stylesheets/tac.css create mode 100644 monitoring/nagios3/stylesheets/trends.css 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 0000000000000000000000000000000000000000..4ea674113ddc7b81f449b028d3707719a85bf5f1 GIT binary patch literal 6423 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 literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.gif b/monitoring/nagios3/logos/custom/networking/openwrt.gif new file mode 100644 index 0000000000000000000000000000000000000000..7787747d6b518fe4c0414c0edabd757896e3191c GIT binary patch literal 1421 zcma)({W}u~0Dy;C2w6TR&0UVl(<2deY{blL)@;La#yHb_%x3l(^D)~jUuiKMF~yp= z=y_K1q~l^szETL~YF#^(K2VgSuJYW+UvTda?@#YvENm(tmwp15kxQcUC=6ayRzWN)=NMa*$jeJlPdm=Y%wRH8*eoWW zm7K{iTDBmKabDN7IO0Qb47)GNdX~COcI==2#b$p zm&W9j#phK}MHK>(R9GlYDy(Eliju`=cv4BeOjb}P%RVK~uPCP#Dd;7&8KrfZr_OTA z>o{_ypz3_KqB*x#C8}>NDJc<`7nPru%c~SsHMMmON~N+%($IFY=~8*i(f9~kKe6{OZPtWz<-rjz#c5rZTWcVLO?u?I5PEJfuPtQGksMkL>Jbh{~JbgAl zzqGWp_Tj_Fjg2o~z5xCoE}ww^g&zO<-zR`Ao8mZWkram~6N3n`;bJNS$siRe;atOX}F!Rq@n7+>^0z;qN7$uDz z0OMQB9PfA0WxSZ23VqUj$4J6O!AFeiJB7_kkKUa2)l z^1ZYsd--A=VBet8Ek`cj+Z1Y#2{r<`Yd9!le-9TVGyxiX66#edDRxSsh(nw*)EtRr zX3gd*$jYn_G33NnuhQ%oN)8Ib?U6`8ejja0?5zfNl~|@Lugu#d4IqYg#)N{0?OEb0 z!A_i>RZ}QO=CT0Uer*K=vDUM1nPk;_>m0MZDvQsuKUOY4k_R>4S!T#w#1O8U3fRdd zAwr->aAKoI;LM!Xj-hdJ1*G>GsewqW(8!8j>IH(BSWXSu8|7<@E!{h(LO>1y^bio< zL#s6pOd8MvqQ-)yTX)y57@I;V#1LaUi~(V>C!kqk3JFcpnt}CRZ!H}31Il0CIt1Ug z`?lEzX&Kr{l-hlIu%ffTBoR%(hh{W7%RTiP_arRh#ekzHNDFwmCqYbP-2PNXs6&~{f&I2~pPHs`emUT^RLqi1Kr z-jvE7S*Nb9>8FY4yTl_ahBZobcRedT`hV7!qUsRVF3aSMH5(Bb%SWla6%9$jf68#S6 z1<9?ZWwtj*7x3|(oEK-FMdZ$aqjmg6MBz7|Uv=>0e$N^2oIfwA7w>)lvMOO&xO`(# Wl(W!l`>y+)_WJ4G_k=CR0Qlb`xoS}W literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.jpg b/monitoring/nagios3/logos/custom/networking/openwrt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3a7f814313fd8cbfa81cda054a21d568bc97881 GIT binary patch literal 852 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4!eqnNf*>Nsy6Qkn#T!25ANcMpmF>kpL4jD;ql_3sBNPfPsmTg@J{YiG>}afRTwA z$Q5K0QZ!^27EuZ`aujWBI_MOXn3Phu5vW6wk%1ZHcO<~X%)-hBl#&xFz3!jZ+M*X?VzvT~rHVJ+3fkSjwbLw0 zK0rs^SaL?Oj(E7?g2Yb_)`>r*KE=fzH}d-ABd4Z(<=kQ~hqog2w)Iu-y==|~3QpkJ zc1in7VshTv{m-7g4BS5ZYtZ~p$M!2;TcV%GZftvR^4(YO9Bq|D<&M~2Tk!0}%@@{j z2O>kxJwF@2%76L$f2&qBOVlr|5C6Mpr(&ogH*e!9w%_xfbtUrJ*_k}p6W(qV@kDRU z!L0|MC!S1nvt2%0bK=ywYt|+2c%rq)@M(2-)4a$4zVBf+->eVR#LFZbmYW;jxp~vQ z;(A=)r+3*2$8M=@{d_yM^Rv%wgSQSG{K=8*Yvd0X%AK$CcHHGtymj3y){L%R?Nd&z z^0%5cT<3jX7-bcFK6X`J@Wt#i{ttye92Y#;e7?u`HFN!&tF0xMT$t0&r*+w_5JF7zGzMm2pvV2~qh{~kR8Y&I`$*$Rl zJ0C^m9G!1IbNSkgl5@`&PD=jua?=CZ)_^+y9T#0A8YVrN`)2Z|>PzLWA`F49B8>lU F0s!J5CrAJQ literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/networking/openwrt.png b/monitoring/nagios3/logos/custom/networking/openwrt.png new file mode 100644 index 0000000000000000000000000000000000000000..f9039a783fff86c1c56c47d014f262f6a3c8fb04 GIT binary patch literal 3272 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 LVKvVQFxdD%2T?w@ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..764a1c1f6d5a3a2c6d1e74d769c4ad6dad227f8c GIT binary patch literal 3006 zcmV;v3qkaWP)JE(dl|R-FI<3rk5v zK~z}7y_jo|T*Yah$Rp zl2Df8fP*VBNhk{2AytOBY>UK78M}xvj{u1TB8XUJfrKQG*q5Z;)$YzdX6HR~U)}jI zvs)l`mldkYsk&eKp40vBKIi<;=@u+55(ooV0XG1@jbIfJM>7Jv4V(ae0*nIcBKwwx z-K_|&K(i4+1x*cj5qJVP2}}XH@hw}Lfd_?TP?|!AlctWfSi0lNxL$Q_QYTl~I?)l* zR#a*s$N>)n$%d^Bd{zifNK5E&%G9mvBD!TwM0a1C)XA=pjx?Ft3`;EpS_t+5H!TK4 zEOK&Rk*0X4Z9|lv52xtb7RQQ75}h^xZYcl(GXoXg_~|5tahLLx`@E3iQ(EcU4NE-H zx;{$Jb#>e3-Y~)t_*F$XX>jgvo^ZaZLiR zq6l0C0t`#mwX{Z>0>7%so~!cg-T?wve^Z*`j6hh zF%9sISc|pkL!WO)8W6au9$XqqnYwK$!DBC{KGMz+FK3QUEGo#ILE}DNeYF=H3X2&QN_+*IgR#uxP&`#^`HB z`d-MAd9yyhS5b@|E8RqY2TN*4WErDAIIKDr_*;jG^_X961MaB#Bj}+&C zuV&BH+++JQWKNYq3Zx)5U z0MHNY24)th;mZdoV6}$FS6i`N_jYV!ceD+Gz#-uC!!NTZ*2x#s8?c0Y&!hpG?@XU& z+^=$9`!-_IL<7&4#@IXYI*tlnZGe?mhy zdCt3~C3kKL$uosf9?AAmQ2_$M?TK!_l-__ud<3`yX#HSG0%_pht>LCMceiau3c;vf zVeiCi94cop5cIhP2HYYmtr%$|ghHdxWP%#s&-SrDca}hFUaQXFqS$OVVF}4Kkrp1y z4dQ5(1RiO0Li!zrVqVN80NN6^^n~Ix8zBysC;0Z{N&1`uJEN`ainL(~!J%@7JBAMt z76#2m2v;kzfy?!=cK){GLs-J#l}d)kbLSYU75S@ol*hlRTR3CoWCyY2V82$yFE#G+;@=53>V&D{}&c#uAd>Z(hf}9b0i!fCi${ z1(#svNFN5|#$v?AXR1x9utsQF2GNiLfrOy&1>1)wpm;qNz-PA*<`0^H^c8) zcuo?AIX~fIoKaCeH^;k(N|V*0IG;=P@|SH_0c_Rqr^^NSCmm*lJJahaDi4LG-3*g5 zLIheb8pvlGlr!#E$ptQQf$&ynI;=2KK%fQ zX22=TpRrs5k6fUg9y;R`Fod9{0)`r{J5Uv)9v?-s5u&I(9+*DGi=_zwj#Q?RLLh+GYgrnNL-t}k3la6t zhrRMW2TK!dwwpLm8lTU?$7TmPT%KfYD1ndWjFU$qc&KY9>+J+#Vc=`Us8?ZMZjisu z9OGZI{Y0ceMfsd{OVo7z;`Vs{9Cx*D;(yAMoT=p<;JM`zb*F&0dP1@09g$X^ER50< ziZS6;DK_H95Q0E!(ng4VtA3L;p*Y4xQ=Rup{KM2K4mM5e$9-QmYX{@K!B{-^k{@?OXUrtPRGK*Fg0le)NXp$j57VX3q#=A5%(C-!jMtGkmwuQt84$lS- zFO|j-hI^?GoabM2LreuV09II0wnmyUg(R`?8yEKPUiP)KQFD70`i~ozoZh+d&!u|!a?3{6gc1br z$Wa4s+33T*D6F7U1T_JM#qa-@pqJ@v1^+FK3Pa1BeR%HcjB&>;M1&07*qoM6N<$f{H+s A8~^|S literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/raspberry/raspbian.gd2 b/monitoring/nagios3/logos/custom/raspberry/raspbian.gd2 new file mode 100644 index 0000000000000000000000000000000000000000..74b6f86be6628de653d16057cffcd1ddd5221db9 GIT binary patch literal 5143 zcmcgw`%l}~6+bq9V;mb}^JpL#V=&AR#Q>AUHG`0I>t-oK#1d>$RR%!hgw)46EUTQpGpsu^p z;rib1x#x4vx#ygFFXzwgBGOYa1?el4K|0du{>3dyM4O^S>9FMMQ5>g2Ok;_Pv1@-D z`p)$S?F;hT|GbYE^h4%MqHLromf1luOPFHjkR-Q~)oG7e!v@95^VV>UV(aK*-B#(L zx=*hfZ^q{Phi_rc{PK~xFDrJ&{S0$6za5G#;%9w#^4ht7K6gjp-z^&4lpgVdKJaz1 z9k6LLcpLHLDVZH76nm$@R=gjzG@WRdeC!U79*$1sp z4=K*>CbrkRj?R_r4}q;__pGUd>OF(`@-_W!33*tj@%Z+EHP`aG)cJ{cUT@YKdX!2( zsGiP&a3bEPhVtN=b1*C zrkK`RKh5*wOe0Jem~JwG&!eo)8DLygwyosIjOrD>$YVPtzJ>E_^nks%oY#}lswe9< z19>Yl$y074i^E{%>0u_wzsj_oiS!vd%Jdk?Rcs-9t_kaMcp5qx)ABZp^8;(=|9;_n z=T*;{Vb$3!vF*%@ZviH%J>{j|SF32~tvVWfy_TtlhTg2DC%)<wN6sh4(=H)s?7 zkvi@f+g`yeu%}gVc1b%Y6l>&qqI6{ZZb83J%M*Qy?chf|kxs9p&L32)vJbZ9l-a1| zSwC2)I_#y&HV-{ITp;w2*aN?)A-zElIgkgE_(yra#}{iR21JcZ*4AcOA5!>Ru*PJ| z5caOfWgoYEEs2fqX#PXlpXtcH!amtOCd81$MsJ8&#M#lKy1HjSdFqF|IS!#yy6vfJ z_CUUcTi2B*4mams$io=SMN2wSQHD4{FzMogq!I>SL16IUOsvP__YcX(~>kP)V zT73xc9;EZi@g+?>c?=fn+Ez@?3={3LW>dVponmEe^kLaaDlpi{XR=esQAB1PCj`+P zlawKQ&TH-Lw1nrDn{U)}J%s)BT0TlX*{rU#No7BLGrvL1Tl5)(Iq2XvSWquhWg11Sn?mQb`dqE)6O!jb8vi2@`qQHQ zw2)VipLD}pMIQuC&^I(ZqfSo-PViTE9H77O{L6(+A}-*sX;0-|UXqHRj6X|ga_LJ` z(T|Tt>$KcEtNA09_lf}IKah|1M}NzTf8l3fqJ4{fE%yOE^h4wQz(Ul>=qIke-ni#9 ze0@ya)-}1bZyH$DTFviIvwxPqiS`;}Ot^#8!0{&cR${$hn#5Tw53j<<_vXx8!rGrD zb-a0{qaWB5Glg#Q`8WHp?HS;+{UZNDI1}$RPD=aR0KVUzEB5ksej|MO9~gfwJuY;7 zTZ>Jp7kcc^yCp}3&ILwm)sO9mfPb0q5A&aX_x1UIOuiU>*uJn&%YR?m880?_A-A5_ zx6>_e4IRlUScQ-IOF1a5M0rLlsaniQ9Zqu0-q!Zz_b%QybEuim_xVK0Q1sL1-;j2; zYImJNuE%l?{eH;pclkNSL$urK=DpO>TfW1z$m6A8n4V$X&;mw>=pVJ^(8G#|_;#oG zpqT5+ETdRfgci+_)_3i#sq*FTQN^X*Ig)3toX43>R?emOwOA4Y`A@FFN{$R84Z8xI z^KBG&^PW0F^lWA$RTy2g*PKT)<~sVd`EgQBVfw(@PQ`lrEnXV^iR%d|Ked;4+@Z94 zdY#1lUC9x8hiR|PBc|LLW=gOhKJqcPljCQ5m=x|8ZJo4i?jV(Ij^##3EeRn5jsbfE zs?=%_YEzR|m%)DyV5qgr!HC#<)Rj8UgG!4tB^I~_`}vMu7@-A6BTZ&iQ7o9OKgbuZ z#UlUK!;cw5eS8;7=7yQ=v4lr>Pk=uUe6)`%I#%%B^C#;sVnD_k`dE1z>A6mz7Rq^? z4_u$*J#Zr**t9wXJ+3a6k46)I@!k^`j2@?NMK0t6=diti?s4AVXWw8i4%zd`#I;aj z!*F;iL$&rEUUffStPpS8FWevZ>MsMM zPs#4Vdlb3RrMSB15|v|7zQ2Fr_|i9jA_uT=Hb4*T$F!1sqX`|BlXt2Amp+4vyQh%j Yau>gy&hlGvDiJsz-OB&+q+Q(q8?22Y1ONa4 literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/raspberry/raspbian.gif b/monitoring/nagios3/logos/custom/raspberry/raspbian.gif new file mode 100644 index 0000000000000000000000000000000000000000..881fcb4edb86195342a52dbc22662cf6aa3c578e GIT binary patch literal 1486 zcmcK3i&v9%90u^;`|jQLzVF7^V2lkJyWhBOY=EN4xH^!_ws(LRbX*nl7G|lZOdN%^52CoM`yc>A5Cwt|2!ddU3c)l8rb84IqQDdgg()xsV=x7W5f+8YrqB>N z>`kG2BPbPveGt@l9!A3{VwmZN;Cw3PN5xPUBB3!AR2J%qV4jGE$_YZ*3?Hf%^J4nY z!Z9yB<`qrnM_}GeUs@E-jmCYJGJIp0zHv-J0@E+a!;d3IIbtl0B}``tEv$gG3}v>b zn5)EBvL!w$JcljaN!Rk!I8Vc{b7XlOc@alZ;t{;gTe-BJ3AGKpD9jBsIA7e-9dZ6t0bae~BcE}U@TwtC@`2H|3oVRJETV|eB` zp6O!RT+B?;gK&9dj?Vuql4WtRvRVRSNH*bO6Bk6riz4GCk+D@Ad(Yc4>b){3!{@Rj z;ff@oQ<6yf64xY&-%69NOOryZye_GU^tblNOue#XQb_d4Qo^!$eex8ieEEPpbwpwr zP^8{gq~1}aj!G@0%sQ-0A691ERi@unW{k`;lgbQIX?7{iqwcQC7*(0?&9jhd^G_KscBK!ShR)-vmJ4fH}niyA{6mB)Bhj(JaB#Tzaij3?7Um|tF!7b6R|C8dLF78x8{LeWogVL4 z-I4dABeAw)1L!XLAnD=B3A^5X5sJM(82K;1 zbRu^)zokPu6BAy5+-lp%Hdf}2)Ig|F3_#v+#V^`R3tz>Y-oSbT4^B41RoTrcyZK#> z&_7c@{C()jDz>qaIHBx|?%i{&)OLPn*P8f`W@Y<#P@lY$qPVf>d4J%gLI@x&ryP*U zK2|Yl+nWO!xua!R+-fyG2Ux$%cX;`jzg9AcnkW$Yv~l+7CsJH8_JKv^VX6)^E-~=C2D?lxx~o zbarh;e?M~2>kr<;qfN(CjP&5nU)xR8<9`({hy@E2#gqWc$bJ5>3sL n`&;7$<=owp7v;yA6vTF~evPWf>|8Qxp*gi8E?umkBVh4=;yE;; literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/raspberry/raspbian.png b/monitoring/nagios3/logos/custom/raspberry/raspbian.png new file mode 100644 index 0000000000000000000000000000000000000000..79d6f2bc15ca2a6e548dad731e151a7668e982bd GIT binary patch literal 2646 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 Eg6Z2E!2kdN literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gd2 b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gd2 new file mode 100644 index 0000000000000000000000000000000000000000..e05163ba85940c028f0239b1389589320d0fee89 GIT binary patch literal 6423 zcmeI0drXyO9LK+Qk#lA$9&WC!Y5n0`t4(UvrhmwcbhT`4-B=h>qOx30H(RSDjch|! zI|YnO8mws|njE=_35rfKa|9mXaF3fQmxFOpIB+yhzu%GP^@a1k2i_NK{n6NO&wJjz z&+~lv-Jaj?*&Ov0a37Y^-)`KGS(r5oE|=?n@uCAqMFrYILQo61rDfSN^wPU~s<**D zxXN=enzIL^hd;z<{F*z@^xM^LmG)+~247!^O)!=cYg0ys^xcfHI*E&P<>uO8#HgBl zv=qG;bHKV1O!Co2e1*h4V_f}Ja9w;AH;)D2W^L-Ed^gq`QMqciA{%ou-${}g;cJM8 zt02%VBRPSv=ZD;}t(xxWy?vb#wU0lb%6Ey_@~6wkwk%sOu`#1FHxSnj_`_9qPTjU+ ze09qnROPb}+bOcWZv8Ra`BmfCgbtbS?@EddFZ#RwjsXo3OBDG|5L*&So5iA^k9&7MMrWmani(j^B0!a)>@wRRH*=lyGvUMNw z$M4^o;Ak&ET}ciOYzoD>v{<)TzluWd<{*i)Kf;L4+yo5u_To@vB$A#DM#}PFG?kQ0 zosIJt`I6)ZJ-?{3l@V8B^jw%XK7`iFyt{KI6i6fQ;?)aBS}i*st8pztVd0eRyrke{y?^=Z?1x zXpUL!osZ}5e$HclS2+2!Im#n0s*+7O`pJA0ezO82L!@sxi`w(4M342Eu{+!d+iM1| zYpCUZ_UUSx>&Sde(&1lO0r>d~Uz|2S38!OD$ZrT`Zo+1 z{N7LEW1l-4w*Uj3m0tg6C7lYJ%11s|8fXut@5MX$_wwhSbq3hNXztiq(Ua+qOJ)-q zPj2zLo>+I{C}Lv#9{Tu3-Zi51Wgj%|m@DzMX855Z(S(uyHhp{w`J2zZN%c1t>*D`% zP;Na>Y{y^p!L957iLWNrgr*}ab+NfP1{L^PD4#d15Awby&8_?N1=NwB{`QIwl9$g$ z^2*uhNx$oN!^Z0NvlWFKpF!aoA6%e4n2XOCj@{PJCdn^jYg%)E zaOeNr=!fB;x=HvQk3*IKH17Aq(6v%se8Lx7%Fd!BH5Qg#8*nf>6sKSEK~G+ywlx*b z+Cj2&{dfBKoGmTxy0nYV*giUc`M2QJH7f8qsm`;d_+jv>cKykF4N)`KFJ27Wu3d1_ zS*)2+fsbv>eD=#Jn%28+HY?UtB~-Hrb6B^I^F85*wW)rn&RRQVKDMRMmwdDm z*8vg>=}@!oI98g|Joq}P#yj!3FN)(AO=(Rvy)oxcBpD>S`?db6aeVzp15mWb7e#v) zp)u@vv{UUitl~H9`%3;M^jAb&X(R>I|LW46$X{okb~6e#)}3wpYRO(rWE+mh0jkMa z?Bwfey`x~`9+&Io{Zu~>OgDzFWI~Ni?5AZEwY-`5{?t-03wmW` zku#Rl{@fpChZ<15bH4jt!9_hh*RM6?o9V>baS!i*yu~EnOK>i;Q75p&c1)?_1H0_#9Gm~8BUikQKp*+Ea+antKJo(x)@vPFn^SvPV zp*8vM|Lgweq3;RzGhL*&gFEISE9MbxJ@QQGOJxm5M=A2+p1}UCbMa-w99WXVFg(?} N1(h{D^zh&L?jJ0)reFX7 literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gif b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a51c5322e35c14e5d3c84b6dd346218fbc5f369 GIT binary patch literal 1421 zcmV;81#+KTe8ukfFr>ZTOc zQwXDGMDt$>%#jk{R|x5FaOR^F^sN>D!$R$kkJ=CrlmGzSpP#z`0NI-p{&y(aUl;gm z7}{PY;jfb5en#1v6WCM;&yy0be`A>d0Mf6o*&rb4TL{;g66{m`QEkv-kGU=9pKWl`>qwqP6xU$Fy4Jeut^8p zsz1DNaGVej!%PSFtrgfX1*CKiq-aFwvXc3+7W%Oku0TN5SO~8G0Qcv_)0Ptco@UyQ zWb^3K#7qa5Ix*Ln6TUDomO2LQT?m^%K*s<8_u{p?i67{t6x34))t3|h;?e8Sm*QYx zgCd~Agzfz(U~E)kURgnld@Y(Pbv~@9&gAK;@T$ z>&%Gtt`+vL71p$B+qi3-ZVkYQ5!0Wa>aQ_?007u~Mf&gW-=ClUZ5ZscllZU|+`qr; zv_Sf@7PUY?znFs1TMO@J7xG>S`l=QGzBAjL6V$0q(-089007r21lLpu-JhTM@9+6x z3GrSD>YtzFzrW4^0F*W{{IeF;udmk007aSpO!xcreI*~TnYZDb;eEy z>*LX%005`}0NfxT`1bJm_VDuP()Xt#xBvk6UA-=4LQxPdh@;X6kPvbsIXT4c-~t{zDSfd`ie(ZxWR1cpl_*|9MLhMjIJi^q zpLs?liP&^OAt#>Ct{p7KGXuXzMq&8>lE;we3k(OBE@@*F(i2`3O|MLc-XKqHbSxP) zMFbQ@o*UFxkbDZ%Lk1XJ7&T596fMA$06o|y%n)7RaSk~~9kT;26v@)aD(eWKK?^}7 zbdL**lwp-F(s)plILs7*Mk~fF6qi-G2;t&F4@e-x3J=tDqfu)Bf&xPig@gnn!!R_Y zQGf`tkPSdp;|?(lRU(%i(sTGJ>?A!p^U;n3KxXK#3{25q$f}Wj37!`z|0Y> zLD(2#07N=8Qy3!49(05iwy*(BVLKdI?LnN$1&$Isep^tuWwBsSEan;nTUj)SuuHoK b5oVMWXJ}C!y#~FJN-u;!0S~|Y1_S^*45yZD literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.jpg b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0535df9515ad1705e9d65c8c28776b114cdbdecd GIT binary patch literal 2136 zcmY+Ec{mj69>?F=7wcHkh^Z{u$}*NiI2g*lj0RzbA`02b7G)P1Q8~tzjEr?;%Mj__ zbh%j)g)EaOgp?Lhr{>N*-Fu#=&-*;@Z+U*-_xb+*d3jU3c_3A-~a$8erp2=o1F^v@dKys^E(jU3`hgezk%^H7@U8@;0XACK_C%-fkdKE zXcP*G!Ce^$Th{;qiU0S*n6fiet& z15g|UhJ*0>Kn?&f0E6&t{vQ+?!*_&*@E!lsN21^e07b(@0R#?#!J!Zs;-`e4@dY?B z6xgqYmJ^pSBg&JGDM;?Z0SFAr-;TfQ&-WoXC~Q9*h#`<#W^yR<$z-Bc|1=M;%2 zBp*rMG!WzuLUAx0Faf<~{@T(dcOMPK_skdunD0`f<-2v_H7-INUfHtJR-2Ab1V@#` zP-#ZGsT+<5+9H)6OlBxPcejsIrXQ%!TO8UJR54<$dzrhDuHK$H=z4g#gzOz3R+XxE ziuf^CG$j~EJFcLxlT`MV;y8y74Zd-x^a8;h7TB!JShdzB))-pfGxbR@mOPFTb2h#htJ-PYf$hQy6Br2>c&~kN^Sn|qG)77I{^k`m2Mw-z@scqEXe5k&KDqr5D7I!De zvU9cfwdU+Rwl2=Fv%Jg}H>-d^8F;-5&nn)`NqI5f883Xt52YYeyMFxU-ef zO6epvIKA0-vglh*W?|o?AEcHsVrp-t4CJr76`V}Ey);O$t+pNX_?)AfmJNAk?yUUo z(V=QZ8QX9<4jt4K6jZXVJLJzyQaQ6yu5Wc#>{6#?tlf0NS3&qO3+gVRPGN4;W#3jP zMgLpNhoDZUMv}-u0*41C2R>@Op-23fEeNrAWzEXY{_a#)sLCMDIA}MIhvUX9F^&O& z%*woo=(mSbgQ};i)2~1+NySj7G2FP)`?f4|L8-H zoMi(wn^fv8(!PCkWa<0`;N`1sa&`A6C67bZj>_b8)Is zhwa7#_Sr6!$CiQIhy`tQ!Eo&*r6}jvj=f_DJlgzRR$cwG-jL7kP0W(lM*;#xVQ1E# zR!HE(J?92v%ym0=2=nu=g~Ovg|ERAiE}c4&m^@#6kJ9Kl5vs6=*Ofq-<+$QQoDA_j z@8s1r7qSD>EGn$5D+^ZBpNlU+o_*-&msFVq-00s7?WC2Gi>XEGY$ic_I}Usg(sp}T(kFCMI-Qu74gZb!B33nE!S7s@}C#CspOHa7Z@Wu9*F8GT!^pF{z2&U z98`%8LA1ZVM_gCJws=6=hE5k1s)~rUyICK5J7RH1xARQ5@9A1*__h_5>w3+(APq6aU$d8bgX}cX;BZqkO}wiq z+G}kt{)AR?u23-OSDT|*N2^s|tDm)2>MIS6e?i#2{Nb|W?%~>7zMV-X-dD*(jvoRW z7CRJED3bwa!!e?nG>fZU8c`IlwgSBYA_r=;d0=EK!2o{Scqn#$sbKueZik2s!H1l5 zuM0WbKkNk0O{K4)DP)$%fJ#2*d(Ubk!vj{nD(cA1{>a;v`NUAHs8^AC#DQ%+iKoMgh&@s>TX=D-3H zYYv}RTkT=l=i)@w3P5MlEGd#Zax6OsZtz;Jl>Ii#I3zqG=^02|>GfknW7KcSex8Wk R204rUNH+bwNgnU{e*l}uioE~; literal 0 HcmV?d00001 diff --git a/monitoring/nagios3/logos/custom/ubuntu/ubuntu.png b/monitoring/nagios3/logos/custom/ubuntu/ubuntu.png new file mode 100644 index 0000000000000000000000000000000000000000..b2d71d93617fd6924a8d5913838aa834075069f2 GIT binary patch literal 1574 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b2e72b59b9035e68991476065c2223b109725ffd GIT binary patch literal 2173 zcmZ`)c{tSj7yeR~MoQwE>_Ub?Gqw;}q8MvqFcmRMS+b9P8w?snSH_wxWwM2tDQhkn zl&x#$QkJ-OGL|r5?)dZf$M27G-t(T%^PcBC=Q+>$5Uee4@`8jx008isniwHj2st)x zPL_XmROiKllaCB63;=-qoaX?;!QyNI$eV^h98I+UCeG80n&g3AZeqapv=mg@-?{~002DakBtq;$pr%d zm%piz0SZlP%DVd)_4&f*=m6!$NuGP*w;$iPk>eKrQD%U<{v%29jk4qb7wSQ&V7i|Y zJxQNLS>!RvU>HGdaRRnpPSb+Je`J=aM7p(D@}2RvZf#fd(BEqv-&_Cg8vM7GYUJ3{ z(dp_(cZUl;)aNNo<0K`Z9|DY##PZl!ixR zyVylVMd!Ac1{IZ+RWvj@QpB!qgy>XuX!A%*WJ3~&RuLn0GhLBwqSH@S4-VC~%4?56mU0(hUlAISi z2y|0;xG&D^jw99w&J9PrmgMstW6;$6dl?~}Iwi#8!E|<-;`!Wi5|AKy*=q&Qo5FW9 z@F&nzOgLvwkjQ zu&u4F(ZzEf9v+KpYsDl|hw+nJbb3_*eMhd#0et3^yS+5!oUN862jnEhB@eX{tXDo3 zruIXjjbOw+QBxnbqp-HNmaFL(yT0y?=Q|l^U=NxJ)c(4{c7s3;>$XoXs~Ma3zsDh`8Ko^zEz0a6!V2jw0Z% zK=PE;T1|dJHHO9su$m*eHwZ6)+3vbERECPan%fkp({X}gPpH|ciC->k?*fg zHi_U!q)Vf-A8n_2+OHg~lCzJ}Y?`z#*wxs`V2+TIYVjLc2+ql<`ADYyzlkB;8A|bo zzJIOy+bD8NnKQ$i(VoVW+5L|sP&~KCz(U2#tLbZ}Cc?fyN9LDxoOL)c|1>{M&dPtj z=K_w>r3CaQRV}nPJqv?B`LmSWkuHF8E96qm5I~$Ak##sxQ(HSYFc3?m04rPjB^4Fe zg~GIK@_M9;$JCK)Zx7xjiiF;I?0pO8-O`{fXAR$So9*6iopKzG%W###qv29-2i@^} zvR2>$a=25{-Os{u`J~Y(dTAmSA&@j=e@3t5U1r3_?CGLk-$Ob(rHkkG=(F$NzdybK z+Ih5nWY!5gw^mXW8z~G@{>B`O-slwVf^RrV1NIo-j`SEL$@wP zMn;Ni`Qw+DJ-&&4UIX+H~j(MIt6cMXi&Vq(Y7ry4n@SjrbZlzSbC`4q{CpUjto19kfOj=YE(}(gx@P+T*CF_R&;yaT_ z-;ap*=P9I8)2tyVirX-I;1qXniKBf%S;Q|NV}@(csB%(lo_&Z{@-VRI2xcNY#`q0nWnhg<)r3wlXb zIik?}as7rFr?Z62w`yf&-kq!b3$t*3dyDAgCqdDj10O=z311MU^(NVUrN5;Pyp Xx6jEgWy^g^k&Ay4Vl|%7@yGZFsj*n- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fc5fbc33a6cfe3a0a563be0afd53691e8fdd1c3f GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU3?z3ec*FxK#^NA%Cx&(BWL^R}bpbvhuB_}F z1BL$o|NlyzWevz#B|(0{3=Yq3q=7g|-tI089jvk*Kn`btM`SSr1Gg{;GcwGYBLNg- zFY)wsWq-iU${?l|!tJ096iV=PaSX9Iot&V+njye&WL5L(D+*z%hjQlVNrzgjDhN^R za$5D&iH&X5G~oheQ7AT|0ThTKS zw=g0oGt(^5L{ZQfHE~9lIM@K=H}#uKj3$0E#$;n#{I37!(o1ej+u>$nqJ{i&dT!f$ zemv*xJ_lD@0Z}|Xj^9(XiQ*_O?oa#(B8u@Jj)6%|7tx5;|KYwT<9?O0QT!~M#7)^O zt_Qf4ViL=>xx#(9Omr-O`BglNrJ{byD~cSmVt3tp>j>9|{@UI8{S?M;sVQr=b0B^W#7_nBQUkmBH+)j0Y9liHcIf5;3vUPx|K#-8 z{((LCZ|=Xb^(D5x#MT!)qegf>{XfhP51yU>t^FepZ9gCB89#8{h4Nt#l)LcrJ@TWl z`NtCHAD7GML{R=wN_CT7DpG>-53PR>;{KaL+d!S;(hAf$5~lRy8s}D>NW8D z1#9w3NPaZmkf-KGp?;3DzEHo-$UivOY{32R4{ak*PeEA&y1)n+20p;K@qX|i2y)}P z0XX6JJKS#Q{ZdWzv1b=K7t7ajw~l!`xfg8ov|o_r(43aLarppf1YX=TIb1t|Yn&Hz z4w)2yKl=~}w`Z%a+`n(i8FX9cc0J8ZznQnwE7SXe{M=V;)c$!jS)Jz)zaYP4b^|Y< zEo-#)@ZP!@MY_hZvmtgr!0ndKkN4hhYI4c@g)M08xv!Se;dAcQxYfR|#gE5cDZ2q4 zUp>Gasm+aE=W&+<=CH46vAcn|-A*#mkCrSNd#jjSR|0wY0{RthEgv*cN$dI0+&mLr zC)thR^9wkf0FQxn<2{;R27I_bIc|Hw4BYsnbLjMiVsc)^xC?l7 zpkJHbX(p>{8g6TG<1>vM;L*DU{MfM<*a6QA9(U``J=n*Xwo1A|rpz>%N`T*xPTv|b z=nt?0$6vF|^nF=2y*pe;zKd3JE!$N$*QF|Io^7P+Q+|4?@okP9_a)B-6X5ffez11N zra$|E4?FUj$NkOox)@{uW1!5)G8(s9GBXma*`|bJ+1nGwpU6(Ul(Qr8+RmMc*9!Bu zeQht?_R%x@9-TOCPx8(lOltX3Np895NI5=xH1+Vb$51&iX4v0+LB?D#!7UFi72r7N z1L}A~xz?|GKkYSK*puP8!)wZ5pg#0k^$yQyTS4deXi?{Re`V*{rmn7$rv5Hx`%u@B z-r?@@p_jY&yfoppj869K9elOtfP4C6Ny{6(yX$9s1r?w6<=a2&d$Q`2ez*pai=oiq`9i&^h{Nb5YOg|F<}u?gXLoMs7E~4=o8M?esQdOK-BnN6gK}EVI3Y9 krM?Ma^Gu2Z?XL^;rLZV-qOj(}u;-9>a*4fv*Z;%#3x;-Kj{pDw literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..63994b7ab980984d150898766261dd9f562cd31b GIT binary patch literal 1284 zcmZ`&dpHw%82)WDhgp^;mk}cz>7)&lX3Ax;W!RjZ7+uto4P$amopYv~4${%x{nBOS zHuBU?gxZPl5R>H6lsyLzR*YIGm(HC3&L8Lbp7(p7@4fu_Wzzk9HXtwv0Kf(+g&e46 z+jVGZs(1EUJx@&<5gvXX0MzB^tQ>`_Z%BNgk0+?Uc(0Z>iNn-4tvmOxefs zgY41#WyH}f1*Dkg#XRz@Hp6C?q&^OkZ`rG90&TK~#hTaO=yR{By|f&Y)Ul~$+Kjq* zd(G=z;Y0XR=>Xt^lwJ(b1*j011S0o{0xp2WF`gRkP<;wuEk9fi6*NPUkY56ou5P5D3|2+MxG+XFeR%S=lM=)e8n@IYK{kaIiRmq}T!7@nEb9pmEfGu^@pOc$mn8UEF;V-4*xDlQ#2DFazNUY}oRueVl9fM#wRA@J8cS@u8+S+U zLTzo7K6jYAfU1Tb+2m(2A^|w>~ z`3rUDphwzi1C2kv8Sm|&XfGMNXwnwS$L+aio_d8rQ%rJlH}YF2Y4r}d6IDT|2Sl{I z!tyY);^S+}sL>s*uVrafpcJNr1Q|$6ra^;N6Ql`RWP`Dr;GE9iURJmBC+n?xL-BS+ zZMX}4PV_FFU0IOalAgHvVbXOyRP8kXqP|#mdxVvGN#^@1T@3K{8qR5-BoTOdThBJm zD(Cd|r8w&V5b(UL#eExZ{E25sme-SdOYccSH@a==P6U>hz#bZWk2XG(udQ0F$liYO z?lpSR4VdU1alCVIHaWT0{AJsLzbr%0V{6z{%1)4*Ryco|J^vx!U!p<(TLH(b210WT z5yE*UKAtpz_{yEajc-P zhRHBeXQt3!6+Kf9A2=-1728ze%VCwG&x(;V!!IUni^%>r0UU66=N)+b4jh4r!xNoch1wh^BPp = 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 { }