################################################################################ # Sample HOSTS.CFG file for NetSaint 0.0.6 # # Read the documentation for more information on this configuration file. I've # provided some comments here, but things may not be so clear without further # explanation, so make sure to read the HTML documentation! # # Last Modified: 07-17-2000 # # NOTE: Command definitions have been moved out to a separate file (commands.cfg) # to make it easier to update them when new plugin releases are made and # plugin argument formats change. However, here is nothing preventing you # from keeping command definitions in this file. If you do move the # command definitions to this file, make sure to remove the old # 'cfg_file=/usr/local/netsaint/etc/commands.cfg' reference in your main # configuration file (netsaint.cfg) ################################################################################ ################################################################################ # TIME PERIOD CONFIGURATION # # SYNTAX: # timeperiod[]=;; # ;; # ;; # ; # # = A short name used to identify the time period # = A longer name and/or description of the time # period # = Time ranges during the day. Ranges are in the # following format (based on a 24 hour clock) # and represent intervals of time (with a start # and end time). Multiple time ranges per day # should be separated with commas. # # Example: 09:00-17:00 (9:00am to 5:00pm) # Example: 00:00-8:00,17:00-24:00 (12:00am to 8:00am AND 5:00pm-12:00am) # # A NULL value for a particular day indicates that no times are valid # during that particular day of the week. # ################################################################################ # timeperiod_name = "24x7" # timeperiod_alias = "Hours A Days, 7 Days A Week" # timeranges = 12:00am to 12:00pm (repeat 7 times to represent everyday) timeperiod[24x7]=24 Hours A Day, 7 Days A Week;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00 # timeperiod_name = "workhours" # timeperiod_alias = ""Normal" Working Hours" # timeranges = 9:00am to 5:00pm (Notice the extra semicolon after the aliasname # and the extra semicolon at the end (representing an off time for # Sunday and Saturday) timeperiod[workhours]="Normal" Working Hours;;09:00-17:00;09:00-17:00;09:00-17:00;09:00-17:00;09:00-17:00; # timeperiod_name = "nonworkhours" # timeperiod_alias = "Non-Work Hours" # timeranges = 12:00am to 12:00pm Sunday # 12:00am to 9:00am and 5:00pm to 12:00am weekday # (Notice the above time is repeated 5 times to represent # Monday to Friday) # 12:00am to 12:00pm Saturday timeperiod[nonworkhours]=Non-Work Hours;00:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-24:00 # timeperiod_name = "none" # timeperiod_alias = "No Time Is A Good Time" # timeranges = none timeperiod[none]=No Time Is A Good Time;;;;;;; ################################################################################ # HOST CONFIGURATION # # SYNTAX: # host[]=;
;;; # ;; # ;;;; # # # = A short name used to identify the host # = A longer name and/or description of the host #
= The address of the host (preferably an IP address!) # = This is a list of short name of the "parent" hosts of # this host. Multiple parent hosts are separated by # commas. Read the HTML documentation (particularly the # "theory of operation section") for more information # on this. # = This is the short name for the command that should # be used to check to see if the host is down or up # = Maximum number of times the host will be checked # before it is deemed to be "down" # = Number of minutes to wait before re-notifying # contact that the host is still down. # = The short name of the timeperiod (as defined above) # that determines when notifications about this host # may be sent out # = Notify contacts when this host recovers? # 1= yes, 0 =no # = Notify contacts when host is down? # 1 = yes, 0 = no # = Notify contacts when host is unreachable? # 1 = yes, 0 = no # = The short name of the command that should be # executed when change is detected in the status of # host (i.e. when it goes down or recovers. If you # do not want to use an event handlers, leave this # options blanks # ################################################################################ # Note: The host definitions below do not have any event handlers specified # Servers host[web1]=Smaug/Web server 1/Localhost;127.0.0.1;;check-host-alive;10;120;24x7;1;1;1; host[web2]=Beorn/Web server 2;195.184.114.12;;check-host-alive;10;120;24x7;1;1;1; host[mail]=Oin/Mailserver;195.184.114.2;;check-host-alive;10;120;24x7;1;1;1; host[dev]=Bilbo/Development server;195.184.114.17;;check-host-alive;10;120;24x7;1;1;1; host[ns1]=Elrond/Primary name server;195.184.98.98;routerwp;check-host-alive;10;120;24x7;1;1;1; host[fw]=Orcrist/Firewall;195.184.114.20;;check-host-alive;10;120;24x7;1;1;1; # Secondary name server (dns.jones.dk) host[ns2]=dns.jones.dk/Secondary Name server;213.237.9.231;routerwp;check-host-alive;10;120;24x7;1;1;1; # Routers host[router]=Internal router;195.184.114.1;;check-host-alive;10;120;24x7;1;1;1; host[routerwp]=Webpartners internal router;192.168.6.1;router;check-host-alive;10;120;24x7;1;1;1; ################################################################################ # HOST GROUP CONFIGURATION # # SYNTAX: # hostgroup[]=;; # # = A short name used to identify the host group # (i.e. 'nt-servers') # = A long name and/or description for this host group # (i.e. 'All NT Servers') # = The name of the contact groups (defined later) that are # contacted if there are any problems with the hosts in this # group. Multiple groups are separated by commas. # = The short names of hosts (as defined above) that are # included in this host group. Multiple hosts are separated # by commas. ################################################################################ hostgroup[all]=All;admins;web1,web2,mail,dev,ns1,ns2,router,routerwp,fw hostgroup[servers]=All Servers;admins;web1,web2,mail,dev,ns1,ns2,fw hostgroup[routers]=All Routers;admins;router,routerwp ################################################################################ # COMMAND CONFIGURATION # # SYNTAX: # command[]= # # = A short name used to identify the command # = The actual command line. The command line doesn't have to be # surrounded in quotes, but may contain quotes as needed within # the command line. Take care to use single quotes at the # outer edges of commands or you will have command line # expansion problems when the command is executed by the shell. # Any valid shell command can be used. Multiple commands can # be separated with semicolons, piping is allowed. The # command line can contain macros, but not are macros are valid # at all time (notifications, service checks, etc). See the # HTML documentaion for more informationon on using macros in # commands. # # Note: Service check, service notification, host check, host notification, # service event handler, and host event handler functions are all defined # here. ################################################################################ # NOTE: Sample command definitions for plugins have been moved out to a separate # config file to make it easier to upgrade the definitions as new plugins # are released and command line arguments change. The command definitions # for plugins can be found in command.cfg # Service notification command - send email with problem summary command[notify-by-email]=/bin/echo -e '***** NetSaint 0.0.6 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $DATETIME$\n\nAdditional Info:\n\n$OUTPUT$' | /usr/bin/mail -s '** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **' $CONTACTEMAIL$ # Service notification command - send email to alphanumeric pager gateway # The notify-by-epager command assumes that each contact has a pager email gateway, and # that the address has been entered into the appropriate contact field instead of an # actual pager number. (i.e. 'pagejoe@nowhere.com' routes mail to Joe's alphanumeric pager) command[notify-by-epager]=/bin/echo -e "Service: $SERVICEDESC$\nHost: $HOSTNAME$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\nInfo: $OUTPUT$\nDate: $DATETIME$" | /usr/bin/mail -s '$NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$' $CONTACTPAGER$ # Host notification commands (one for email, one for alphanumeric pager with email gateway) command[host-notify-by-email]=/bin/echo -e "***** NetSaint 0.0.7b7 *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $OUTPUT$\n\nDate/Time: $DATETIME$\n" | /usr/bin/mail -s 'Host $HOSTSTATE$ alert for $HOSTNAME$!' $CONTACTEMAIL$ command[host-notify-by-epager]=/bin/echo -e "Host '$HOSTALIAS$' is $HOSTSTATE$\nInfo: $OUTPUT$\nTime: $DATETIME$" | /usr/bin/mail -s '$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$ is $HOSTSTATE$' $CONTACTPAGER$ ################################################################################ # CONTACT CONFIGURATION # # SYNTAX: # contact[]=;; # ;; # ;; # ;; # ;; # ;; # # = A short name used to identify the contact # (i.e. username) # = Full name and/or description for the contact # = The short name of the timeperiod (as defined # above) that determines when service notifications # may be sent to this contact # = The short name of the timeperiod (as defined # above) that determines when host notifications # may be sent to this contact # = Notify the contact on service recoveries? # 1 = yes, 0 = no # = Notify the contact on critical service states? # 1 = yes, 0 = no # = Notify the contact on warning service states? # 1 = yes, 0 = no # = Notify the contact on host recoveries? # 1 = yes, 0 = no # = Notify the contact when hosts are down? # 1 = yes, 0 = no # = Notify the contact when hosts are unreachable? # 1 = yes, 0 = no # = Short names for commands (defined above) used to # notify the contact of service recoveries and # warning or critical service levels. Multiple # commands are comma delimited. All commands are # executed when the contact needs to be notified. # = Short names for commands (defined above) used to # notify the contact when a host goes down or comes # back up. Multiple commands are comma delimited. # All commands are executed when the contact needs # to be notified. # = Email address for the contact # = Pager number or pager email address for the # contact (see documentation for more information) # # Note: All fields are required, except for the and # fields. However,either the email address *or* the pager must be # specified - both cannot be empty! # ################################################################################ #contact[root]=Root;24x7;24x7;1;1;1;1;1;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;root; contact[juri]=Juri Jensen;24x7;24x7;1;1;1;1;1;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;juri@xenux.dk; contact[soren]=Søren Aurehøj;24x7;24x7;1;1;1;1;1;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;soren@xenux.dk; contact[klaus]=Klaus Agnoletti;24x7;24x7;1;1;1;1;1;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;klaus@xenux.dk; contact[martin]=Martin Skøtt;24x7;24x7;1;1;1;1;1;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;martin@xenux.dk;26837780@sms.mobilix.dk; contact[finn]=Finn Strandgaard;none;nonworkhours;0;0;0;0;0;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;finn@xenux.dk;26168200@sms.mobilix.dk; contact[eske]=Eske Rasmussen;none;none;0;0;0;0;0;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;eske@xenux.dk; contact[jonas]=Jonas Smedegaard;24x7;24x7;1;1;1;1;1;1;notify-by-email,notify-by-epager;host-notify-by-email,host-notify-by-epager;dr@jones.dk;40843136@note.sonofon.dk; ################################################################################ # CONTACT GROUP CONFIGURATION # # SYNTAX: # contactgroup[]=; # # = The short name used to identify the contact group # = A longer name and/or description for the contact group # = The short names of contacts (as defined above) that are # members of this contact group. Multiple contacts are # separated by commas. ################################################################################ contactgroup[admins]=Administrators;juri,klaus,soren,martin contactgroup[smaug]=Administrator Klaus;klaus contactgroup[oin]=Administrator Klaus;klaus contactgroup[bilbo]=Administrator Martin;martin contactgroup[beorn]=Administrator Martin;martin contactgroup[gandalf]=Administrator Søren;soren contactgroup[orcrist]=Administrator Søren;soren contactgroup[elrond]=Administrator Juri;juri contactgroup[thorin]=Administrator Juri;juri contactgroup[spiff]=Administrator Jonas;jonas contactgroup[employ]=Xenux Employees;finn,eske ################################################################################ # SERVICE CONFIGURATION # # SYNTAX: # service[]=;;;; # ;;; # ;;; # ;;; # # = The short name of the host (as defined above) that # this service is running on # = A description for this service (i.e 'My Website') # = Specifies whether this service is volatile or not. # See the HTML documentation for more information on # what volatile services are and how they work. Most # service are *not* volatile. # 1 = volatile, 0 = not volatile # = The short name of the timeperiod (as defined above) # that determines when this service may be checked # = Number of times to retry the service check before # reporting that it is at a warning or critical level # = Number of minutes to wait between regular checks # of the service # = Number of minutes to wait between retry of the # service # = The short name of the contact group (as defined # above) that should be notified of problems with # this service. # = Number of minutes to wait before *re-notifying* # a contact that the service is *still* at a warning # or critical level (after we notify them about the # problem immediately) # = The short name of the timeperiod (as defined above) # that determines when notifications about this # service may be sent out # = Notify contacts when this service recovers? # 1 = yes, 0 = no # = Notify contacts when service is at a critical level? # 1 = yes, 0 = no # = Notify contacts when service is at a warning level? # 1 = yes, 0 = no # = A command that should be executed whenever a change # is detected in the status of the service. If you do # not want to use an event handler, leave this option # blank. # = The command used to check the status of the service. # This can be in one of three formats (described # below) # # Note: Commands can be in on of three formats... # # 1. The short name of a command defined above (this is the simplest form) # # Example: # # 2. The short name of a command defined above, with arguments delimited # with bang (!) characters. If this format is used, the command must # be defined with $ARGx$ macros in order to actually use the arguments # that are passed to it (read the doc for more information on this) # # Example: !!!...! # # 3. An actual command line enclosed in quotation marks. The outside # quotation marks are stripped off before the command is exected. # Macros can be used in this "raw" command format, but are still # limited to only the macros which are valid during service check # (read the documentation for more information) # # Example: "./check_ping $HOSTADDRESS$ 40 80 5.0 100.0" ################################################################################ # Note: The service definitions below do not have event handlers defined # Localhost/Web server - smaug service[web1]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping service[web1]=SSH;0;24x7;3;60;1;smaug;120;24x7;1;1;0;;check_ssh service[web1]=HTTP;0;24x7;3;15;1;smaug;120;24x7;1;1;0;;check_http service[web1]=FTP;0;24x7;3;15;1;smaug;120;24x7;1;1;0;;check_ftp #service[web1]=LOAD;0;24x7;3;60;1;smaug;120;24x7;1;1;1;;check_load!5!10!2!5!1!2 #service[web1]=DISK;0;24x7;3;1440;1;smaug;120;24x7;1;1;1;;check_disk!10%!15%!/dev/hda3 #service[web1]=Current Users;0;24x7;3;15;2;smaug;240;24x7;1;1;1;;check_users!75!150 ##service[web1]=Zombie Processes;0;24x7;3;15;2;smaug;240;24x7;1;1;1;;check_procs!5!10!Z #service[web1]=Total Processes;0;24x7;3;15;2;smaug;240;24x7;1;1;1;;check_procs!200!300 # Webserver 2 - beorn service[web2]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping service[web2]=SSH;0;24x7;3;60;1;beorn;120;24x7;1;1;0;;check_ssh service[web2]=HTTP;0;24x7;3;15;1;beorn;120;24x7;1;1;0;;check_http #service[web2]=FTP;0;24x7;3;15;1;beorn;120;24x7;1;1;0;;check_ftp # Firewall - orcrist service[fw]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping #service[fw]=SSH;0;24x7;3;60;1;;120;24x7;1;1;0;;check_ssh #service[fw]=LOAD;0;24x7;3;60;1;orcrist;120;24x7;1;1;1;;check_load!5!10!2!5!1!2 #service[fw]=Current Users;0;24x7;3;15;2;orcrist;240;24x7;1;1;1;;check_users!75!150 #service[fw]=Zombie Processes;0;24x7;3;15;2;orcrist;240;24x7;1;1;1;;check_procs!5!10!Z #service[fw]=Total Processes;0;24x7;3;15;2;orcrist;240;24x7;1;1;1;;check_procs!200!300 # Primary DNS server - elrond.xenux.dk service[ns1]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping service[ns1]=SSH;0;24x7;3;60;1;elrond;120;24x7;1;1;0;;check_ssh service[ns1]=DNS;0;24x7;3;15;1;elrond;120;24x7;1;1;0;;check_dns #service[ns1]=LOAD;0;24x7;3;15;1;elrond;120;24x7;1;1;1;;check_load!5!10!2!5!1!2 #service[ns1]=Zombie Processes;0;24x7;3;15;2;elrond;240;24x7;1;1;1;;check_procs!5!10!Z #service[ns1]=Total Processes;0;24x7;3;15;2;elrond;240;24x7;1;1;1;;check_procs!200!300 # Secondary DNS server (dns.jones.dk) #service[ns2]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping #service[ns2]=SSH;0;24x7;3;60;1;elrond;120;24x7;1;1;0;;check_ssh #service[ns2]=DNS;0;24x7;3;15;1;elrond;120;24x7;1;1;0;;check_dns #service[ns2]=LOAD;0;24x7;3;15;1;elrond;120;24x7;1;1;1;;check_load!5!10!2!5!1!2 #service[ns2]=Zombie Processes;0;24x7;3;15;2;elrond;240;24x7;1;1;1;;check_procs!5!10!Z #service[ns2]=Total Processes;0;24x7;3;15;2;elrond;240;24x7;1;1;1;;check_procs!200!300 # Mail server - oin.xenux.dk service[mail]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping service[mail]=SSH;0;24x7;3;60;1;oin;120;24x7;1;1;0;;check_ssh service[mail]=POP;0;24x7;3;15;1;oin;120;24x7;1;1;0;;check_pop service[mail]=SMTP;0;24x7;3;15;1;oin;120;24x7;1;1;0;;check_smtp #service[mail]=LOAD;0;24x7;3;15;1;oin;120;24x7;1;1;1;;check_load!5!10!2!5!1!2 #service[mail]=Zombie Processes;0;24x7;3;15;2;oin;240;24x7;1;1;1;;check_procs!5!10!Z #service[mail]=Total Processes;0;24x7;3;15;2;oin;240;24x7;1;1;1;;check_procs!200!300 # Development server - bilbo.xenux.dk #service[dev]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping #service[dev]=SSH;0;24x7;3;60;1;bilbo;120;24x7;1;1;0;;check_ssh #service[dev]=LOAD;0;24x7;3;15;1;bilbo;120;24x7;1;1;1;;check_load!5!10!2!5!1!2 #service[dev]=Current Users;0;24x7;3;15;2;bilbo;240;24x7;1;1;1;;check_users!75!150 #service[dev]=Zombie Processes;0;24x7;3;15;2;bilbo;240;24x7;1;1;1;;check_procs!5!10!Z #service[dev]=Total Processes;0;24x7;3;15;2;bilbo;240;24x7;1;1;1;;check_procs!200!300 # Routers service[router]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping service[router]=ROUTER;0;24x7;3;3;1;admins;120;24x7;1;1;0;;check-router-alive service[routerwp]=PING;0;24x7;3;3;1;;120;24x7;1;1;0;;check_ping service[routerwp]=ROUTER;0;24x7;3;3;1;admins;120;24x7;1;1;0;;check-router-alive ################################################################################ # HOST GROUP NOTIFICATION ESCALATION # # SYNTAX: # hostgroupescalation[]=-; # # # = The short name of the host group that this escalation # entry is to be used for. # = The first notification that that this escalation is # valid for. # = The last notification that that this escalation is # valid for. If this value is zero (0), the escalation # entry will be valid for all notification beyond the # first notification you specified. # = A list of the short names of the contact groups that # should be notified of problems when this escalation # is valid. Multiple contact groups should be separated # with commas. ################################################################################ #hostgroupescalation[novell-servers]=2-5;novell-admins,nt-admins #hostgroupescalation[novell-servers]=6-0;novell-admins,nt-admins,linux-admins ################################################################################ # SERVICE NOTIFICATION ESCALATION # # SYNTAX: # serviceescalation[;]=-; # # # = The short name of the host that is associated with # this service. # = The description of the service that this escalation # entry is associated with. # = The first notification that that this escalation is # valid for. # = The last notification that that this escalation is # valid for. If this value is zero (0), the escalation # entry will be valid for all notification beyond the # first notification you specified. # = A list of the short names of the contact groups that # should be notified of problems when this escalation # is valid. Multiple contact groups should be separated # with commas. ################################################################################ serviceescalation[web1;PING]=3-6;smaug serviceescalation[web2;PING]=3-6;beorn serviceescalation[fw;PING]=3-6;orcrist serviceescalation[ns1;PING]=3-6;elrond #serviceescalation[ns2;PING]=3-6;elrond #serviceescalation[dev;PING]=3-6;bilbo serviceescalation[router;PING]=3-6;admins serviceescalation[routerwp;PING]=3-6;admins serviceescalation[mail;PING]=3-6;oin #serviceescalation[real;Current Users]=5-0;linux-admins,novell-admins # EOF