Adds an Instance Analysis tab to the XLSX output document.
Purpose
Adds an Instance Analysis tab to the XLSX output document. This provides a summary of graph data for a specific Resource Group, DataSource and Graph.
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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum', 'ItemCount' and 'Count'.
Updates
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.
History (2)
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.
Added the 'propertiesOnly' parameter, which skips graph data collection entirely and instead explodes the DataSource Instance's standard properties and (optionally, via 'properties') Custom/System/Auto properties into columns - similar to [LogicMonitor.ResourceAnalysis:].
Mandatory (2)
| Parameter | Type | Purpose | Options | Default |
| String | The unique DataSource name to analyse. | N/A | N/A | |
| String | Only include resources relating to this Resource Group(s) (end each with an asterisk (*) to include child Resource Groups). Use "/" or no value to reference the root folder. | N/A | N/A |
Behaviour (3)8 additional
| Parameter | Type | Presence | Purpose | Options | Default |
| Int32 | Optional | The maximum number of attempts when requesting data via the LogicMonitor API. |
|
N/A | |
| Boolean | Optional | When true, skips graph data collection entirely (the 'dataSourceGraphName' parameter is not required). The graph-based columns (Min, Mean, Max, First, Last, Sum, ItemCount and Count) are replaced with the instance's standard properties as columns (Description, GroupName, GroupId, AlertStatus, AlertDisableStatus, SdtStatus, StopMonitoring, DisableAlerting, CollectorId, WildValue and WildValue2), plus (via the 'properties' parameter) one column per requested Custom/System/Auto property - similar to LogicMonitor.ResourceAnalysis, so all instances can be reviewed and validated in one wide table. A 'AllAsJObject' column is also included, containing the DataSource Instance's full set of properties, matching those available from the other LogicMonitor.Instance* macros. The 'ResourceGroupName', 'ResourceDisplayName' and 'InstanceName' identifying columns are still present. Defaults to false, to maintain backward compatibility. |
|
false | |
| Boolean | Optional | Whether to wait during LogicMonitor upgrades (i.e. execution essentially pauses). |
|
N/A |
Additional (8)
| Parameter | Type | Presence | Purpose | Options | Default |
| List<ExecutionResult> | Optional | If 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'. |
|
N/A | |
| Boolean | Optional | Should NCalc expression evaluation throw error on Overflow |
|
true | |
| String | Optional | If 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 | |
| String | Optional | If 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 | |
| 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 | |
| MacroMode | Optional | The 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 | |
| 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 | 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 |
Filtering & Sorting (1)
| Parameter | Type | Presence | Purpose | Options | Default |
| List<String> | Optional | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A |
Output (2)2 additional
| Parameter | Type | Presence | Purpose | Options | Default |
| Double | Optional | The value to use for aggregations where no data is present. Default: null. | N/A | N/A | |
| String | Optional | The 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 | Instance Analytics |
Additional (2)
| Parameter | Type | Presence | Purpose | Options | Default |
| 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 | |
| String | Optional | The 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 | Type | Presence | Purpose | Options | Default |
| String | Mandatory | The unique DataSource name to analyse. | N/A | N/A | |
| String | Mandatory | Only include resources relating to this Resource Group(s) (end each with an asterisk (*) to include child Resource Groups). Use "/" or no value to reference the root folder. | N/A | N/A | |
| Boolean | Optional | Whether to add a title to the Analytics worksheet. |
|
true | |
| Boolean | Optional | Whether to add column grand totals to the pivot table. |
|
true | |
| List<String> | Optional | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A | |
| List<String> | Optional | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A | |
| List<String> | Optional | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A | |
| List<String> | Optional | Only applies when 'propertiesOnly'=true. Instance Custom / System / Auto properties to include as additional columns (e.g. to classify instances by a custom property). If you would like to include every property found use "all", but be aware that this may greatly increase the macro processing duration and the size of the output document. Duplicate (case-insensitively, as mandated by Excel headings) property names will be renamed with one or more trailing underscore (the '_' character). | N/A | N/A | |
| Boolean | Optional | Whether to add row grand totals to the pivot table. |
|
false |
Deprecated (6)
| Parameter | Type | Preferred Parameter | Purpose | Options | Default |
| String | resourceGroupName | Only include resources relating to this Resource Group(s) (end each with an asterisk (*) to include child Resource Groups). Use "/" or no value to reference the root folder. | N/A | N/A | |
| String | resourceGroupName | Only include resources relating to this Resource Group(s) (end each with an asterisk (*) to include child Resource Groups). Use "/" or no value to reference the root folder. | N/A | N/A | |
| List<String> | pivotTableColumnFields | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A | |
| List<String> | pivotTableFilterFields | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A | |
| List<String> | pivotTableRowFields | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A | |
| List<String> | pivotTableValueFields | The 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: 'ResourceGroupName', 'ResourceDisplayName', 'InstanceName', 'Min', 'Mean', 'Max', 'First', 'Last', 'Sum' and 'ItemCount'. | N/A | N/A |
Examples (4)
Example 1Normal mode
This example runs in Normal Mode:
[LogicMonitor.DeviceGroupList: mode=Normal , deviceGroups=/, recurseDeviceGroups=true, property=FullPath, =>A, orderBy=Description][Json.List: jArray=`{A}`, jsonPath="$.[0].FullPath", =>DeviceFullPath]
*** [String: value={DeviceFullPath}] *** : [LogicMonitor.InstanceAnalysis: resourceGroupName={DeviceFullPath}, dataSourceName=snmp64_If-, dataSourceGraphName=Operating Status, failureText=No info]Example 2
This Normal Mode example customises configures the pivot table with various items:
[LogicMonitor.DeviceGroupList: mode=Normal, deviceGroups=/, recurseDeviceGroups=true, property=FullPath, =>A, orderBy=Description]
[Json.List: jArray=`{A}`, jsonPath="$.[0].FullPath", =>DeviceFullPath]
*** [String: value={DeviceFullPath}] *** : [LogicMonitor.InstanceAnalysis: resourceGroupName={DeviceFullPath}, dataSourceName=snmp64_If-, dataSourceGraphName=Operating Status, pivotTableColumnFields=ResourceGroupName, pivotTableFilterFields=ResourceDisplayName, pivotTableRowFields=InstanceName, pivotTableValueFields=InstanceName, failureText=No info]Example 3
This example uses 'propertiesOnly' to validate instance properties without collecting (much slower) graph data. No 'dataSourceGraphName' is required:
[LogicMonitor.InstanceAnalysis: resourceGroupName=*, dataSourceName=snmp64_If-, propertiesOnly=true]Example 4
This example reviews interface descriptions across a Resource Group, to help classify which are core trunk links, and also includes a Custom Property:
[LogicMonitor.InstanceAnalysis: resourceGroupName=PDL - Panoramic Data/Datacenter, dataSourceName=snmp64_If-, propertiesOnly=true, properties=link.type]