[LogicMonitor.ResourceGroupAnalysis:]UPDATED

Adds a Resource Group Analysis tab to the XLSX output document.


Compatibility

The macro can be used in the highlighted input document types only. A greyed-out icon indicates not supported.


Usage

Does not work in Report Studio. The default columns output into the XLSX file are: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus', 'UserPermission' and 'Count'.


Updates

v4.69 days ago · September 2026

In the XLSX output, the 17 columns from DirectResourceCount to ResourceCount were written one column to the right of their headings, and the IsAlertingEnabled and IsAlertingDisabled values were swapped. Every value now sits under its own heading.

History (5)
v4.6One month ago · August 2026

A pivot table value field that cannot be understood is now reported as a warning rather than being ignored in silence. Reports still run and their output is unchanged; the macro is flagged with a warning naming the field, so a mistyped field can be seen rather than having to be noticed as a missing column.

v4.6One month ago · August 2026

No longer fails when a resource has the same property defined more than once, which happens whenever a property set on a resource group is overridden on a resource within it. The value used is the one LogicMonitor itself treats as effective.

v4.6One month ago · August 2026

No longer fails when a resource group's alert status has not been populated. Such a group is now treated as having no alert, exactly as one whose status is explicitly none: normal severity, unacknowledged and not in scheduled downtime.

v4.5One month ago · August 2026

A pivot table field name that does not match any column in the data now produces a warning naming it and the available columns, instead of being silently ignored.

One year ago · February 2025

The analysis pivot table can now be customised (column, filter, row and value fields).


Parameters (31)
Behaviour (3)8 additional
Parameter TypePresencePurpose Options Default
depth
Int32OptionalThe 'depth' of Resource Groups to include. E.g. a Resource Group in '/Customers/Customer A' would have a depth of 2. Leave empty to include all Resource Groups. N/A N/A
maxAttempts
Int32OptionalThe maximum number of attempts when requesting data via the LogicMonitor API.
  • From 1 to 2147483647
N/A
waitDuringUpgrades
BooleanOptionalWhether to wait during LogicMonitor upgrades (i.e. execution essentially pauses).
  • true
  • false
N/A
Additional (8)
Parameter TypePresencePurpose Options Default
desiredExecutionResult
List<ExecutionResult>OptionalIf specified, asserts the expected execution result of the macro. Accepts a single value or a semicolon-separated list of acceptable values (e.g. 'Success;Warning'). The macro executes normally; if the actual result matches any of the desired values, the result is converted to Success. If the actual result does not match, the result is converted to MacroError with a descriptive message. This is primarily used for testing and diagnostic purposes. Valid values are: 'Unknown', 'Success', 'MacroError', 'WorkerStopped', 'Running', 'Warning', 'NeverRun', 'Cancelled', 'Pending', 'Paused', 'SystemError', 'Deferred' and 'Stopped'.
  • Cancelled
  • Deferred
  • MacroError
  • NeverRun
  • Paused
  • Pending
  • Running
  • Stopped
  • Success
  • SystemError
  • Warning
  • WorkerStopped
N/A
errorOnOverflow
BooleanOptionalShould NCalc expression evaluation throw error on Overflow
  • true
  • false
true
expectedType
StringOptionalIf specified, asserts the expected output type of the macro result. The macro executes normally; if the actual type does not match, a macro error is generated. Requires 'storeAs', 'storeAsHidden', or 'storeFormattedValueAs' to be set for typed validation. Valid types include CLR names (e.g. Int32, Int64, Single, Double, Boolean, String, JArray, JObject) and C# keyword aliases (e.g. int, long, float, double, bool, string, uint, ulong, short, ushort, byte, sbyte, decimal, char, object). The special value 'Number' matches any numeric type. N/A N/A
expectedValue
StringOptionalIf specified, asserts the expected output value of the macro result. The macro executes normally; if the actual value does not match, a macro error is generated. When 'storeAs' or 'storeAsHidden' is set, the stored variable value is compared. Otherwise, the document output text is compared. N/A N/A
if
StringOptionalThe 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
mode
MacroModeOptionalThe mode in which variables are stored. In legacy mode (default for Schedules), the variable created is a string and formatted. In normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a JArray etc., rather than a formatted string.
  • Legacy
  • Normal
