Managing the E-mail with options Alarm plugin
Stay ahead of integration issues with the Nodinite E-mail with Options Alarm Plugin. This feature empowers you to send highly customizable, automated email alerts whenever your monitored systems change state. Ensure your team is always informed and ready to respond to incidents, improving uptime and operational efficiency.
On this page, you will learn how to:
✅ Configure advanced email alerts for integration monitoring
✅ Set up flexible recipient and SMTP options
✅ Automate incident response with monitoring state logic
✅ Customize email content and formatting for your needs using a Stylesheet
The E-mail with options Alarm Plugin sends an email when the status of Monitor Views changes, according to your configuration, for Users with the email property set.
You can send emails both when errors occur and when issues are resolved (positive and negative ACKs), ensuring your team is always informed.
Diagram: Visual overview of the alert-to-email process in Nodinite.
The E-mail with options Alarm Plugin comes pre-installed with the Nodinite Core Services.
Configuring the E-mail with options Alarm Plugin
You can configure the Alarm Plugin in two ways:
Role and Permission Requirements
Note
You need to be a Nodinite administrator or have appropriate permissions to access and configure the Alarm Plugin settings.
Audit and Logging
Nodinite logs all email sending events and authentication failures. These logs can be found in any or all of the following places (please review in the following order):
- Alarm Queue
- Distributed Notifications
- The Nodinite Audit log
- The Nodinite Monitoring Service diagnostic files
Global configuration
Configure the Alarm Plugin using the Nodinite Web Client by navigating to 'Administration' 'Settings' 'Alarm Plugins' and selecting 'E-mail options'. Review the Add or manage Alarm Plugin for generic details.
Example of navigating to the Alarm Plugins section in the Nodinite Web Client.
The following tabs are available for configuration:
Basic tab
On this tab, you set general properties for the 'E-mail options' plugin.
Example of the global configuration for E-mail with options Alarm Plugin.
Property | Description |
---|---|
Defaukt subject | The default subject for the e-mail (You can use macros like: {Customer}, {Environment}, {Version}, {Status}, {DateTime}, {StatusAndCount}, {Alarm.JsonPath:...} ) |
Default recurrence subject | The default recurrence subject for the e-mail (You can use macros like: {Customer}, {Environment}, {Version}, {Status}, {DateTime}, {StatusAndCount}, {Alarm.JsonPath:...} ) |
Web Client URL | Embed a link to the signaling Monitor View. Enter the URL to this Nodinite Web Client instance (NOTE: Do not use 'localhost') |
Send body as text | When checked, sends the email as both plain-text and HTML (HTML is the default). |
Recipients tab
This is where you set information about the sender and recipients.
Screenshot of the Recipients tab for configuring sender and recipient addresses.
Property | Description |
---|---|
Default Sender Address | The email address to use for sending the email alarms. |
Mail To | The email address to use as receiver for test mails. Repeat as necessary, one email per entry. |
Add one unique entry for each recipient email address. The email address is used as the To address in the email sent.
Example of the Mail To field for entering recipient email addresses.
Tip
Use a distribution list or group email address to send the email to multiple recipients. Try to avoid using individual email addresses to reduce the number of emails sent and reduce any personal dependencies.
Monitoring State Options
This is where you choose which evaluated monitoring states will trigger the email alert.
Screenshot of Monitoring State Options for selecting which states trigger alerts.
Property | Description |
---|---|
Send Alarm on OK | When checked, sends alarms to recipients for Monitor Views changing state to 'OK' |
Send Alarm on Warning | When checked, sends alarms to recipients for Monitor Views changing state to 'Warning' |
Send Alarm on Error | When checked, sends alarms to recipients for Monitor Views changing state to 'Error' |
Send Alarm on Unavailable | When checked, sends alarms to recipients for Monitor Views changing state to 'Unavailable' |
Send Alarm on Connection Error | When checked, sends alarms to recipients for Monitor Views changing state to 'Connection Error' |
Tip
You can override these settings in specific Monitor Views to customize which states trigger email alerts. This feature is documented here.
SMTP Options tab
Configure the essential SMTP settings from within the Server tab:
Example of SMTP settings for sending email alerts.
Property | Description |
---|---|
SMTP Server | The SMTP server in use to send or relay e-mails (DNS name or IP-address) |
Port | Specify the port to use connecting with the SMTP server. The default is port 25. For encrypted connections, use port 587 or 465 |
SSL is required | Check when the SMTP server requires an SSL connection |
Enable Authentication | Check when the SMTP server requires authentication to process requests. |
Authentication Type | If you have enabled authentication; Choose between Basic or OpenID authentication (v7.x and later). The default is Basic |
Info
- If your SMTP server supports TLS (Transport Layer Security), it is recommended to enable this feature by checking the SSL is required option. This ensures that the email content is encrypted during transmission, enhancing security and protecting sensitive information from potential interception.
- Passwords and secrets are stored encrypted in the database using a certificate, read more about this in the Secret Management user guide.
Basic Authentication
Use Basic authentication for SMTP servers that require a username and password for sending emails.
Screenshot of Basic authentication settings for the E-mail with options Alarm Plugin.
When Basic authentication is selected, provide the following details:
Property | Description |
---|---|
User name | User name for SMTP authentication |
Password | Basic authentication password |
Note
If you are using an SMTP server that supports anonymous relay from specific IP addresses (whitelisting), it is recommended to disable authentication as you will avoid potential issues with password expiration and account lockouts.
OpenID Authentication
New 7.x
With Nodinite v7, the E-mail with Options Alarm Plugin supports secure authentication using OpenID Connect (OAuth 2.0). This enables integration with identity providers for enhanced security when sending email alerts.
You need to register an application in your identity provider to obtain the necessary credentials.
Screenshot of OpenID authentication settings for the E-mail with options Alarm Plugin.
The following settings are required:
Property | Description |
---|---|
Client Id | The registered client ID for your identity provider |
Client Secret | Secret used for authentication |
OpenID Endpoint Configuration | URL to the OpenID Connect metadata endpoint |
Scope | Optional scope for the authentication request. For more than one scope, separate each with a comma. |
Info
- OpenID authentication for SMTP is available from Nodinite version 7.1.x and later.
- Secrets are encrypted using certificate-based encryption as described in the Secret Management user guide.
- If you need to update credentials, simply replace the client secret in the configuration; Nodinite will handle encryption automatically.
Troubleshooting OpenID Authentication
If you encounter issues sending emails with OpenID authentication, check the following:
- Ensure the registered application in your identity provider has the correct permissions and scopes.
- Verify the OpenID endpoint URL and credentials.
- Review Nodinite logs for authentication errors (see Monitoring Service diagnostics files or the Audit log).
- If test emails fail, you can click on the "Test" buttons and review error messages for details.
Specific Settings in Monitor Views
From any Monitor View including this plugin, a Nodinite administrator (or a user with sufficient permissions) can override the following settings:
Screenshot of Monitor View-specific settings for the E-mail with options Alarm Plugin.
Property | Description |
---|---|
Trigger on changed Resource state | Trigger alarms when a Resource changes state. By default, alarms trigger when the Monitor View changes state |
Override default Subject | Overrides the default subject set in plugin-specific settings |
Override default Mail To | Overrides the default recipient list set in plugin-specific settings |
Mail To | List of recipient email addresses for the alert. If left empty, the default specified email(s) are used |
Monitoring State Options | Choose which evaluated monitoring states will trigger the email alert |
Change the default Stylesheet | Select the Stylesheet used to format the alarm |
Enable Recurrence | Configure the recurrence for redistributing alarms |
You can also opt to use non-default settings for which monitoring states trigger the email alert:
Screenshot of override options for monitoring state triggers.
The options are documented in the global section on this page.
Execute and Restore Alarm test
Click either of the test buttons to execute a functional test. The system sends an email with the selected status option to the Test Mail address (configured in the Global configuration).
Important
If you do not receive any emails and there were no errors reported, make sure to check the junk mail folder.
Note
The "Restore Alarm test" feature is similar to the "Execute Alarm test", but instead sends an email with the OK status.
Stylesheet
💡Use a Stylesheet to customize the email content and formatting to meet your specific needs.
The E-mail with options Alarm Plugin uses a Stylesheet to format the email content. By default, it uses the built-in stylesheet named 'Alarm Plugin - Email with options'. You can make a copy and customize this stylesheet to tailor the email content to your requirements.
On the Alarm Plugin Object XML page, you will find an example XML representation of the alarm object sent to the Alarm Plugin. This example can be used as input for previewing or modifying the Stylesheet.
Working example with data
💡The following example illustrates how to use variables in the email subject line to provide dynamic and relevant information about the alarm.
The default subject is: Status Report from Nodinite - [{Customer} | {Environment}] - With {Status}
For example, you can use the following variables in the subject line:
- – Customer name of the Nodinite installation
- – Environment name (Prod, Test) of the Nodinite installation
- – Nodinite version
- – List of Monitor View statuses Errors, OK
- – List of Monitor View statuses and the number for each status 2 Errors, 1 OK
- – Date when the alarm was triggered
- {Alarm.JsonPath:
...
} – Advanced option using JsonPath to extract data from the alarm object sent to the alarm...
is a JsonPath to get the name of the log views, use expression{Alarm.JsonPath:MonitorViews[*].Name}
Advanced: Using JsonPath in the subject line
💡Use a JsonPath expression to extract dynamically changing values from the Alert.
You can use JsonPath to extract specific data from the alarm object sent to the Alarm Plugin. This allows you to include dynamic information in the email subject line based on the current state of the monitored resources.
Example JSON Paths #1 Named item in Collection:
The following JsonPath expression extracts the SLA value from the first integration in the first Monitor View:
MonitorViews[0].Integrations[0].CustomFields[?(@.Name=='SLA')].CustomValues[0].Value
Example JSON object
Below is an example of the JSON object to apply the JsonPath on:
{
"MonitorViews": [{
"MonitorViewId": 1,
"Name": "Test View",
"Description": "Simple unit testing view.",
"WebSite": null,
"StatusCode": {
"StatusCode": 0,
"Name": "OK"
},
"NumberOfMonitoredResources": 2,
"Integrations": [{
"IntegrationId": 1,
"Name": "INT001 - Orders to first company",
"Description": "",
"WebSite": "https://www.nodinite.com",
"CustomFields": [{
"CustomFieldId": 1,
"Name": "SLA",
"Description": "",
"WebSite": null,
"ValueType": {
"CustomFieldTypeId": 1,
"Name": "Text",
"Description": null,
"WebSite": null
},
"CustomValues": [{
"CustomValueId": 1,
"Value": "Gold",
"Description": "Act fast!!",
"WebSite": "https://www.nodinite.com",
"ValueType": {
"CustomFieldTypeId": 1,
"Name": "Text",
"Description": null,
"WebSite": null
}
}]
}],
"CustomMetaDatas": [{
"CustomMetaDataId": 1,
"Name": "Summary",
"Description": "My integration is the perfect one",
"WebSite": "https://www.nodinite.com",
"DataType": 1,
"CustomValues": [{
"CustomValueId": 1,
"Value": "My integration is the perfect one",
"Description": "Act fast!!",
"WebSite": "https://www.nodinite.com",
"ValueType": null
}]
},
{
"CustomMetaDataId": 2,
"Name": "SLA",
"Description": "Critical Errors",
"WebSite": "https://www.nodinite.com",
"DataType": 1,
"CustomValues": [{
"CustomValueId": 1,
"Value": "Gold",
"Description": "Act fast!!",
"WebSite": "https://www.nodinite.com",
"ValueType": null
}]
}]
}],
"ChangedResources": [{
"ResourceId": 1,
"Name": "First Resource - Send Port",
"Description": null,
"WebSite": "https://www.nodinite.com/resource/send-port",
"Monitoring Agent Configuration": {
"SourceId": 1,
"Name": "Test Monitoring Agent Configuration",
"Description": "Simple Monitoring Agent Configuration for testing purposes only.",
"Server": null,
"Environment": null,
"Version": null,
"WebSite": "https://www.nodinite.com/"
},
"Category": {
"CategoryId": 1,
"Name": "Send Ports",
"Description": "Send ports category.",
"WebSite": null
},
"Application": {
"ApplicationId": 1,
"Name": "BizTalk System",
"Description": "Default biztalk application",
"WebSite": "https://www.nodinite.com/application/biztalk-system"
},
"StatusCode": {
"StatusCode": 0,
"Name": "OK"
},
"LogText": "All OK!"
},
{
"ResourceId": 2,
"Name": "Second Resource - Receive Port",
"Description": null,
"WebSite": null,
"Monitoring Agent Configuration": {
"SourceId": 1,
"Name": "Test Monitoring Agent Configuration",
"Description": "Simple Monitoring Agent Configuration for testing purposes only.",
"Server": null,
"Environment": null,
"Version": null,
"WebSite": "https://www.nodinite.com/"
},
"Category": {
"CategoryId": 2,
"Name": "Receive Ports",
"Description": "Receive ports category.",
"WebSite": "https://www.nodinite.com/category/receive-ports"
},
"Application": {
"ApplicationId": 1,
"Name": "BizTalk System",
"Description": "Default biztalk application",
"WebSite": "https://www.nodinite.com/application/biztalk-system"
},
"StatusCode": {
"StatusCode": 0,
"Name": "OK"
},
"LogText": "All OK!"
}],
"Users": [{
"UserId": 1,
"Name": "\\IBSS\\IMuser",
"Description": null,
"MailAddress": "support@nodinite.com"
}]
},
{
"MonitorViewId": 2,
"Name": "Second View",
"Description": "Simple test view (second).",
"WebSite": null,
"StatusCode": {
"StatusCode": 2,
"Name": "ERROR"
},
"NumberOfMonitoredResources": 2,
"Integrations": [],
"ChangedResources": [{
"ResourceId": 10,
"Name": "LogAPI Queue",
"Description": "Queue for Nodinite's LogAPI.",
"WebSite": null,
"Monitoring Agent Configuration": {
"SourceId": 2,
"Name": "MSMQ",
"Description": "Monitoring Agent Configuration to monitor MSMQ queues.",
"Server": "IBSS-DEV01",
"Environment": "Production",
"Version": "1.0",
"WebSite": null
},
"Category": {
"CategoryId": 10,
"Name": "MSMQ Queue",
"Description": "MSMQ Queues category",
"WebSite": "https://msdn.microsoft.com/en-us/library/ms711472%28v=vs.85%29.aspx"
},
"Application": null,
"StatusCode": {
"StatusCode": 2,
"Name": "ERROR"
},
"LogText": "Number of messages in queue exceeded error limit."
},
{
"ResourceId": 11,
"Name": "LogAPI Test Queue",
"Description": "",
"WebSite": null,
"Monitoring Agent Configuration": {
"SourceId": 2,
"Name": "MSMQ",
"Description": "Monitoring Agent Configuration to monitor MSMQ queues.",
"Server": "IBSS-DEV01",
"Environment": "Production",
"Version": "1.0",
"WebSite": null
},
"Category": {
"CategoryId": 10,
"Name": "MSMQ Queue",
"Description": "MSMQ Queues category",
"WebSite": "https://msdn.microsoft.com/en-us/library/ms711472%28v=vs.85%29.aspx"
},
"Application": null,
"StatusCode": {
"StatusCode": 1,
"Name": "WARNING"
},
"LogText": "Number of messages in queue exceeded warning limit, but not error limit."
}],
"Users": [{
"UserId": 1,
"Name": "\\IBSS\\IMuser",
"Description": null,
"MailAddress": "support@nodinite.com"
}]
}],
"Version": "5.0.0.0",
"Environment": "Test",
"Customer": "Nodinite",
"Created": "2019-01-01T01:00:00.000000Z",
"WebClientUrl": "http://localhost/Nodinite/WebClient/",
"IsRecurring": false,
"ProductStatus": {
"IsTrial": false,
"ExpirationDate": null
}
}
Next Step
Alarm Plugins - Overview
Monitor Views