Using definitions like
---
define(_ANYTIME_, `wd {Sun-Sat}')
define(_PAGING_HOURS_, `wd {Mon-Fri} hr {6am-9pm}')
define(_GSM_Alice_, `+12345678901234')
define(_GSM_Bill_, `+12345678904321')
define(_GSM_Operators_, `_GSM_Alice_ _GSM_Bill_')
define(_MAIL_Alice_, `[EMAIL PROTECTED]')
define(_MAIL_Bill_, `[EMAIL PROTECTED]')
define(_MAIL_Operators_, `_MAIL_Alice_ _MAIL_Bill_')
define(_SMS_, `alert sms.alert')
define(_MAIL_, `alert mail.alert')
define(_STANDARD_ALERT_, `period PAGE: _PAGING_HOURS_
alertevery 120m summary
_SMS_ _GSM_Operators_
period MAIL: _ANYTIME_
alertevery 12h
_MAIL_ _EMAIL_Operators_')
define(_SLOW_ALERT_, `period PAGE: _PAGING_HOURS_
alertafter 3 5m
alertevery 120m summary
_SMS_ _GSM_ITKM_
period MAIL: _ANYTIME_
alertevery 12h
_MAIL_ _EMAIL_ITKM_
_LOG_TO_FILE_')
---
you can then write watch statements like
---
watch mail
service smtp
interval 15m
depend switch:ping
monitor smtp.monitor
_STANDARD_ALERT_
---
My own way of keeping things simple, BTW, is to define hostgroups in an
overlapping way, grouping common services together. (I don't mind
getting double alerts occasionally.)
hostgroup server fileserver mailserver databaseserver webserver
hostgroup mail mailserver webserver
hostgroup database databaseserver webserver
hostgroup smb fileserver
watch server
service ping
interval 2m
depend switch:ping
monitor fping.monitor
_STANDARD_ALERT_
watch mail
service smtp
interval 15m
depend switch:ping
monitor smtp.monitor
_STANDARD_ALERT_
etc.
--Peter