Legacy
obfuscation
ObfuscationTypeOptionalObfuscation 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
  • UkTown
  • DeviceName
  • Company
  • IpAddress
  • PrivateIpAddress
None
warning
StringOptionalIf 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
Chart (1)
Parameter TypePresencePurpose Options Default
addChart
BooleanOptionalWhether to add a chart to the Analytics worksheet.
  • true
  • false
true
Filtering & Sorting (1)
Parameter TypePresencePurpose Options Default
pivotTableFilterFields
List<String>OptionalThe pivot table filter fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Filters' section. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
Output (1)2 additional
Parameter TypePresencePurpose Options Default
worksheetName
StringOptionalThe name to use for the analytics worksheet (which will contain the pivot table and chart). The data worksheet (which will contain the 'fact table') uses this name plus the suffix ' Data'. If a worksheet by this name already exists, the new name will have a number appended, e.g. Analytics1, Analytics2, etc. Excel does not allow blank names, names above 31 characters, and the following characters: :, /, \, ?, *, [, ]. N/A Resource Group Analytics
Additional (2)
Parameter TypePresencePurpose Options Default
failureText
StringOptionalThe 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
failureVariable
StringOptionalThe name of a variable to create should the macro fail to execute. The variable will be a text variable, and will contain either the failure text (only if the failureText parameter is set), otherwise it will contain the exception / failure message. N/A N/A
General (9)2 additional
Parameter TypePresencePurpose Options Default
resourceGroupRegex
RegexConditionalThe regex to use to extract data from the Resource Group property specified using the 'resourceGroupRegexProperty' parameter. You should use named group syntax to name the column in Excel correctly e.g. ^api.(?.*) This would call the column 'ApiAccessType' and the value would be everything after the dot, so if the value was api.readonly, the output of the regex would be: readonly. To use this, you must also set the 'resourceGroupRegexProperty' parameter, or it will be ignored. N/A N/A
resourceGroupRegexProperty
StringConditionalThe Resource Group property to use in conjunction with the 'resourceGroupRegex' parameter. This allows additional columns and values to be created in the Excel document.Only has an effect when both parameters are set. N/A N/A
addTitle
BooleanOptionalWhether to add a title to the Analytics worksheet.
  • true
  • false
true
columnGrandTotals
BooleanOptionalWhether to add column grand totals to the pivot table.
  • true
  • false
true
pivotTableColumnFields
List<String>OptionalThe pivot table column fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Columns' section. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
pivotTableRowFields
List<String>OptionalThe pivot table row fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Rows' section. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
pivotTableValueFields
List<String>OptionalThe pivot table value fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Values' section. For each column name, you can specify the aggregation to use via the ^ character e.g. column1^Sum. Omit this to use the default Count aggregation. Valid aggregation values are: 'Average', 'Count', 'CountNumbers', 'Max', 'Min', 'Product', 'StdDev', 'StdDevP', 'Sum', 'Var' or 'VarP'. For each column name, if and only if you have specified an aggregation, you can also specify the number format to use in the pivot table and chart. To do this, use an additional caret separator and specify the number format. For example: column1^Sum^0.00 would use 2 decimal places for the format. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
properties
List<String>OptionalProperties on the Resource Groups to include in the output Excel document. Leave blank to include all. Duplicate (case-insensitively, as mandated by Excel headings) properties (e.g those found on Resource Groups) will be renamed with one or more trailing underscore (the '_' character). N/A all
rowGrandTotals
BooleanOptionalWhether to add row grand totals to the pivot table.
  • true
  • false
