Applications Systems

SRM LUN/NAS Volume Alerts – Custom Property Filtering Workaround

In Storage Resource Monitor (SRM), custom properties on LUNs and NAS Volumes are not exposed in the alert trigger UI, so you cannot natively filter alert conditions by these custom properties (for example, by a site-tagging property such as Z_site contains 050).

First published date

6/2/2026 4:22 PM

Last published date

6/2/2026 4:22 PM

Overview

This article documents a SWQL-based workaround that allows you to target alerts for specific LUN/NAS volumes based on their custom properties, even though the alert UI does not currently support this scenario directly.

Product section

Storage Resource Monitor

Cause

Symptoms

When you:

  1. Create custom properties on SRM storage entities (for example, on LUNs or NAS Volumes), and

  2. Attempt to build an alert whose trigger condition filters on those custom properties,

you observe:

  • LUN/NAS Volume custom properties do not appear in Browse all fields when you try to add them as alert conditions for related entities.

  • Cross-entity scenarios do not work:

    • A custom property on StorageArray is not visible when building an alert that targets LUN (and vice versa).

    • A custom property on LUN is not visible when building an alert that targets StorageArray (and vice versa).

Example requirement:

  • Only trigger storage monitoring alerts for LUN/NAS volumes where a site tagging property (for example Z_site contains 050) matches specific values.

Cause

This is currently by design:

  • SRM supports custom properties for multiple storage entities, including:

    • Orion.SRM.LUNCustomProperties

    • Orion.SRM.VolumeCustomProperties (NAS Volumes)

    • Orion.SRM.StorageArrayCustomProperties

  • However, the alert UI does not support cross-entity use of these custom properties (for example, using a LUN custom property while the alert scope is “StorageArray”).

  • As a result, LUN/NAS Volume custom properties are not exposed as selectable fields in the alert trigger condition builder for related entities, and groups/custom properties on LUNs cannot be used for cross-entity alert filtering.

 

Resolution

Status

  • There is no native UI-based solution today for cross-entity filtering by LUN/NAS custom properties in alert conditions.

  • The recommended current approach is to use custom SWQL in alert trigger conditions to:

    • Join storage arrays to LUNs and NAS Volumes

    • Filter those objects by their custom properties

    • Trigger the alert based on those filtered objects.


      Goal: Build an alert that triggers only when LUNs/NAS Volumes that match specific custom property values reach defined capacity thresholds.

      You will:

      1. Ensure the relevant custom properties exist and are populated.

      2. Create an alert that targets StorageArrays but uses SWQL to filter on LUN/NAS Volume custom properties.

      3. Optionally maintain separate SWQL for LUN-only, NAS-only, or combined scenarios.

      1. Prepare Custom Properties

      1. In the SolarWinds Platform web console, create or verify the relevant custom properties:

        • For LUNs: entity LUN, table Orion.SRM.LUNCustomProperties (for example, lun_custom_prop).

        • For NAS Volumes: entity NAS Volume, table Orion.SRM.VolumeCustomProperties (for example, nas_custom_properties).

      2. Populate these properties for the target LUNs/NAS Volumes, for example:

        • lun_custom_prop = 'Z_site=050'

        • nas_custom_properties = 'Z_site=050'

      These values will be referenced in the SWQL WHERE clauses below.

       

      2. Base Relationship Query (Validation)

      Use this test query to verify relationships between Storage Arrays, LUNs, and NAS Volumes and confirm that your custom properties are populated:

      Run this in SWQL Studio or the SWQL test UI to confirm that:

      • Arrays with LUN/NAS custom properties appear.

      • The custom property columns (lun_custom_prop, nas_custom_properties) show the expected values.

      3. Example SWQL – LUN-only Alert

      Use this template when you want to alert only on LUNs that match a custom property and LUN capacity thresholds:

      Adjustments:

      • Replace '<your_property_name_and_your_value>' with your actual requirement, for example:

        • lcp.lun_custom_prop LIKE '%Z_site=050%'

      • Tune the capacity thresholds (for example, >= 80 AND < 85) based on your alerting policy.

