Documentation forServer & Application Monitor
Monitoring your applications and environment is a key capability of SolarWinds Observability Self-Hosted (formerly Hybrid Cloud Observability) and is available in the Essentials edition. Server & Application Monitor (SAM) is also available in a standalone module.

Use properties, variables, and macros in SAM alerts

To supplement the alert functionality available in the SolarWinds Platform, you can use various properties variables, and macros that are built into various SAM features, such as API pollers, application monitor templates, and component monitors.

This topic includes details about:

For a video overview, watch Alerting on an application.

Application monitor properties for alerts

You can use the following properties in alerts for application monitors.

Application Name

Select the names of currently configured application monitor templates as values.

Application Status

Indicate the status you want to receive alerts for: Critical, Down, Unknown, Up, or Warning.

Application monitor macros for alerts

The following macros are available if you select APM-Application as the property type.

"APM" was the original product name for SAM.

Application variable Macro Definition
${APM:ApplicationDetailsURL} ${N=SwisEntity;M=DetailsUrl} Hyperlink to the Application Details view that triggered the alert, or the Details page of the application that triggered the component.
${Availability} ${N=SwisEntity;M=ApplicationAlert.
ApplicationAvailability}
The status of the application.
${ComponentsWithProblems} ${N=SwisEntity;M=ApplicationAlert.
ComponentsWithProblems}
A comma-delimited list of components in a Down, Unknown, Warning, or Critical state.
${ComponentsWithProblems
Formatted}
${N=SwisEntity;M=ApplicationAlert.
ComponentsWithProblemsFormatted}
List of components that are not Up, along with the component status. HTML formatting is used for the Send e-mail action to improve the appearance of the listed components.
${ComponentsWithProblems
FormattedHtml}
${N=SwisEntity;M=ApplicationAlert.
ComponentsWithProblemsFormattedHtml}
List of components that are not Up along with the component status. Formatted with HTML tags for events that appear in the SolarWinds Platform Web Console.
${ComponentsWithStatus} ${N=SwisEntity;M=ApplicationAlert.
ComponentsWithStatus}
A comma-delimited list of all components and their current status.
${ComponentsWithStatus
Formatted}
${N=SwisEntity;M=ApplicationAlert.
ComponentsWithStatusFormatted}
List of components with component status, formatted with HTML tags.
${ComponentsWithStatus
FormattedHtml}
${N=SwisEntity;M=ApplicationAlert.
ComponentsWithStatusFormattedHtml}
List of components with the component status. Formatted with HTML tags for events that appear in the SolarWinds Platform Web Console.
${ID} ${N=SwisEntity;M=Application.
ApplicationID}
The numeric application ID of the specific application.
${LastTimeUp} ${N=SwisEntity;M=CurrentStatus.
LastTimeUp}
The date and time the application was last seen in an Up state.
${Name} ${N=SwisEntity;M=Application.
ApplicationAlert.ApplicationName}
The name of the application that is triggering the alert.
${NodeID} ${N=SwisEntity;M=Application.
Node.NodeID}
The numeric node ID of the server on which the application is monitored.
${SystemSummaryFormatted} ${N=SwisEntity;M=Application.
ApplicationAlert.
SystemSummaryFormatted}
System summary. HTML formatting is used for the Send e-mail action to improve the appearance of the listed components.
${SystemSummaryFormattedHtml} ${N=SwisEntity;M=ApplicationAlert.
SystemSummaryFormattedHtml}
System summary. Formatted with HTML tags for events that appear in the web console.
${TimeStamp} ${N=SwisEntity;M=Application.
CurrentStatus.ObservationTimestamp}
The last polling date and time of an application.

Component monitor properties for alerts

The following alert properties are available for component monitors.

Component Name

Specify the component name you want to base alert criteria on.

Click here for a list of SAM component monitors.

Component Type

Specify a component monitor type by its assigned ID.

