Last updated: 2019-03-27

Variables and JSON Path examples for Alerts

It is possible with Nodinite to write dynamic values during run-time based on Nodinite settings like CustomerName, Environment, and from the Alarm information including Resources and the optionally linked Repository Model.

You can use pre-defined Nodinite Variables and/or JsonPath to dynamically set run-time values for:

  • Source - Default value for Source is: Nodinite: [{Customer} | {Environment}]
    SourceName

Note: Remember the Event Log will not accept some characters for Source and actual name for Source may therefor have been altered by our code to honor those rules

  • EventId (0-65535) - Defaults to 0 if value is not provided or anything goes wrong getting the actual value

Variables

The following pre-defined Variables can be used for setting the run-time value for Source and EventId:

Variable name Description Example
{Customer} Customer name of the Nodinite installation ACME
{Environment} Environment name of the Nodinite installation Prod/Test/QA...
{Version} Nodinite version 5.1.3.37
{Status} List of Monitor View statues Errors/OK
{StatusAndCount} List of Monitor View statues and the number for each status 2 Errors/1 OK
{DateTime} Date when the alarm was triggered. 2019-05-17 13:37:00
{Alarm.JsonPath:...} Advanced option using JsonPath to extract for example Repository data from the alarm object sent to the Alarm Plugin See JSON Path examples below

JSON Path Examples

Any valid JsonPath on the Alarm (JSON) can be used for setting the run-time value for Source and EventId: Monitor View Name - {Alarm.JsonPath:MonitorViews[*].Name}

Data from the Repository Model

{Alarm.JsonPath:MonitorViews[0].Integrations[0].CustomMetaDatas[?(@.Name=='SLA')].CustomValues[0].Value}
{Alarm.JsonPath:MonitorViews[0].Integrations[0].CustomMetaDatas[?(@.Name=='Integration Number')].CustomValues[0].Value}

JSON Alarm Example

Example of Alarm (JSON) 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": "1",
					"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 LogAPI.",
			"WebSite": null,
			"Monitoring Agent Configuration": {
				"SourceId": 2,
				"Name": "MSMQ",
				"Description": "Monitoring Agent Configuration to monitor MSMQ queues.",
				"Server": "NODINITE-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": "NODINITE-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": "\\Domain\\user",
			"Description": null,
			"MailAddress": "support@nodinite.com"
		}]
	}],
	"Version": "5.0.0.0",
	"Environment": "Test",
	"Customer": "Nodinite",
	"Created": "2019-01-01T01:00:00.000000Z",
	"WebClientUrl": "https://localhost/Nodinite/WebClient/",
	"ProductStatus": {
		"IsTrial": false,
		"ExpirationDate": null
	}
}