dnl dnl ######################################################################## dnl # This file is meant to be processed with m4 # dnl ######################################################################## dnl dnl # dnl # m4 macro definitions dnl # dnl define(_DIR_, `/usr/lib/mon')dnl define(_FILE_LOG_DIR_, `_DIR_/file-log.d')dnl dnl dnl # dnl # useful time periods dnl # dnl define(_FILE_, `_TST_/log.d')dnl define(_WEEKDAY_, `wd {Mon-Fri}')dnl define(_WEEKEND_, `wd {Sat-Sun}')dnl define(_ANYTIME_, `wd {Sun-Sat}')dnl define(_OFF_HOURS_, `wd {Mon-Fri} hr {10pm-7am}, wd {Sat Sun}')dnl define(_WORK_HOURS_, `wd {Mon-Fri} hr {7am-10pm}')dnl define(_PAGING_HOURS_, `_WORK_HOURS_')dnl dnl dnl # dnl # useful pager aliases dnl # dnl define(_MIS_PAGER_, `joe bob zoomzip')dnl dnl dnl # dnl # useful mail aliases dnl # dnl define(_MIS_EMAIL_, `joe bob zoomzip')dnl define(_PRINTER_EMAIL_, `zoomzip')dnl # facilities are responsible for dnl # printer maintenance define(_RAS_EMAIL_, `bob')dnl # bob is the remote access admin dnl dnl # dnl # -------------------------actual config begins here------------------------- dnl # # # Example "mon.cf" configuration for "mon". # # $Id: example.m4,v 1.2 1999/06/17 18:06:51 trockij Exp $ # # # This works with 0.38pre13 # # # global options # cfbasedir = _DIR_/etc alertdir = _DIR_/alert.d mondir = _DIR_/mon.d maxprocs = 20 histlength = 100 randstart = 60s # # authentication types: # getpwnam standard Unix passwd, NOT for shadow passwords # shadow Unix shadow passwords (not implemented) # userfile "mon" user file # authtype = getpwnam # # NB: hostgroup and watch entries are terminated with a blank line (or # end of file). Don't forget the blank lines between them or you lose. # # # group definitions (hostnames or IP addresses) # hostgroup serversbd1 dns-yp1 foo1 bar1 hostgroup serversbd2 dns-yp2 foo2 bar2 ola3 hostgroup routers cisco7000 linuxrouter agsplus hostgroup hubs cisco316t hp800t ssii10 hostgroup workstations blue yellow red green cornflower violet hostgroup netapps f330 f540 hostgroup wwwservers www hostgroup printers hp5si hp5c hp750c hostgroup new nntp hostgroup ftp ftp # # For the servers in building 1, monitor ping and telnet # BOFH is on weekend call :) # watch serversbd1 service ping description ping servers in bd1 interval 5m monitor fping.monitor period _WORK_HOURS_ alert mail.alert _MIS_EMAIL_ alertevery 1h period PAGE: _PAGING_HOURS_ alert qpage.alert _MIS_PAGER_ alertevery 2h period _WEEKEND_ alert mail.alert bofh@domain.com alert qpage.alert bofh@domain.com alertevery 1h service telnet description telnet to servers in bd1 interval 10m monitor telnet.monitor depend serversbd1:ping period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert mail.alert _MIS_EMAIL_ period PAGE: _PAGING_HOURS_ alert qpage.alert _MIS_PAGER_ alertevery 2h watch serversbd2 service ping description ping servers in bd2 interval 5m monitor fping.monitor depend routers:ping period _WORK_HOURS_ alert mail.alert _MIS_EMAIL_ alertevery 1h period _WEEKEND_ alert mail.alert bofh@domain.com alert qpage.alert bofh@domain.com service telnet description telnet to servers in bd2 interval 10m monitor telnet.monitor depend routers:ping serversbd2:ping period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert mail.alert _MIS_EMAIL_ period PAGE: _PAGING_HOURS_ alert qpage.alert _MIS_PAGER_ alertevery 2h watch mailhost service fping period _WORK_HOURS_ alert mail.alert _MIS_EMAIL_ alert qpage.alert _MIS_PAGER_ alertevery 1h service telnet interval 10m monitor telnet.monitor period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert mail.alert _MIS_EMAIL_ alert qpage.alert _MIS_PAGER_ service smtp interval 10m monitor smtp.monitor period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert qpage.alert _MIS_PAGER_ service imap interval 10m monitor imap.monitor period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert qpage.alert _MIS_PAGER_ service pop interval 10m monitor pop3.monitor period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert qpage.alert _MIS_PAGER_ watch wwwservers service ping interval 2m monitor fping.monitor allow_empty_group period _ANYTIME_ alert qpage.alert _MIS_PAGER_ alertevery 45m service http interval 4m monitor http.monitor allow_empty_group period _ANYTIME_ alert qpage.alert _MIS_PAGER_ upalert mail.alert -S "web server is back up" _MIS_EMAIL_ alertevery 45m service telnet monitor telnet.monitor allow_empty_group period _WORK_HOURS_ alertevery 1h alertafter 2 30m alert mail.alert _MIS_EMAIL_ alert qpage.alert _MIS_PAGER_ # # If the routers aren't pingable, send a page using # a phone line and the IXO protocol, which doesn't # rely on the network. Failure of a router is pretty serious, # so check every two minutes. # # Send out one page every 45 minutes, but log the failure # to a file every time. # watch routers service ping description routers which connect bd1 and bd2 interval 1m monitor fping.monitor period _ANYTIME_ alert qpage.alert _MIS_PAGER_ alertevery 45m period LOGFILE: _ANYTIME_ alert file.alert -d _FILE_LOG_DIR_ routers.log ;; # # If mon cannot ping one of the hubs, users will be calling soon # watch hubs service ping interval 1m monitor fping.monitor period _ANYTIME_ alert qpage.alert _MIS_PAGER_ alertevery 45m # # Monitor free disk space on the NFS servers # # When space gets below 5 megs, send mail, and delete # the oldest nightly snapshots. # # monitors that terminate with ";;" are not executed with the # host group appended to the command line # watch netapps service freespace interval 15m monitor freespace.monitor /f330:5000 /f540:5000 ;; period _ANYTIME_ alert mail.alert _MIS_EMAIL_ # alert delete.snapshot alertevery 1h # # workstations # watch workstations service ping interval 5m monitor fping.monitor period _ANYTIME_ alert mail.alert _MIS_EMAIL_ alertevery 1h # # news server # watch news service ping interval 5m monitor fping.monitor period _ANYTIME_ alert mail.alert _MIS_EMAIL_ alertevery 1h service nntp interval 5m monitor nntp.monitor period _ANYTIME_ alert mail.alert _MIS_EMAIL_ alertevery 1h # # HP printers # watch printers service ping interval 5m monitor fping.monitor period _ANYTIME_ alert mail.alert _PRINTER_EMAIL_ alertevery 1h service hpnp interval 5m monitor hpnp.monitor period wd {Sun-Sat} alert mail.alert _PRINTER_EMAIL_ alertevery 1h # # FTP server # watch ftp service ftp interval 5m monitor ftp.monitor period _ANYTIME_ alert mail.alert _MIS_EMAIL_ alertevery 1h # # dial-in terminal server # watch dialin service 555-1212 interval 60m monitor dialin.monitor.wrap -n 555-1212 -t 80 ;; period _ANYTIME_ alert mail.alert _RAS_EMAIL_ upalert mail.alert _RAS_EMAIL_ alertevery 8h service 555-1213 interval 33m monitor dialin.monitor.wrap -n 555-1213 -t 80 ;; period wd {Sun-Sat} alert mail.alert _RAS_EMAIL_ upalert mail.alert _RAS_EMAIL_ alertevery 8h