[LogicMonitor.AlertCount:]
Inserts an alert count based on alert filter criteria.
Purpose
Counts the number of alerts that were active in the reporting period, matching the filter supplied.
Macro Compatibility
The macro can be used in all input document types and in Report Studio.
Usage
The number of days for which alert data is retained in LogicMonitor varies according to whether you have a STANDARD, PRO, ENTERPRISE, MSP STANDARD or MSP PARTNER LogicMonitor set up. For some packages, alerts are only kept for 30 days, so please ensure that you are on one of the packages that keeps alerts for 60 days or more. For more information, check with your LogicMonitor account manager. More details about alert macros can be found at https://reportmagic.blogspot.com/p/reportmagic-alert-macros.html
Parameter | Type | Deprecation Message | Preferred Parameter | Presence | Purpose | Options | Default |
---|---|---|---|---|---|---|---|
AlertLevel | Conditional | Only include alerts at this level or above. |
|
Error | |||
Int32 | Conditional | Only include alerts relating to a LogicModule with this Id. WARNING! Multiple LogicModules could have the same Id. Only use with useCache=true. | N/A | N/A | |||
Regex | Optional | If present, only alerts with acknowledgement comments matching the regular expression are included. | N/A | N/A | |||
AckFilter | Optional | All: Both non-acknowledged alerts and acknowledged alerts will be returned. Acked: Alerts that have been acknowledged will be returned. Nonacked: Alerts that have not been acknowledged will be returned. |
|
All | |||
List<String> | Deprecated | alertTypes | The semicolon-separated list of alertTypes to fetch. Options are: 'AlertThrottled', 'BatchJob', 'CollectorDown', 'CollectorFailBack', 'CollectorFailover', 'DataSource', 'EventSource', 'Log', 'ResourceCluster', 'Unknown' or 'Website'. | N/A | N/A | ||
List<String> | Use instead of:
| Optional | The semicolon-separated list of alertTypes to fetch. Options are: 'AlertThrottled', 'BatchJob', 'CollectorDown', 'CollectorFailBack', 'CollectorFailover', 'DataSource', 'EventSource', 'Log', 'ResourceCluster', 'Unknown' or 'Website'. | N/A | N/A | ||
Boolean | Optional | If 'true', the reporting period will be the last calendar month and neither startDate nor endDate parameters may be used. |
|
false | |||
String | Optional | Post processing formula. Use {value} for the macro output, e.g. {value}/1024. | N/A | N/A | |||
Int32 | Deprecated | monitorObjectId | Simply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. | N/A | N/A | ||
Boolean | Optional | Whether to color table cells if thresholds are breached, rather than color the text. |
|
true | |||
String | Optional | Add a comment to make your document template more readable. The comment is discarded in the output document. | N/A | N/A | |||
String | Optional | The name of the LogicMonitor Connection. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'critical' if the output is after this DateTime UTC. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'critical' if the output is before this DateTime UTC. | N/A | N/A | |||
String | Optional | The macro is considered 'critical' if the output is equal to this value. | N/A | N/A | |||
Color | Optional | The critical font background color to use. If omitted, no change is made. |
|
N/A | |||
Boolean | Optional | Change the font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The critical font color to use. If omitted, no change is made. |
|
N/A | |||
Double | Optional | Change the critical font size in points. If omitted, no change is made. |
|
N/A | |||
String | Optional | The macro is considered 'critical' if the output is greater than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'critical' if the output is greater than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'critical' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |||
String | Optional | The macro is considered 'critical' if the output is less than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'critical' if the output is less than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'critical' if the output is not equal to this value. | N/A | N/A | |||
Color | Optional | The critical table cell background color to use. |
|
N/A | |||
String | Optional | The name of the dataPoint that you want to retrieve alert data for. | N/A | N/A | |||
String | Use instead of:
| Optional | The DataSource unique name. | N/A | N/A | ||
String | Use instead of:
| Optional | The Datasource Instance e.g. WinVolumeUsage-F: | N/A | N/A | ||
String | Deprecated | dataSourceInstance | The Datasource Instance e.g. WinVolumeUsage-F: | N/A | N/A | ||
String | Deprecated | dataSource | The DataSource unique name. | N/A | N/A | ||
String | Deprecated | monitorObjectDisplayName | The display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. | N/A | N/A | ||
String | Deprecated | resourceGroupName | Only include alerts relating to this device group (end with an asterisk (*) to include child device groups). Use "/" or not value to reference the root folder. | N/A | N/A | ||
Int32 | Deprecated | monitorObjectId | Simply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. | N/A | N/A | ||
String | Deprecated | monitorObjectDisplayName | The display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. | N/A | N/A | ||
DateTimeOffset | Optional | The end date in the format YYYY-MM-DD. | N/A | Midnight on the first day of this month | |||
DateTimeOffset | Optional | The macro is considered 'error' if the output is after this DateTime UTC. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'error' if the output is before this DateTime UTC. | N/A | N/A | |||
String | Optional | The macro is considered 'error' if the output is equal to this value. | N/A | N/A | |||
Color | Optional | The error font background color to use. If omitted, no change is made. |
|
N/A | |||
Boolean | Optional | Change the error font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The error font color to use. If omitted, no change is made. |
|
N/A | |||
Double | Optional | Change the error font size in points. If omitted, no change is made. |
|
N/A | |||
String | Optional | The macro is considered 'error' if the output is greater than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'error' if the output is greater than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'error' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |||
String | Optional | The macro is considered 'error' if the output is less than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'error' if the output is less than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'error' if the output is not equal to this value. | N/A | N/A | |||
Boolean | Optional | Should NCalc expression evaluation throw error on Overflow |
|
true | |||
Color | Optional | The error table cell background color to use. |
|
N/A | |||
String | Optional | The text to display should the macro fail to execute. Note that a poorly-specified macro (e.g. omitting mandatory parameters) will still result in an error message. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'fatal' if the output is after this DateTime UTC. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'fatal' if the output is before this DateTime UTC. | N/A | N/A | |||
String | Optional | The macro is considered 'fatal' if the output is equal to this value. | N/A | N/A | |||
Color | Optional | The fatal font background color to use. If omitted, no change is made. |
|
N/A | |||
Boolean | Optional | Change the fatal font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The fatal font color to use. If omitted, no change is made. |
|
N/A | |||
Double | Optional | Change the fatal font size in points. If omitted, no change is made. |
|
N/A | |||
String | Optional | The macro is considered 'fatal' if the output is greater than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'fatal' if the output is greater than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'fatal' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |||
String | Optional | The macro is considered 'fatal' if the output is less than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'fatal' if the output is less than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'fatal' if the output is not equal to this value. | N/A | N/A | |||
Color | Optional | The fatal table cell background color to use. |
|
N/A | |||
SdtFilter | Deprecated | sdted | Filter alerts by SDT status where SDT means only include alerts created during SDT in the results, NonSdt means only include alerts created outside SDT in the results and All shows all alerts. |
|
All | ||
Color | Optional | The font background color to use. |
|
N/A | |||
Boolean | Optional | Change the font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The font color to use. |
|
N/A | |||
Double | Optional | Change the font size in points. If omitted, no change is made. |
|
N/A | |||
String | Optional | The formatting to use for numbers. You can also specify 'format=string' to force numbers to be treated as strings. | N/A | N/A | |||
String | Deprecated | resourceGroupName | Only include alerts relating to this device group (end with an asterisk (*) to include child device groups). Use "/" or not value to reference the root folder. | N/A | N/A | ||
Boolean | Optional | Whether to hide the macro output. |
|
false | |||
String | Deprecated | monitorObjectDisplayName | The display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. | N/A | N/A | ||
String | Optional | The specific unique alert ID to fetch. | N/A | N/A | |||
String | Optional | The condition that must be true in order for the macro to be executed/evaluated. Must either evaluate to true or false, for example: "3+5=8" or "contains('abcd', 'z'). | N/A | true | |||
Boolean | Optional | true: Historical alert records will be returned (i.e. both active and inactive alert details). false: Only active alert details will be returned. |
|
true | |||
DateTimeOffset | Optional | The macro is considered 'info' if the output is after this DateTime UTC. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'info' if the output is before this DateTime UTC. | N/A | N/A | |||
String | Optional | The macro is considered 'info' if the output is equal to this value. | N/A | N/A | |||
Color | Optional | The info font background color to use. If omitted, no change is made. |
|
N/A | |||
Boolean | Optional | Change the info font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The info font color to use. If omitted, no change is made. |
|
N/A | |||
Double | Optional | Change the info font size in points. If omitted, no change is made. |
|
N/A | |||
String | Optional | The macro is considered 'info' if the output is greater than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'info' if the output is greater than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'info' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |||
String | Optional | The macro is considered 'info' if the output is less than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'info' if the output is less than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'info' if the output is not equal to this value. | N/A | N/A | |||
Color | Optional | The info table cell background color to use. |
|
N/A | |||
String | Deprecated | problemSignature | Only include alerts matching this problem signature (InternalId). | N/A | N/A | ||
Int32 | Optional | The maximum number of attempts when requesting data via the LogicMonitor API. |
|
N/A | |||
Int32 | Optional | Filter alerts where the alert has been active for more than the specified number of minutes. | N/A | N/A | |||
MacroMode | Optional | The mode in which variables are stored. In the legacy mode (default for Schedules), the variable created is a string and formatted. In the normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a List |
|
Legacy | |||
String | Use instead of:
| Optional | The display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. | N/A | N/A | ||
Int32 | Use instead of:
| Optional | Simply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. | N/A | N/A | ||
MonitorObjectType | Optional | Determines whether the monitored object in question is a Device or a Website, when specifying the Monitor Object ID and 'useCache=false'. This is necessary because there are specific LogicMonitor API calls to fetch alerts that are used in each case, in order to ensure that, for example, a Device that has had its name changed can still be queried for all alerts by its ID. Just specifying the Monitor Object ID alone is insufficient to determine the type. |
|
Device | |||
Int32 | Optional | If set, sets 'endDate' to the 'start' plus the specified number of months. | N/A | N/A | |||
Color | Optional | The normal font background color to use. If omitted, no change is made. |
|
N/A | |||
Boolean | Optional | Change the normal font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The normal font color to use. If omitted, no change is made. |
|
N/A | |||
Double | Optional | Change the normal font size in points. If omitted, no change is made. |
|
N/A | |||
Color | Optional | The normal table cell background color to use. If omitted, no change is made. |
|
N/A | |||
ObfuscationType | Optional | Obfuscation type. Use obfuscation to write reports where sensitive data is hidden. When used, ReportMagic guarantees that the same input string will map to the same output string for the whole of the report (but the next time the report runs, it will most likely map to a different value). If you use obfuscation, the property in your macro will not show up and instead, you will see a fake item of the obfuscation type chosen. |
|
None | |||
String | Optional | The order the alerts should be retrieved in. | N/A | StartOnSeconds | |||
Filters.OrderDirection | Optional | The direction of the order the alerts should be retrieved in. |
|
Desc | |||
Normal mode |
Boolean | Optional | Any macros that output lists can optionally (in Normal mode) output a jArray instead. |
|
true | ||
String | Use instead of:
| Optional | Only include alerts matching this problem signature (InternalId). | N/A | N/A | ||
Boolean | Optional | Whether to recurse device groups. Specify true to include alerts from child device groups. |
|
true | |||
Boolean | Optional | Whether substituted variables are hidden from macro results (and the word 'REDACTED' will appear in progress screens and elsewhere in the web UI). |
|
false | |||
String | Use instead of:
| Optional | Only include alerts relating to this device group (end with an asterisk (*) to include child device groups). Use "/" or not value to reference the root folder. | N/A | N/A | ||
String | Optional | Only include alerts relating to a LogicModule with this **Display Name** (NOT unique name). WARNING! Multiple LogicModules (even of the same type) could have the same display name. | N/A | N/A | |||
Regex | Optional | If present, only alerts with a resource template name matching the regular expression are included. | N/A | N/A | |||
Int32 | Deprecated | take | The maximum number to take. | N/A | N/A | ||
SdtFilter | Use instead of:
| Optional | Filter alerts by SDT status where SDT means only include alerts created during SDT in the results, NonSdt means only include alerts created outside SDT in the results and All shows all alerts. |
|
All | ||
Int32 | Due to an issue with the LogicMonitor API, you should no longer filter alerts using any of the parameters: dataSourceName, dataSourceId, websiteName, websiteId. You have some choices, but the 'too long, didn't read' version is 'use a combination of resourceTemplateId and alertType parameters to filter by a specific LogicModule.' Here's the full spiel: 1) If you want to filter by a string, please filter using the resourceTemplateName and the *DisplayName* (not the unique name), but be aware that alerts from any other LogicModule with the same name will also be included - if there is only one LogicModule with this display name, you will have the desired outcome. 2) If you want to filter by an id, please filter using resourceTemplateId, but be aware that alerts from any other LogicModule with the same name will also be included - if there is only one LogicModule with this Id, you will have the desired outcome. You can use this in combination with the alertType parameter and a single alertType (e.g. DataSource) to guarantee the desired outcome. | monitorObjectId | Optional | DEPRECATED | N/A | N/A | |
String | Due to an issue with the LogicMonitor API, you should no longer filter alerts using any of the parameters: dataSourceName, dataSourceId, websiteName, websiteId. You have some choices, but the 'too long, didn't read' version is 'use a combination of resourceTemplateId and alertType parameters to filter by a specific LogicModule.' Here's the full spiel: 1) If you want to filter by a string, please filter using the resourceTemplateName and the *DisplayName* (not the unique name), but be aware that alerts from any other LogicModule with the same name will also be included - if there is only one LogicModule with this display name, you will have the desired outcome. 2) If you want to filter by an id, please filter using resourceTemplateId, but be aware that alerts from any other LogicModule with the same name will also be included - if there is only one LogicModule with this Id, you will have the desired outcome. You can use this in combination with the alertType parameter and a single alertType (e.g. DataSource) to guarantee the desired outcome. | resourceTemplateDisplayName | Optional | DEPRECATED | N/A | N/A | |
Normal mode |
Boolean | Optional | In Normal Mode and for macros that output JArrays only, whether to convert a JArray of single-property jObjects into a flat JArray of values. |
|
false | ||
Int32 | Optional | The number of items to skip. | N/A | N/A | |||
DateTimeOffset | Optional | The start date in the format YYYY-MM-DD. | N/A | Midnight on the first day of last month | |||
String | Optional | The variable to store the result as. | N/A | N/A | |||
String | Optional | The variable to store the result as, while hiding the output. Equivalent to 'storeAs=ThisValue, hidden=true'. | N/A | N/A | |||
Char | Optional | The delimiter used by storeAs to split the input (Legacy mode only), when there are multiple stored variables. For example, in this macro, we indicate that the value to be stored should be split by the asterisk when being stored: [String:value=a*b*c*d, storeAs=var1;var2;var3;var4, storeAsVariableDelimiter=*] | N/A | ; | |||
String | Optional | The name of the STRING variable to store the result as and output (both will use the same format) into the report. Note that if you also use 'storeAsHidden' in the same macro, you should not expect the output to be hidden, as this parameter overrides that. | N/A | N/A | |||
Int32 | Use instead of:
| Optional | The maximum number to take. | N/A | N/A | ||
Boolean | Optional | Whether to use the cache (where supported). |
|
false | |||
Boolean | Optional | Whether to wait during LogicMonitor upgrades (i.e. execution essentially pauses). |
|
N/A | |||
String | Optional | If specified, adds a warning message for this macro. This is processed as an NCalc, and the warning message will ALWAYS be present and will be the value of the evaluated NCalc expression. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'warning' if the output is after this DateTime UTC. | N/A | N/A | |||
DateTimeOffset | Optional | The macro is considered 'warning' if the output is before this DateTime UTC. | N/A | N/A | |||
String | Optional | The macro is considered 'warning' if the output is equal to this value. | N/A | N/A | |||
Color | Optional | The warning font background color to use. If omitted, no change is made. |
|
N/A | |||
Boolean | Optional | Change the warning font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |||
Color | Optional | The warning font color to use. If omitted, no change is made. |
|
N/A | |||
Double | Optional | Change the warning font size in points. If omitted, no change is made. |
|
N/A | |||
String | Optional | The macro is considered 'warning' if the output is greater than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'warning' if the output is greater than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'warning' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |||
String | Optional | The macro is considered 'warning' if the output is less than or equal to this value. | N/A | N/A | |||
String | Optional | The macro is considered 'warning' if the output is less than this value. | N/A | N/A | |||
String | Optional | The macro is considered 'warning' if the output is not equal to this value. | N/A | N/A | |||
Color | Optional | The warning table cell background color to use. |
|
N/A | |||
Int32 | Deprecated | monitorObjectId | Simply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. | N/A | N/A |
Examples (2)
Example 1: Normal mode
This example finds the first Device in the LogicMonitor portal, then outputs the number of alerts:
[LogicMonitor.DeviceList: deviceGroups=/, recurseDeviceGroups=true, orderBy=Status, mode=Normal, =>DeviceGroupsA] Device [Json.List: jArray=`{=DeviceGroupsA}`, jsonPath="$.[0].DisplayName", storeAs=Device] has [LogicMonitor.AlertCount: device={Device}] alerts.
Example 2: Normal mode
This example finds the first Device in the LogicMonitor portal, then outputs the number of active alerts:
[LogicMonitor.DeviceList: deviceGroups=/, recurseDeviceGroups=true, orderBy=Status, mode=Normal, =>DeviceGroupsB] Device [Json.List: jArray=`{=DeviceGroupsB}`, jsonPath="$.[0].DisplayName", storeAs=Device] has [LogicMonitor.AlertCount: device={Device}, includeInactive=false] active alerts.