4. Example SWQL – NAS-only Alert

Use this template when you want to alert only on NAS Volumes that match a custom property and filesystem capacity thresholds:

-- Scripts are not supported under any SolarWinds support program or service.
-- Scripts are provided AS IS without warranty of any kind. SolarWinds further
-- disclaims all warranties including, without limitation, any implied warranties
-- of merchantability or of fitness for a particular purpose. The risk arising
-- out of the use or performance of the scripts and documentation stays with you.
-- In no event shall SolarWinds or anyone else involved in the creation,
-- production, or delivery of the scripts be liable for any damages whatsoever
-- (including, without limitation, damages for loss of business profits, business
-- interruption, loss of business information, or other pecuniary loss) arising
-- out of the use of or inability to use the scripts or documentation.

SELECT
    StorageArrays.Uri,
    StorageArrays.DisplayName
FROM Orion.SRM.StorageArrays AS StorageArrays
RIGHT JOIN (
    SELECT
        v.VolumeID,
        v.StorageArrayID,
        cp.nas_custom_properties
    FROM Orion.SRM.Volumes v
    INNER JOIN Orion.SRM.VolumeCustomProperties cp
        ON v.VolumeID = cp.VolumeID
    WHERE
        -- Replace with your property name/value logic
        cp.nas_custom_properties = '<your_property_name_and_your_value>'
        AND v.CapacityFileSystemPercentage >= 85
        AND v.CapacityFileSystemPercentage < 90
) AS volumes
    ON StorageArrays.StorageArrayID = volumes.StorageArrayID

5. Example SWQL – Combined LUN and NAS Volumes

If you need a single alert that covers both LUN and NAS Volumes with the same custom property logic, use:

-- Scripts are not supported under any SolarWinds support program or service.
-- Scripts are provided AS IS without warranty of any kind. SolarWinds further
-- disclaims all warranties including, without limitation, any implied warranties
-- of merchantability or of fitness for a particular purpose. The risk arising
-- out of the use or performance of the scripts and documentation stays with you.
-- In no event shall SolarWinds or anyone else involved in the creation,
-- production, or delivery of the scripts be liable for any damages whatsoever
-- (including, without limitation, damages for loss of business profits, business
-- interruption, loss of business information, or other pecuniary loss) arising
-- out of the use of or inability to use the scripts or documentation.

SELECT
    StorageArrays.Uri,
    StorageArrays.DisplayName
FROM Orion.SRM.StorageArrays AS StorageArrays
RIGHT JOIN (
    -- LUN side
    SELECT
        l.VolumeID,
        l.StorageArrayID,
        lcp.lun_custom_prop
    FROM Orion.SRM.LUNs l
    INNER JOIN Orion.SRM.LUNCustomProperties lcp
        ON l.VolumeID = lcp.LUNID
    WHERE
        lcp.lun_custom_prop = '<your_property_name_and_your_value>'
        AND l.Thin = 1
        AND l.Status IN (0, 2, 9)
        AND l.CapacityUsedPercentage >= 80
        AND l.CapacityUsedPercentage < 85
) AS luns
    ON StorageArrays.StorageArrayID = luns.StorageArrayID
RIGHT JOIN (
    -- NAS Volume side
    SELECT
        v.VolumeID,
        v.StorageArrayID,
        cp.nas_custom_properties
    FROM Orion.SRM.Volumes v
    INNER JOIN Orion.SRM.VolumeCustomProperties cp
        ON v.VolumeID = cp.VolumeID
    WHERE
        cp.nas_custom_properties = '<your_property_name_and_your_value>'
        AND v.CapacityFileSystemPercentage >= 85
        AND v.CapacityFileSystemPercentage < 90
) AS volumes
    ON StorageArrays.StorageArrayID = volumes.StorageArrayID