v.223 Release Notes
Last updated on 26 June, 2025Dashboards
Case-Insensitive Instance Property Filtering in Dashboards
Filtering logic for instance properties in dashboards is now case-insensitive. Values such as “ABC”, “abc”, and “Abc” are treated as equivalent, preventing duplicate entries in filter drop-downs and ensuring consistent filtering behavior.
To access this improvement, navigate to a Dashboard and create a filter.
For more information, see Modern Dashboards in the product documentation.
Billing Widget Now Available in Dashboards
You can now create Billing widgets in the LogicMonitor dashboard to visualize cloud cost information.
This widget provides several customized views of billing data at a glance. You can also drill down to more granular billing data within the widget, enhancing visibility of cloud spending.
To create a Billing widget, go to Dashboards and select Add Widget > Billing.
Access to the Cost Optimization product is required to create Billing widgets.
For more information, see Billing Widget in product documentation.
Fixed an issue that allowed a read-only API user to inadvertently create and delete a widget sharing link.
Fixed an issue that allowed an API user without proper permissions to bypass permission checks and delete a dashboard.
Integrations
Support for Full ServiceNow Domain Configuration
You can now configure LogicMonitor to connect to your ServiceNow instance using a full custom domain URL. This enables support for instances hosted on nonstandard or region-specific domains, enhancing compatibility for varied ServiceNow environments.
Previously, only the Subdomain field was available, requiring users to specify only the subdomain prefix of their ServiceNow instance (for example, dev for dev.service-now.com). With this new option, you can now toggle between subdomain-only and full domain configuration using the new Use Custom Domain URL switch.
For more information, see ServiceNow (Incident Management) Integration in the product documentation.
Modules
Enhanced Script NetScans Now Groovy 4 Compatible
The following Enhanced Script NetScans for various platforms are now Groovy 4 compatible. For more information, see the product documentation:
Enhanced lm.data.topo Snippet
The enhanced lm.data.topo snippet now blocks the Kubernetes Linux Calico MAC address. This prevents non-unique Calico MAC addresses from polluting topology data, improving the accuracy of network topology maps.
Enhanced VMware vSphere NetScan
The enhanced VMware vSphere NetScan now places resources within the associated Root Folder in the Resource Tree. This enhancement improves resource organization.
For more information, see VMware vSphere Monitoring in the product documentation.
Enhanced cisco.ucs Snippet
The cisco.ucs
snippet now correctly escapes special characters in passwords. This enhancement ensures reliable authentication and prevents script execution failures due to unescaped characters.
Apache Groovy 4 Support for all LogicMonitor-Provided LogicModules
In a future release, LogicMonitor Collectors will no longer support Apache Groovy 2. All official LogicMonitor-provided modules will be compatible with Apache Groovy 4. To support this migration, LogicMonitor will be releasing updates to official LogicModules to be compatible with Groovy 4.
As a result of this migration, you must do the following:
- Validate any customized or community-provided modules to ensure compatibility
For more information about validating your customized modules, see Custom Module Groovy Migration Validation in the product documentation. - Install a module update for LogicMonitor-provided modules that have compatibility changes released.
For more information, see LogicMonitor Provided Modules Groovy 4 Migration in the product documentation. - Update Enhanced Script NetScans to Groovy 4 compatible scripts.
For more information, see Enhanced Script NetScans Now Groovy 4 Compatible in the Modules section of the Release Notes.
For more information on the timeline of this migration, see Apache Groovy 2 End-of-Life Milestone Public Announcement.
The LogicMonitor EA Collector 34.500 or later is compatible with Groovy 2 and Groovy 4. For more information about the EA Collector release, see the EA Collector 34.500 Release Notes.
The LogicMonitor EA Collector 37.100, which is now available, will use Groovy 4 instead of Groovy 2. In accordance with Collector versioning, a stable EA version is designated as an optional general release (GD).
Note: The LogicMonitor GD Collector, available in an upcoming release, will use Groovy 4 instead of Groovy 2. In accordance with Collector versioning, a stable GD version is designated as an optional general release (MGD).
When running a module using Apache Groovy 4, and using the groovy.json.JsonSlurper(), the following exception was fixed with the LogicMonitor Collector version 36.200 or later:
exception:groovy.lang.RunTimeException: Unable to load FastStringService
Note: To mitigate this issue when running a module using Apache Groovy 4, ensure you upgrade to the LogicMonitor Collector version 36.200 or later.
When running a module using Apache Groovy 4, and using java.util.Date.format(), the following exception was resolved with the LogicMonitor Collector version 35.400 or later.
exception:groovy.lang.MissingMethodException: No signature of method: java.util.Date.format() is applicable for argument types: (String) values: [yyyy-MM-dd'T'HH:mm:ss z]
Note: To mitigate this issue when running a module using Apache Groovy 4, ensure you upgrade to the LogicMonitor Collector version 35.400 or later.
When running a module using Apache Groovy 4 with legacy classes in your script, the following exception can be thrown:
java.lang.RuntimeException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed
To mitigate this issue, migrate to JPMS-compliant package names. Making this change does not break backward compatibility with Groovy 2.
For example, the following script uses legacy classes:
import groovy.util.XmlSlurper
import groovy.util.XmlParser
def xmlSlurper = new XmlSlurper()
def xmlParser = new XmlParser()
You can replace the legacy classes with JPMS-compliant package names in Groovy 4 to resolve the exception, similar to the following:
import groovy.xml.XmlSlurper
import groovy.xml.XmlParser
def xmlSlurper = new XmlSlurper()
def xmlParser = new XmlParser()
Important: LogicMonitor is releasing updates to official LogicModules to mitigate this issue for LogicMonitor-provided modules.
When running a module using Apache Groovy 4 with legacy classes in your script, the following exception can be thrown:
java.lang.RuntimeException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed
To mitigate this issue, migrate to JPMS-compliant package names. Making this change does not break backward compatibility with Groovy 2.
For example, the following script uses legacy classes:
import groovy.util.XmlSlurper
import groovy.util.XmlParser
def xmlSlurper = new XmlSlurper()
def xmlParser = new XmlParser()
You can replace the legacy classes with JPMS-compliant package names in Groovy 4 to resolve the exception, similar to the following:
import groovy.xml.XmlSlurper
import groovy.xml.XmlParser
def xmlSlurper = new XmlSlurper()
def xmlParser = new XmlParser()
Important: LogicMonitor is releasing updates to LogicModules to mitigate this issue for official LogicMonitor-provided modules.
In Apache Groovy 4, the behavior of the push() method for the List class is reversed. In Apache Groovy 2.4, the push() method would add an item to the list, in Apache Groovy 4 push() will work on the first item of a List.
// v4 Behavior
def numbers = [1, 2, 3, 4]
numbers.push(5)
println numbers
// OUTPUT: [5, 1, 2, 3, 4]
// v2.4 Behavior
def numbers = [1, 2, 3, 4]
numbers.push(5)
println numbers
// OUTPUT: [1, 2, 3, 4, 5]
To mitigate this issue, migrate to using add() in place of push():
def numbers = [1, 2, 3, 4]
numbers.add("5")
println numbers
// OUTPUT: [1, 2, 3, 4, 5]
When running a module using Apache Groovy 4, the behavior of the pop() method is reversed. In Apache Groovy 2.4 the pop() behavior would remove the last item in a list, in Groovy 4 pop() will remove the first item in a list.
// v4 Behavior
def numbers = [1, 2, 3, 4]
println numbers.pop()
// OUTPUT: 1
// v2.4 Behavior
def numbers = [1, 2, 3, 4]
println numbers.pop()
// OUTPUT: 4
To mitigate this issue, migrate to using remove() in place of pop():
def numbers = [1, 2, 3, 4]
println numbers.remove(numbers.size() - 1)
// OUTPUT: 4
Important: LogicMonitor is releasing updates to LogicModules to mitigate this issue for official LogicMonitor-provided modules.
When running a module using Apache Groovy 4, the following exception can be thrown when using the GroovyScriptHelper to incorporate LogicMonitor snippets in your script:
exception:groovy.lang.MissingPropertyException: No such property
To mitigate this issue, adjust the way the class is imported, similar to the following:
import com.santaba.agent.groovy.utils.GroovyScriptHelper
import com.logicmonitor.mod.Snippets
def modLoader = GroovyScriptHelper.getInstance(GroovySystem.version).getScript("Snippets", Snippets.getLoader()).withBinding(getBinding())
Important:LogicMonitor is releasing updates to official LogicModules to mitigate this issue for LogicMonitor-provided modules.
When running a module using Apache Groovy 4, and the module includes an invalid type parameter for a data structure, the module throws the following exception:
java.lang.RuntimeException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Important: LogicMonitor is releasing updates to LogicModules to mitigate this issue for official LogicMonitor-provided modules.
Reports
Fixed an issue that allowed a read-only API user to delete a report.
Creating an Alert report in CSV format with the maximum request threshold fails with the following error in logs: java.lang.OutOfMemoryError
Resources
AI and LLM Product Support Onboarding Now Available
You can now configure monitoring for various Artificial Intelligence (AI) and Large Language Model (LLM) products from a single onboarding page. This page allows you to explore all of the AI and LLM products that LogicMonitor supports, and quickly get started monitoring the services you need.
Navigate to Resource Tree in LogicMonitor and select Add > AI and LLMs to access the onboarding page.
Note: Some AI and LLM modules require additional configuration. Select Add under these products to configure monitoring directly.
Select Learn How for more information on products with automatically enabled LogicModules.
Traces
Deprecation of LogicMonitor OpenTelemetry Collector 3.0.00
In a future release of LogicMonitor, the support for LogicMonitor OpenTelemetry Collector 3.0.00 will be deprecated. Use the latest LogicMonitor OpenTelemetry Collector version.
For more information, see OpenTelemetry Collector Versions in the product documentation.
LogicModules Releases
New and updated LogicModules are available for you directly in your LogicMonitor portal. You can install new modules from the Exchange and update existing modules in My Module Toolbox. For more information, see Modules Installation, and Modules Management in the product documentation.
This section lists the LogicModules that are new in this release, updated in this release, or will be removed in a future release. Changes related to the LogicModule feature will be listed in the General Updates section.
New LogicModules
LogicModule Name | Details |
2 DataSources: – Cisco_IOSXE_CPU_Cores – Cisco_IOSXE_Processes 1 PropertySource: – addCategory_Cisco_IOSXE | Adds monitoring for Cisco IOS XE. Tracks CPU cores and process-level metrics. |
1 LogSource: – Windows Event Logs | Ingests Windows Event Logs from the Application, System, and Security channels. Excludes Security Audit Success events to reduce noise and align with operational best practices. |
1 DataSource: – SaaS_StatusSalesforce_Status | Now supports Tableau and Mulesoft. |
1 DataSource: – NetApp_ONTAP_PolicyGroups1 DataSource: – NetApp_ONTAP_iSCSI1 DataSource: – NetApp_ONTAP_Quotas1 DataSource: – NetApp_ONTAP_SnapMirror1 DataSource: – NetApp_ONTAP_FibreChannel | Monitors NetApp FAS and AFF systems using the ONTAP REST API. Intended for ONTAP 9.1x environments migrating from ONTAPI/ZAPI. |
1 DataSource: – AWS_ApplicationMigrationService_ServiceMetrics | Adds monitoring for AWS Application Migration Service. Collects source server counts using CloudWatch. |
1 DataSource: – AWS_ApplicationMigrationService | Adds monitoring for AWS Application Migration Service. Collects metrics for Certificate Manager certificates using CloudWatch. Per AWS, the minimum polling interval is one day. |
Updated LogicModules
LogicModule Name | Details |
1 DataSource: – Cisco_Catalyst_AccessPointPerformance | Fixed an issue where the ClientCount datapoint always reported 0 on Catalyst Centers running version 2.3.7.6 or later. |
4 DataSources: – Cisco_Catalyst_AccessPointHealth – Cisco_Catalyst_RouterHealth – Cisco_Catalyst_SwitchHealth – Cisco_Catalyst_WLCHealth | Removed no data alerting. |
12 DataSources: – Veeam_BackupAndReplication_BackupSessions – Veeam_BackupAndReplication_HyperVProxyServers – Veeam_BackupAndReplication_Jobs_Backups – Veeam_BackupAndReplication_Jobs_ConfigBackup – Veeam_BackupAndReplication_Jobs_Copy – Veeam_BackupAndReplication_Jobs_ManagedAgentBackups – Veeam_BackupAndReplication_Jobs_SureBackups – Veeam_BackupAndReplication_Jobs_Sync – Veeam_BackupAndReplication_Jobs_WindowsAgent – Veeam_BackupAndReplication_Repositories – Veeam_BackupAndReplication_ScaleOutRepositories – Veeam_BackupAndReplication_VMwareProxyServers | Resolved an issue that prevented instance discovery on some devices when Azure properties were not present. |
1 DataSource: – Cato_SDWAN_Tunnels | Resolved a failure caused when a tunnel lacked tunnelRemoteIPInfo in the API response. |
2 DataSources: – Cisco_Transceiver_SensorsCLI – Puppet_Agent_LastRunMetrics 1 PropertySources: – ConfigCheck_4_Interactive 3 ConfigSources: – Citrix_Netscaler_FullBackup_SFTP – SSH_Interactive_Dynamic – SSH_Interactive_Standard | Resolved an issue where the ssh.publickey.pass property was unavailable. |
1 PropertySource: – addCategory_EMCUnity | Updated regex to support Unity VSA model detection. |
1 DataSource: – HP_System_PhysicalDrives | Updated ssdWearStatus datapoint logic. Now alerts when a disk has 5% remaining usage and sends a critical alert when replacement is required, addressing prior premature alerting. |
1 DataSource: – Cisco_Meraki_CellularGatewayHealth | Added parse snippet import. |
1 DataSource: – Microsoft_Azure_ResourceHealth | Improved alerting on AvailabilityStateErrorAlerts . Removed alert for unknown state (2). Added UnknownAvailabilityStateErrorAlerts datapoint with warning alert after two polls. |
1 PropertySource: – Linux_SSH_Info | Handled missing cpu cores field in /proc/cpuinfo to prevent script crash. |
1 DataSource: – Microsoft_SQLServer_GlobalPerformance | Reverted a prior change and clarified that the deadlocks/sec datapoint reflects total deadlocks. |
1 DataSource: – Microsoft_Windows_Cluster_Disks | Fixed typo in alert description, #HOSTNAME# is now correctly displayed as ##HOSTNAME## . |
1 PropertySource: – Juniper_VirtualChassis_Info | Added support for retrieving serial numbers from Juniper MX80-T devices when Device_Basic_Info PropertySource fails. |
2 DataSources: – Cisco_Transceiver_SensorsCLI – Puppet_Agent_LastRunMetrics 1 PropertySource: – ConfigCheck_4_Interactive 3 ConfigSources: – Citrix_Netscaler_FullBackup_SFTP – SSH_Interactive_Dynamic – SSH_Interactive_Standard | Added support for passphrase-protected SSH keys via ssh.cert.pass or ssh.publickey.pass . |
1 PropertySource: – Device_BasicInfo | Added null-safe check for resolved IPs to prevent script crash. |
1 PropertySource: – Config_Fortinet_Generic | Added support for FortiADC in Common Configs. |
1 DataSource: – Fortinet_FortiManager_Devices | Updated collection method from SNMP to BATCHSCRIPT to correctly report policyPackageState . |
1 PropertySource: – Config_Cisco_Generic | Removed duplicate instance in Common Configs for Cisco ASA devices. Displays running-config and configuration return identical results across tested versions. |
1 ConfigSource: – VMware_vSphere_VMconfiguration | Updated to use lm.remote snippet for retrieving file contents via SFTP. |
2 DataSources: – NetApp_ONTAP_Interfaces – NetApp_ONTAP_Raid | Resolved issue preventing the cache snippet from loading. |
1 DataSource: – Cisco_Meraki_API | Enhanced handling for HTTP 404 errors. |
1 LogSource: – Meraki Network Events | Corrected typo affecting auto.meraki.productType and meraki.productType. |
1 DataSources: – VMware_SDWAN_BGP_Sessions | Enhanced WildValue granularity helps catch more instances. Note: All instances will be replaced as a result of this change which will result in historical data loss. |