The Iguana X notification system is designed to make it simple to integrate into whatever notification system is appropriate for your organization. For instance, generating notifications from Iguana in applications like Slack, Microsoft Teams, ServiceNow, etc. or simply sending an email alert.
This way, the platform is future proofed and flexible to deal with changing requirements for best practices with regards to how to raise production issues.
Iguana X does this by checking the notification rules every 60 seconds and invoking a notifier component if a notification rule is triggered. This notifier component can be configured to send to any appropriate destination.
i.e. Condition triggered → Generates log → Notifier Component → Calls Slack.
Configuring Notifications:
Choose a Notifier Component:
You can use any component you wish to send notifications. For example, you can modify the Email Sender, Slack Notifier Adapter, or /wiki/spaces/CSHC/pages/2843410461 to use as your Notifier component.
Create Notification Rules:
Notification rules are created by specifying four criteria:
Matching Rule - apply notification conditions to components using pattern matching techniques
Every notification rule will have a Matching Rule to assign a notification rule to components. Iguana supports glob expression (*), boolean(and/or), or regular expressions (regex) with Tags to create matching rules. To use regex, simply enclose the expression in slash characters /<regex>/.
The table below provides an overview of example pattern matching techniques you can combine to create a matching rule.
Type | Example | Description |
---|
Wildcard | * | Apply to all components. |
#dev* | Apply to components with #dev followed by 0 or more characters |
OR | #prod #dev | Apply to components with either #prod OR #dev tags. |
AND | “#prod #dev“ | Apply to components with both #prod AND #dev tags. |
Negation | -#prod | Apply to all components without the #prod tag. |
“#prod -#dev” | Apply to all components with the #prod tag AND without #dev. |
Conditions - the notification rule which triggers a log alerts if met
Conditions are the notification rule criteria. If a condition is met, a log is generated and sent to the notifier component.
There are four types of conditions used to trigger notifications:
Errors: triggered if an error message is generated in the component(s) logs.
Inactivity: triggered if a component(s) has not processed messages in the specified time (in minutes).
Queue: triggered if a component(s) queue count exceeds the threshold value set.
Log Contains: triggered if a component(s) logs contain a matching pattern.
The Log Contains rule is the most flexible type of notification rule as you can leverage default logs generated by Iguana or custom log messages invoked from the Translator (see Custom Logging). The pattern can use strings (ex. component stopped) or regex patterns.
Priority - set the notification rule to be low, medium, high based on the criticality of the alert
You can mark a notification rule as low, medium or high based on the criticality of the alert. This value can be mapped to any external incident tracking system of your choice.
Limit - the number of notifications to be sent by a triggered condition within a 1 hour period
You can set a limit to the number of log triggers generated to control the number of notifications sent within a 1 hour period.
The default is set to 6 notifications per hour, the maximum can be set to 60 notifications per hour.
When a notification rule is triggered a log message is generated for the set notifier component. The log message is a JSON object containing the notification details such as component guid, the criteria (condition triggered), the threshold set and priority rating.
[{"component":"Custom_ByvlKqIG5aLpSZ","criteria":"error_count","priority":"low","threshold":"1"}]
Test your Notification Rules:
After creating a notification rule, it can be quickly tested by using the provided testing links.
Use the click here link to have Iguana check your notification rules.
Click on the logs link to view the log created by your notification rules.
Note: you can test all conditions expect for the “Log Contains” conditions as this is only triggered on newly generated logs. You can test this out by interacting with your components directly.