- 9 minutes to read

Managing the E-mail with options Alarm plugin

Send alerts from Nodinite as e-mail

The e-mail with options 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).

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 Email 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 "Email", review the Add or manage Alarm Plugin for generic details.

Configuration tab
Example of global configuration for Email 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 email. Available variables are , , , , , and . ]
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

Server section

From within the Server section you manage some common SMTP related properties:

Server section

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:
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 mail addresses that should be used as receive mail alarms, if left empty default email(s) will be used
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 selected status will be sent to the Test Mail address (configured in the Global configuration).

If you do not receive any emails 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 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 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/",
	"ProductStatus": {
		"IsTrial": false,
		"ExpirationDate": null
	}
}

Next Step

Alarm Plugins - Overview
Monitor Views

Monitoring Service
Alarm Plugins