- 10 minutes to read

Managing the E-mail with options Alarm plugin

Send alerts from Nodinite by e-mail.

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

E-mails can be sent when errors occur and when the problem has been solved (Positive and negative ACKs).

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

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

Configuring the E-mail with options 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 "E-mail", review the Add or manage Alarm Plugin for generic details.

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

Basic tab

Basic tab
Example of the global configuration for E-mail with options Alarm Plugin

Property Description
Web Client URL The URL for end-users back to your Nodinite Web Client instance
Subject The subject pattern of the e-mail. Available variables are {Customer}, {Environment}, {Version}, {Status}, {DateTime}, {StatusAndCount} and {Alarm.JsonPath:...}
Send body as text When checked, send the e-mail as a plain-text e-mail and as HTML, which is the default.

Recipients tab

This is where you set information about the sender and receivers.

Recipients tab

Property Description
Default Sender Address The e-mail address to use for sending the e-mail alarms.
Mail To The e-mail address should be used as receiver for test mails. Repeat as necessary, one e-mail per entry.

Montoring State Options

This is where you choose which evaluated Monitoring states to send the e-mail alert.

Monitoring State Options

Property Description
Send Alarm on OK When checked, send alarms to the e-mail recipients for Monitor Views changing its state to the 'OK' state
Send Alarm on Warning When checked, send alarms to the e-mail recipients for Monitor Views changing its state to the 'Warning' state
Send Alarm on Error When checked, send alarms to the e-mail recipients for Monitor Views changing its state to the 'Error' state
Send Alarm on Unavailable When checked, send alarms to the e-mail recipients for Monitor Views changing its state to the 'Unavailable' state
Send Alarm on Connection Error When checked, send alarms to the e-mail recipients for Monitor Views changing its state to the 'Connection Error' state

SMTP Options tab

Configure the essential SMTP settings from within the Server tab:
SMTP Options tab
Example of SMTP settings to set to send e-mail alerts.

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
Please avoid the use of a login; the SMTP server should have a white listing of the Nodinite application server

Specific Settings in Monitor Views

From a Monitor View, including this plugin, you can as a Nodinite administrator override the following settings:
SpecificSettings

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
Override default Subject Overrides the default subject set in plugin specific settings
Override default Mail To Overrides the default List with mail addresses set in plugin specific settings
Mail To List with recipient mail addresses of the alert, if left empty, the default specified e-mail(s) addresses are used
Monitoring State Options This is where you choose which evaluated Monitoring states to send the e-mail 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 what type of Monitoring states to send the e-mail alert on: Override Monitoring State Options
The options are documented in the global section on this page.

Execute and Restore Alarm test

Click on either of the test buttons to execute a functional test. An e-mail with the selected status option is sent to the Test Mail address (configured in the Global configuration).

If you do not receive any e-mails and there were no errors reported; Make sure to check the junk mail folder.

"Restore Alarm test" is similar to "Execute Alarm test" but instead sends an e-mail 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 JSON Paths #1 Named item in Collection MonitorViews[0].Integrations[0].CustomMetaDatas[?(@.Name=='SLA')].CustomValues[0].Value

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