- 8 minutes to read

Managing the E-mail Alarm plugin

Send alerts from Nodinite as e-mail

The e-mail Alarm Plugin sends an email when the status of Monitor Views changes according to configuration for Users with the email property set.

Emails can be sent both when errors occur and when the problem has been solved (Positive and negative ACKs).

Tip

You should use the E-mail with options if possible since that Alarm Plugin provides more options.

graph LR alert(fa:fa-bolt Alert)--> |Users with email configured| mail[fa:fa-envelope Mail]

The e-mail Alarm Plugin comes pre-installed with the Nodinite Core Services.


Configuring the Email Alarm Plugin

There are two ways of configuring the Alarm Plugin:

  1. Global configuration
  2. Specific Settings in Monitor Views

global-configuration

You can configure the Alarm Plugin using Nodinite's Web Client by navigating to "Administration", "Settings", "Alarm Plugins" and choose "Email", review the Add or manage Alarm Plugin for generic details.

Global Configuration tab (6.1.0.38)
Here's an example of the global configuration for the Email Alarm Plugin

There are three different tabs with settings:

  1. General
  2. Recipients
  3. SMTP Options

Basic tab

In the General tab the Administrator of the System may set some essential properties.
Basic tab (6.1.0.38)

Property Description
Web Client URL The URL for end-users back to your Nodinite Web Client instance
Subject The subject pattern of the email. Available variables are , , , , , and

Recipients tab

In the Recipients tab the Administrator of the System may enter the list of Recipients.

Recipients tab (6.1.0.38)

Property Description
Test Mail To The email address that should be used as receiver for test mails
From The email address that should be used as sender for mail alarms

SMTP Options tab

Configure the essential SMTP settings from within the Server tab:
SMTP Options tab (6.1.0.38)

Property Description
Server DNS name or IP-address of SMTP server
Port The port used to connect to the SMTP server default is 25, for encrypted connections 587 or 465 is commonly used
Enable SSL If an SSL connection should be used to connect to SMTP server
Use Authentication If the server requires authentication to allow mails to be sent
User name User name used for authentication with SMTP server
Password Password used for authentication with SMTP server

Specific Settings in Monitor Views

From any Monitor View you can as a Nodinite administrator override the following settings:
Specific Settings

Property Description
Trigger on changed Resource state Trigger alarms when a Resource changes state, default is to trigger alarm when the Monitor View changes state
Change the default Stylesheet Select the Stylesheet used to format the alarm
Enable Recurrence Configure the recurrence for redistributing alarms

Execute and Restore Alarm test

When an Alarm test is executed, an email with the selected status is sent 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.

Info

The "Restore Alarm test" is similar to "Execute Alarm test", but instead, it sends an email with the OK status.


Stylesheet

The plugin support stylesheets of type XSLT

Here's an example input to use for the preview if modifying the stylesheet Alarm Plugin Object XML.

Working example with data

Default subject is: Status Report from Nodinite - [{Customer} | {Environment}] - With {Status}

Variables to use in the subject field:

  • - Customer name of the Nodinite installation
  • - Environment name (Prod, Test) of the Nodinite installation
  • - Nodinite version
  • - List of Monitor View statues Errors, OK
  • - List of Monitor View statues 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 name of the log views use expression {Alarm.JsonPath:MonitorViews[*].Name}

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
				}]
			}]
		}],
		"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

E-mail with options
Alarm Plugins - Overview
Monitor Views

Monitoring Service
Alarm Plugins