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

Reply via email to