- 14 minutes to read

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.

graph LR alert(fa:fa-bolt Alert)--> |Recipients| mail[fa:fa-envelope Mail]

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):

  1. Alarm Queue
  2. Distributed Notifications
  3. The Nodinite Audit log
  4. 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.
Web Client Navigation
Example of navigating to the Alarm Plugins section in the Nodinite Web Client.

The following tabs are available for configuration:

  1. Basic
  2. Recipients
  3. Monitoring State Options
  4. SMTP Options

Basic tab

On this tab, you set general properties for the 'E-mail options' plugin.

Basic tab
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.

Recipients tab
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.

Mail to
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.

Monitoring State Options
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:

SMTP Options 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.
Basic Authentication Settings
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.
OpenID Authentication Settings
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:

Specific 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:

Override Monitoring State Options
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

Monitoring Service
Alarm Plugins