Variables and JSON Path examples for Alerts
Unlock the full power of dynamic, actionable notifications in Nodinite by leveraging built-in variables and JSONPath expressions. This guide shows you how to extract Repository Model data and tailor email and event log content for advanced integration monitoring.
✅ Personalize alerts with dynamic variables and JSONPath
✅ Extract actionable data from Repository Model for notifications
✅ Automate and customize email and event log content
✅ Empower rapid response and compliance for integration teams
Control the content in email and Windows Event Log entries using variables and JSONPath for maximum flexibility and actionable insights.
With Nodinite, you can dynamically generate alert content at run-time using built-in variables (like CustomerName, Environment) and data from the Repository Model. This enables you to deliver highly relevant, context-rich notifications to your team and stakeholders—empowering rapid response and compliance.
Typical use cases include:
- Event Log
- Event Source – Default:
Nodinite: [{Customer} | {Environment}]
- EventId (0-65535) – Defaults to 0 if the value is invalid or cannot be retrieved.
- Event Source – Default:
- Email Plugins
- Subject – Personalize subject lines with dynamic data for clarity and traceability.
Variables
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 statuses | Errors/OK |
{StatusAndCount} | List of Monitor View statuses and the count for each | 2 Errors/1 OK |
{DateTime} | Date when the alarm was triggered | 2019-05-17 13:37:00 |
{Alarm.JsonPath:... } |
Advanced: Use JSONPath to extract Repository data from the alarm object sent to the Alarm Plugin | See JSONPath examples below |
Example: Event Log entry using variables for dynamic output.
Important
The Windows Event Log does not accept certain characters for the Event Source name. Nodinite automatically adjusts the name to comply with these restrictions.
JSONPath Examples
Any valid JSONPath on the Alarm (JSON) object can be used to set run-time values for Subject, Event Source, and EventId. For example:
- Monitor View Name –
{Alarm.JsonPath:MonitorViews[*].Name}
- Repository Model Data
{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
Here is an example of an Alarm (JSON) object to apply your JSONPath expressions 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/",
"IsRecurring": false,
"ProductStatus": {
"IsTrial": false,
"ExpirationDate": null
}
}
Next Step
Alarm Plugins - Overview
Edit Alarm Plugins