Arnica Autopilot Notifications

August 8, 2024 by Igor Lozhkin
Arnica Autopilot is a web services management and monitoring component. On certain events (such as high CPU or low memory, etc.) Autopilot sends email notifications to specified recipients. 

The following events may trigger notifications:
  • high CPU
  • low computer memory
  • low disk space
  • web service restart
To enable notifications, the following key on the service level must include a notification scope of either @local or @global or both. For example:

[service=web service1]
notification_scope=@global@local

When @global scope is specified, the list of notification recipients is derived from the global config.ini: 

[auto_pilot]
[[notifications]]
to_email=
from_email=
reply_to_email=
sender_name=

When @local scope is specified, the list of notification recipients is derived from the service specific configuration, for example: 

[service=web service1]
notification_to_email=

Sender details are always defined on the global level. 

If both @global and @local notification scopes are specified, the notification is sent to a cumulative email list determined by both scopes.

The following 3 configuration keys help to optimize notifications delivery: 

[auto_pilot]
[[notifications]]
; default = 1
trigger_events_count=1
; default = 0, in seconds - notifications of the same type to the same recipient can be sent only after specified interval
pause_interval=300
; default - 0 seconds; must be >= 0, in seconds 
start_delay=0

The start_delay key specifies the time interval since the service restart when notifications are disabled. This might be useful to avoid sending too many notifications when, for example, server restarts.

The pause_interval  key specifies the time interval during which repeated sending of the same notification to the same recipient is paused

The trigger_events_count  key specifies how many events of the same type should happen to trigger a notification (for example CPU level exceeding certain threshold).