Architecture#

Architecture - Process plugins#
Overview#
Snooze server can receive logs from dedicated endpoints called Webhooks or from external components called Input plugins.
Upon receiving a log, Snooze server creates a data structure called Alert which is actually a dictionary with pre parsed fields.
Alerts are then being processed through a series of components called Process plugins.
The final Process plugin (Notification) is used for alerting. It relies on internal and external components called Action plugins (sending a mail, executing a script, etc…)
Input plugins / Webhooks#
Process Plugins#
A Process plugin receives an alert, processes it then sends it to the next Process plugin. At the moment, Snooze server has four Process plugins executed in the following order:
- Rules:
Modify alerts
- Aggregate Rules:
Group alerts
- Snooze filters:
Stop alerting
- Notifications:
Alerting policies
It is worth mentioning that the configuration file /etc/snooze/server/core.yaml
allows this list to be completely redefined. If one component is not necessary, it can be removed from the list. A new component could also be added in between in the future.
Action Plugins (alerting scripts)#
Examples#

Sending an alert - Workflow#

Snoozed alert - Workflow#