false
Additional (2)
Parameter TypePresencePurpose Options Default
comment
StringOptionalAdd a comment to make your document template more readable. The comment is discarded in the output document. N/A N/A
connectionName
StringOptionalThe name of the Connection. N/A N/A
Deprecated (4)
Parameter TypePreferred ParameterPurpose Options Default
columnFields
List<String>pivotTableColumnFieldsThe pivot table column fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Columns' section. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
filterFields
List<String>pivotTableFilterFieldsThe pivot table filter fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Filters' section. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
rowFields
List<String>pivotTableRowFieldsThe pivot table row fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Rows' section. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A
valueFields
List<String>pivotTableValueFieldsThe pivot table value fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Values' section. For each column name, you can specify the aggregation to use via the ^ character e.g. column1^Sum. Omit this to use the default Count aggregation. Valid aggregation values are: 'Average', 'Count', 'CountNumbers', 'Max', 'Min', 'Product', 'StdDev', 'StdDevP', 'Sum', 'Var' or 'VarP'. For each column name, if and only if you have specified an aggregation, you can also specify the number format to use in the pivot table and chart. To do this, use an additional caret separator and specify the number format. For example: column1^Sum^0.00 would use 2 decimal places for the format. You an use any of the heading names: 'AlertDisableStatus', 'AlertLevel', 'AlertsAreAcknowledged', 'AlertsAreInSdt', 'AlertStatusString', 'AppliesTo', 'AutoVisualResult', 'AwsResourceCount', 'AwsTestResult', 'AwsTestResultCode', 'AzureResourceCount', 'AzureTestResult', 'AzureTestResultCode', 'ClusterAlertStatusString', 'ClusterAlertStatusPriority', 'CreatedOnUtcDate', 'CreatedOnUtcDayOfWeek', 'CreatedOnUtcHourOfDay', 'CreatedOnUtc', 'DefaultAgentId', 'DefaultAutoBalancedCollectorGroupId', 'DefaultCollectorName', 'DefaultCollectorDescription', 'DefaultCollectorGroupDescription', 'DefaultCollectorGroupId', 'DefaultCollectorId', 'DefaultLoadBalanceCollectorGroupId', 'Description', 'DirectResourceCount', 'DirectSubGroupCount', 'EffectiveAlertEnabled', 'FullPath', 'GcpResourceCount', 'GcpTestResult', 'GcpTestResultCode', 'HasNetflowEnabledResources', 'Id', 'IsAlertingEnabled', 'IsAlertingDisabled', 'IsNetflowEnabled', 'KubernetesResourceCount', 'Name', 'ParentId', 'PropertyChangeWarningMessage', 'ResourceCount', 'ResourceGroupType', 'SaasTestResult', 'SaasTestResultCode', 'SdtStatus' and 'UserPermission'. N/A N/A

Examples (4)

Example 1

This example includes the standard details in addition to all Resource Group properties:

[LogicMonitor.ResourceGroupAnalysis:]

Example 2

This example includes the standard details in addition to specific Resource Group properties:

[LogicMonitor.ResourceGroupAnalysis: properties=api.account;api.user]

Example 3

This example uses the api.user property on a Resource Group, and names the column 'ApiAccessType' and inserts the value resulting from the regex match (e.g. readonly):

[LogicMonitor.ResourceGroupAnalysis: resourceGroupRegexProperty=api.user, resourceGroupRegex=`^api.(?<ApiAccessType>.*)`]

Example 4

This example customises configures the pivot table with various items:

[LogicMonitor.ResourceGroupAnalysis: resourceGroupRegexProperty=api.user, resourceGroupRegex=`^api.(?<ApiAccessType>.*)`, depth=2, pivotTableColumnFields=AlertStatus, pivotTableFilterFields=AlertStatusLevel, pivotTableRowFields=FullPath, pivotTableValueFields=GroupStatus]

Reconnection

Reconnection

Reconnection

timed out

timed out

Attempt of

Reload
An unhandled error has occurred. Reload 🗙