Component monitor type ID
DHCP User Experience Monitor 35
Directory Size Monitor 38
DNS Monitor - TCP 4
DNS Monitor - UDP 5
DNS User Experience Monitor 15
Download Speed Monitor 25
Exchange Web Services User Experience Monitor 51
File Age Monitor 36
File Change Monitor 23
File Count Monitor 39
File Existence Monitor 28
File Size Monitor 22
FTP Monitor 7
FTP User Experience Monitor 24
HTTP Form Login Monitor 27
HTTP Monitor 6
HTTPS Monitor 14
IMAP4 Monitor 13
IMAP4 User Experience Monitor 30
JMX Monitor 49
LDAP User Experience Monitor 34
Linux/Unix Script Monitor 21
Log Parsing Monitor 61
MAPI User Experience Monitor 31
Nagios Script Monitor 50
NNTP Monitor 11
ODBC User Experience Monitor 16
Oracle User Experience Monitor 18
Performance Counter Monitor 37
POP3 Monitor 12
POP3 User Experience Monitor 29
Process Monitor – SNMP 8
Process Monitor - WMI 1
RADIUS User Experience Monitor 40
SMTP Monitor 10
SOAP Monitor 58
SQL User Experience Monitor 17
SNMP Monitor 32
SQL User Experience Monitor 17
TACACS+ User Experience Monitor 41
TCP Port Monitor 2
Tomcat Server Monitor 33
Web Link Monitor 26
Windows Event Monitor 42
Windows PowerShell Monitor 45
Windows Script Monitor 20
Windows Service Monitor 9
WMI Monitor 19

Component Status

Trigger alerts based on Critical, Down, Unknown, Up, and Warning status.

Response Time

Trigger alerts based on response time.

Statistic Data

Trigger alerts based on statistics returned during polling.

Process (Service) Name

Trigger alerts based on a process or service name. For example: dns.exe, or AlertingEngine.

Process Instance Count

Trigger alerts based on the number of instances running a process.

Percent CPU

Trigger alerts based on the percentage of CPU in use of a monitored process or service.

Percent Physical Memory

Trigger alerts based on the percentage of physical memory used for a process or service.

Percent Memory Used

Trigger alerts based on the percentage of total memory used for a process or service.

Percent Virtual Memory

Trigger alerts based on the percentage of virtual memory used for a process or service.

Virtual Memory Used

Trigger alerts based on the amount of virtual memory, in bytes, used for a process or service.

Component monitor variables for alerts

The following variables are available when selecting APM-Component as the property type.

Component monitor variable Macro Definition

${APM:
ComponentDetailsURL}

${N=SwisEntity;M=DetailsUrl} Hyperlink to the Component Details page that triggered the alert.
${ApplicationId} ${N=SwisEntity;M=Application.
ApplicationID}
The unique numeric identifier of the application, similar to the node ID.
${ApplicationName} ${N=SwisEntity;M=Application.
ApplicationAlert.
ApplicationName}
The name of the monitored application.
${ApplicationStatus} ${N=SwisEntity;M=Application.Status} The status of the application.
${ComponentId} ${N=SwisEntity;M=ComponentAlert.
ComponentID}
The numeric component ID of the specific application.
${ComponentMessage} ${N=SwisEntity;M=ComponentAlert.
ComponentMessage}
The message sent to alert on component status.
${ComponentName} ${N=SwisEntity;M=ComponentAlert.
ComponentName}
The name of the component, for example, SW Module Engine.
${ComponentStatus} ${N=SwisEntity;M=Status} The status of the specific component.
${ComponentType} ${N=SwisEntity;M=ComponentAlert.
ComponentType}
The numeric component type.
${DisplayType}

${N=SwisEntity;M=ComponentAlert.
DisplayType}

The display type for the specific monitor. For example, Windows Service.
${LastTimeUp}

${N=SwisEntity;M=ComponentAlert.
LastTimeUp}

The date and time the component was last seen in the Up state.
${MemoryUsed} ${N=SwisEntity;M=ComponentAlert.
MemoryUsed}
The memory used by a component, in bytes.
${MultiValueMessages} ${N=SwisEntity;M=ComponentAlert.
MultiValueMessages}
Message sent when alerting on the Multiple Value Chart.
${MultiValueStatistics} ${N=SwisEntity;M=ComponentAlert.
MultiValueStatistics}
Statistics sent when alerting on the Multiple Value Chart.
${NodeID} ${N=SwisEntity;M=ComponentAlert.
NodeId}
The numeric node ID of the server on which the application is monitored.
${Percent
ApplicationAvailability}
${N=SwisEntity;M=ComponentAlert.
PercentApplicationAvailability}
The availability of an application as a percentage.
${Percent
ComponentAvailability}
${N=SwisEntity;M=ComponentAlert.
PercentComponentAvailability}
The availability of a component as a percentage.
${PercentCPU} ${N=SwisEntity;M=ComponentAlert.
PercentCPU}
The amount of CPU used by a component as a percentage.
${PercentMemory} ${N=SwisEntity;M=ComponentAlert.
PercentMemory}
The memory used by a component as a percentage.
${PercentVirtualMemory} ${N=SwisEntity;M=ComponentAlert.
PercentVirtualMemory}
The virtual memory used by a component as a percentage.
${ProcessInstanceCount} ${N=SwisEntity;M=ComponentAlert.
ProcessInstanceCount}
The instance count of a process.
${ProcessName} ${N=SwisEntity;M=ComponentAlert.
ProcessName}
The process name.
${ResponseTime} ${N=SwisEntity;M=ComponentAlert.
ResponseTime}
The response time of a component.
${StatisticData} ${N=SwisEntity;M=ComponentAlert.
StatisticData}
The statistics data value of a component.
${StatusOrError
Description}
${N=SwisEntity;M=ComponentAlert.
StatusOrErrorDescription}
The status of the component, including the full text of any error messages.
${Threshold-CPU-Critical} ${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdCPUCritical}
The critical threshold for CPU.
${Threshold-CPU-Warning} ${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdCPUWarning}
The Warning threshold for the CPU.
${Threshold-
PhysicalMemory-Critical}
${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdPhysicalMemoryCritical}
The Critical threshold for physical memory.
${Threshold-
PhysicalMemory-Warning}
${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdPhysicalMemoryWarning}
The Warning threshold for physical memory.
${Threshold-ResponseTime-Critical} ${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdResponseTimeCritical}
The Critical threshold for response time.
${Threshold-ResponseTime-Warning} ${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdResponseTimeWarning}
The Warning threshold for response time.
${Threshold-Statistic-Critical} ${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdStatisticCritical}
The Critical threshold for statistics.
${Threshold-Statistic-Warning} ${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdStatisticWarning}
The Warning threshold for statistics.
${Threshold-
VirtualMemory-Critical}
${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdVirtualMemoryCritical}
The Critical threshold for virtual memory.
${Threshold-
VirtualMemory-Warning}
${N=SwisEntity;M=ComponentAlertThresholds.
ThresholdVirtualMemoryWarning}
The Warning threshold for virtual memory.
${TimeStamp} ${N=SwisEntity;M=CurrentStatus.
ObservationTimestamp}
The last polling date and time of a component.
${UserDescription} ${N=SwisEntity;M=ComponentAlert.
UserDescription}

A description of the component.

A default description is provided but can be changed. Updates are saved automatically.

${UserNotes} ${N=SwisEntity;M=ComponentAlert.UserNotes} Custom notes about a component.
${WindowsEventMessages} ${N=SwisEntity;M=ComponentAlert.
WindowsEventMessages}
Full details of the corresponding event.
${VirtualMemoryUsed} ${N=SwisEntity;M=ComponentAlert.
VirtualMemoryUsed}
The amount of virtual memory used by a component, in bytes.