Application Version and Upgrade Details

Application VersionBug fixes / Enhancements
2.0.1
  • Added Metric Labels support.
  • Missing component alerts.
2.0.0
  • API statistics metric.
  • Full discovery Support.
1.0.2Added support for TLSv1.3 SSL protocal.
Click here to view the earlier version updates
Application VersionBug fixes / Enhancements
1.0.1netapp_storagegrid_node_MemoryUtilization metric calculation change as per customer request.
1.0.0Initial SDK2.0 app Discovery and Monitoring Implementations.

Introduction

NetApp StorageGRID is a software-defined, object based storage solution that supports industry standard object APIs like the Amazon Simple Storage Service (S3). It allows you to build a single namespace across up to 16 data centers worldwide, with customizable service levels for metadata-driven object lifecycle policies. The integrated lifecycle management policies optimize where your data lives throughout its lifecycle.

StorageGRID optimizes the durability and availability of your data across multiple geographies. Whether your data is on premises or in a public cloud, it enables hybrid cloud workflows to fit your business demands with access to Amazon Simple Notification Service (SNS), Google Cloud, Microsoft Azure Blob,Amazon Glacier, Elasticsearch, and similar services.

Key Use cases

Discovery Use cases

  • It discovers the NetApp StorageGRID components.
  • Publishes relationships between resources to have a topological view and ease of maintenance.

Monitoring Use cases

  • Provides metrics related to job scheduling time and status etc..
  • Concern alerts will be generated for each metric to notify the administrator regarding the issue with the resource.

Prerequisites

  • OpsRamp Classic Gateway 14.0.0 and above.
  • OpsRamp NextGen Gateway 14.0.0 and above.
    Note: OpsRamp recommends using the latest Gateway version for full coverage of recent bug fixes, enhancements, etc.
  • Provided IpAddress/hostname, Credentials should work for StorageGrid Management REST Apis.

Hierarchy of NetApp StorageGRID resources

    Grid
            - StorageGRID Site
                    - StorageGRID Node
                           - StorageGRID Node Disk
                           - StorageGRID Node Volume
      - StorageGRID Tenant
                    - StorageGRID Bucket

Default Monitoring Configurations

NetApp storageGRID has default Global Device Management Policies, Global Templates, Global Monitors and Global Metrics in OpsRamp. You can customize these default monitoring configurations as per your business requirement by cloning respective Global Templates and Global Device Management Policies. It is recommended to clone them before installing the application to avoid noise alerts and data.

  1. Default Global Device Management Policies

    You can find the Device Management Policy for each Native Type at Setup > Resources > Device Management Policies. Search with suggested name in global scope. Each Device Management Policy follows below naming convention:

    {appName nativeType - version}

    Ex: netapp-storagegrid StorageGRID - 1 (i.e, appName = netapp-storagegrid, nativeType =StorageGRID, version = 1)

  2. Default Global Templates

    You can find the Global Templates for each Native Type at Setup > Monitoring > Templates. Search with suggested names in global scope. Each template follows below naming convention:

    {appName nativeType 'Template' - version}

    Ex: netapp-storagegrid StorageGRID Template - 1 (i.e, appName = netapp-storagegrid , nativeType = StorageGRID, version = 1)

  3. Default Global Monitors

    You can find the Global Monitors for each Native Type at Setup > Monitoring > Monitors. Search with suggested name in global scope. Each Monitors follows below naming convention:

    {monitorKey appName nativeType - version}

    Ex: Netapp StorageGrid Grid Monitor netapp-storagegrid StorageGRID 1 (i.e, monitorKey = Netapp StorageGrid Grid Monitor, appName = netapp-storagegrid , nativeType = StorageGRID 1 , version= 1)

Supported Metrics

Click here to view the supported metrics
Native TypeMetricsDisplay nameMetric LabelMetric UnitApplication VersionMetric Description
StorageGRID
netapp_storagegrid_APIStatsNetApp StorageGRID API Statistics2.0.0Provides the number of API calls made within the frequency and resources.
netapp_storagegrid_grid_StateNetApp StorageGRID Grid State1.0.0NetApp Grid connection state. Possible values are- 0 : connected,1: administratively-down,2: unknown
netapp_storagegrid_grid_SeverityNetApp StorageGRID Grid Severity1.0.0The highest current alarm severity affecting the grid. Possible values are: 4: critical,3: major,2: minor,1: notice,0: normal
StorageGRID Sitenetapp_storagegrid_site_StateNetApp StorageGRID Site State1.0.0NetApp StorageGrid Site connection state. Possible values are- 0 : connected,1: administratively-down,2: unknown
netapp_storagegrid_site_SeverityNetApp StorageGRID Site Severity1.0.0The highest current alarm severity affecting the site or any of its descendants. Possible values are: 4: critical,3: major,2: minor,1: notice,0: normal
StorageGRID Nodenetapp_storagegrid_node_ ConnectionStateNetApp StorageGRID Node Connection State1.0.0NetApp StorageGrid Node connection state. Possible values are- 0 : connected,1: administratively-down,2: unknown
netapp_storagegrid_node_SeverityNetApp StorageGRID Node Severity1.0.0The highest current alarm severity affecting the Node or any of its descendants. Possible values are: 4: critical,3: major,2: minor,1: notice,0: normal
netapp_storagegrid_node_StorageObjectDataUsageNetApp StorageGRID Node Object Data UsageBytes1.0.0NetApp StorageGRID Node Object data usage.
netapp_storagegrid_node_StorageObjectMetadataUsageNetApp StorageGRID Node Object Metadata UsageBytes1.0.0NetApp StorageGRID Node Object Metadata usage.
netapp_storagegrid_node_CpuUtilizationNetApp StorageGRID Node Cpu UtilizationUsage%1.0.0NetApp StorageGRID Node Cpu Utilization.
netapp_storagegrid_node_MemoryUsageNetApp StorageGRID Node Memory UsageUsageGB1.0.0NetApp StorageGRID Node Memory Usage
netapp_storagegrid_node_MemoryUtilizationNetApp StorageGRID Node Memory UtilizationUsage%1.0.0NetApp StorageGRID Node Memory Utilization
netapp_storagegrid_node_SwapMemoryUsageNetApp StorageGRID Node Swap Memory UsageUsageBytes1.0.0NetApp StorageGRID Node Swap Memory Usage
netapp_storagegrid_node_SwapMemoryUtilizationNetApp StorageGRID Node Swap Memory UtilizationUsage%1.0.0NetApp StorageGRID Node Swap Memory Utilization
netapp_storagegrid_node_network_InTrafficNetApp StorageGRID Node Network Receive TrafficPerformanceKbps1.0.0NetApp StorageGRID Node Network In traffic rate
netapp_storagegrid_node_network_OutTrafficNetApp StorageGRID Node Network Transmit TrafficPerformanceKbps1.0.0NetApp StorageGRID Node Network Out traffic rate
netapp_storagegrid_node_network_InpacketsNetApp StorageGRID Node Network Receive PacketsPerformancepackets/sec1.0.0NetApp StorageGRID Node Network In packet rate
netapp_storagegrid_node_network_OutPacketsNetApp StorageGRID Node Network Transmit PacketsPerformancepackets/sec1.0.0NetApp StorageGRID Node Network Out packet rate
netapp_storagegrid_node_network_SpeedNetApp StorageGRID Node Network SpeedPerformanceGB1.0.0NetApp StorageGRID Node Network speed
StorageGRID Node Disknetapp_storagegrid_node_disk_IOLoadNetApp StorageGRID Node Disk IO LoadUsage%1.0.0NetApp StorageGRID Node Disk IO Load
netapp_storagegrid_node_disk_ReadRateNetApp StorageGRID Node Disk ReadRatePerformanceBytes/sec1.0.0NetApp StorageGRID Node Disk Read rate
netapp_storagegrid_node_disk_WriteRateNetApp StorageGRID Node Disk WriteRatePerformanceBytes/sec1.0.0NetApp StorageGRID Node Disk Write rate
StorageGRID Node Volumenetapp_storagegrid_node_volume_StatusNetApp StorageGRID Node Volume StatusAvailability1.0.0NetApp StorageGRID Node volume status. Possible values are - 0: Unknown,1: Offline,2: Online
StorageGRID Tenantnetapp_storagegrid_tenant_DataBytesNetApp StorageGRID Tenant DataBytes UsageUsageBytes1.0.0NetApp StorageGRID Tenant data bytes usage
netapp_storagegrid_tenant_ObjectCountNetApp StorageGRID Tenant Object CountUsagecount1.0.0NetApp StorageGRID Tenant object count
StorageGRID S3 Bucketnetapp_storagegrid_bucket_DataBytesNetApp StorageGRID Bucket DataBytes UsageUsageBytes1.0.0NetApp StorageGRID Bucket data bytes usage
netapp_storagegrid_bucket_ObjectCountNetApp StorageGRID Bucket Object CountUsagecount1.0.0NetApp StorageGRID Bucket object count

Configure and Install the NetApp StorageGRID Integration

  1. From All Clients, select a client.
  2. Navigate to Setup > Account.
  3. Select the Integrations tab.
  4. The Installed Integrations page, where all the installed integrations are displayed. Click + ADD on the Installed Integrations page.
  5. If you do not have any installed applications, you will be navigated to the Available Integrations page. The Available Integrations page displays all the available applications along with the newly created application with the version.
    Note: Search for the application using the search option available. Alternatively, use the All Categories option to search.
  6. Click ADD in the NetApp StorageGRID application.
  7. In the Configurations page, click + ADD. The Add Configuration page appears.
  8. Enter the following BASIC INFORMATION:
Object NameDescription
NameEnter the name for the configuration.
IP Address/Host Name of the Primary Admin NodeHost name or the IP address provided for the Primary Admin Node.
API PortAPI Port information
IP Address/Host Name of the GRIDHost name or the IP address provided for the GRID.
CredentialsSelect the credentials from the drop-down list.
Note: Click + Add to create a credential.

Notes:

  • By default the Is Secure checkbox is selected.
  • Ip Address/Host Name and Port should be accessible from Gateway.
  • Select App Failure Notifications: if turned on, you will be notified in case of an application failure that is, Connectivity Exception, Authentication Exception.
  1. Select the following CUSTOM ATTRIBUTE:
Object NameDescription
Custom AttributeSelect the custom attribute from the drop down list box
ValueSelect the value from the drop down list box.

Note: The custom attribute that you add here will be assigned to all the resources that are created by the integration. You can add a maximum of five custom attributes (key and value pair).

  1. In the RESOURCE TYPE section, select:
    • ALL: All the existing and future resources will be discovered.
    • SELECT: You can select one or multiple resources to be discovered.
  2. In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:
    • Minutes
    • Hourly
    • Daily
    • Weekly
    • Monthly
  3. Click ADD.
Netapp ONTAP

Now the configuration is saved and displayed on the configurations page after you save it.
Note: From the same page, you may Edit and Remove the created configuration.

  1. Under the ADVANCED SETTINGS, Select the Bypass Resource Reconciliation option, if you wish to bypass resource reconciliation when encountering the same resources discovered by multiple applications.

    Note: If two different applications provide identical discovery attributes, two separate resources will be generated with those respective attributes from the individual discoveries.

  2. Click NEXT.

  3. (Optional) Click +ADD to create a new collector. You can either use the pre-populated name or give the name to your collector.

Veeam
  1. Select an existing registered profile.
Veeam
  1. Click FINISH.

The integration is installed and displayed on the INSTALLED INTEGRATION page. Use the search field to find the installed integration.

Modify the Configuration

View the NetApp StorageGRID details

To discover resources for NetApp StorageGRID:

  1. Navigate to Infrastructure > Search > STORAGE > NetApp StorageGRID. The NetApp StorageGRID page is displayed
  2. Select the application on the NetApp StorageGRID page
  3. The RESOURCE page appears from the right.
  4. Click the ellipsis () on the top right and select View Details.
Netapp ONTAP
  1. Navigate to the Attributes tab to view the discovery details.
Netapp ONTAP
  1. Click the Metrics tab to view the metric details for NetApp StorageGRID.
Netapp ONTAP

Resource Type Filter Keys

Click here to view the Supported Input Keys
Resource TypeSupported Input Keys
All TypesresourceName
hostName
aliasName
dnsName
ipAddress
macAddress
os
make
model
serialNumber

Custom Attributes Keys

Click here to view the alert subject and description with macros
Resource TypeSupported Input Keys
StorageGRID S3 BucketTenant Name
StorageGRID Tenantcapabilities
description
StorageGRIDStorageGRID Name
StorageGRID OID
StorageGRID Type
StorageGRID SiteStorageGRID Site Name
StorageGRID Site OID
StorageGRID Site Type
StorageGRID NodeStorageGRID Node Type
StorageGRID Site Name
StorageGRID Node DiskStorageGRID Node Name
StorageGRID Site Name
StorageGRID Node VolumeStorageGRID Node Name
StorageGRID Site Name

Supported Alert Custom Macros

Customize the alert subject and description with below macros to generate alerts based on customisation. Supported macros keys:

Click here to view the alert subject and description with macros

                                ${resource.name}

                                ${resource.ip}

                                ${resource.mac}

                                ${resource.aliasname}

                                ${resource.os}

                                ${resource.type}

                                ${resource.dnsname}

                                ${resource.alternateip}

                                ${resource.make}

                                ${resource.model}

                                ${resource.serialnumber}

                                ${resource.systemId}

                                ${Custome Attributes in the resource}

                                ${parent.resource.name}

Risks, Limitations And Assumptions

  • Application can handle Critical/Recovery failure notifications for below two cases when user enables App Failure Notifications in configuration
    • Connectivity Exception
    • Authentication Exception
  • NetApp StorageGRID will not send any duplicate/repeat failure alert notification until the already existing critical alert is recovered.
  • Using metrics for monitoring the resources and generating alerts when the threshold values are breached.
  • NetApp StorageGRID cannot control monitoring pause/resume actions based on above alerts.
  • No support of showing activity logs.
  • The Template Applied Time will only be displayed if the collector profile (Classic and NextGen Gateway) is version 18.1.0 or higher.
  • NetApp StorageGRID supports both Classic Gateway and NextGen Gateway.

Troubleshooting

Before troubleshooting Netapp Storagegrid integration issues, ensure that all prerequisites are followed as per the documented setup guidelines, and any known limitations are cross-checked.

If the Netapp Storagegrid integration fails to discover or monitor resources, follow these steps:

  • Inspect if any alerts have been generated on the Netapp Storagegrid resource, the gateway, or check if any error logs are present in the vprobe.

  • If the alert or error is related to End Device Connectivity or Authentication, check the reachability of the end device from the gateway:

    • Use the ping command to check the device’s IP address:
    ping <IP Address>
    
    • Use the telnet command to check connectivity to the specific port:
    telnet <IP Address> <port>
    
  • If the error is related to a TLS exception, follow the steps outlined in the Gateway Tunnel or TLS Disconnects/Down Troubleshooting Steps to resolve the issue.

  • Follow the steps in SDK App Debug GCLI Command Requests (Target API/SSH Command) and check for any errors that appear during the execution of the commands.

  1. Use the following sample request to prepare the request payload:
    
    {
      "apiVersion": "debug/v1",
      "module": "Debug",
      "app": "netapp-storagegrid",
      "action": "Reachability",
      "payload": {
        "ipAddress": "<IP address or hostname>",
        "protocol": "https",
        "Port": 443,
        "requestPath": "<requestPath mentioned in the table below>",
        "requestMethod": "GET",
        "username": "<username>",
        "password": "<password>"
      }
    }
    
    
  2. Encode the request payload to Base64 format.
  3. Login to the gateway console and connect to the GCLI terminal using the following command:
  4. gcli
  5. Execute the command by replacing the <base64 encoded string> with the Base64-encoded request payload generated in Step 2:
  6. sdkappdebug base64 encoded string

    Refer to the following table for preparing the request payload for REST API:

    Native TypeDiscoveryMonitoring
    StorageGRIDgrid/health/topology?depth=componentgrid/health/topology?depth=component
    StorageGRID Sitegrid/health/topology?depth=componentgrid/health/topology?depth=component
    StorageGRID Nodegrid/node-healthgrid/node-health
    grid/metric-query?query=storagegrid_storage_utilization_data_bytes&timeout=120s
    grid/metric-query?query=storagegrid_storage_utilization_metadata_bytes&timeout=120s
    grid/metric-query?query=storagegrid_node_cpu_utilization_percentage&timeout=120s
    grid/metric-query?query=node_memory_MemTotal_bytes&timeout=120s
    grid/metric-query?query=node_memory_SwapTotal_bytes&timeout=120s
    grid/metric-query?query=node_network_receive_bytes_total&timeout=120s
    grid/metric-query?query=node_network_transmit_bytes_total&timeout=120s
    StorageGRID Node Diskgrid/metric-query?query=node_disk_read_bytes_total&timeout=120sgrid/metric-query?query=node_disk_io_now&timeout=120s
    grid/metric-query?query=node_disk_written_bytes_total&timeout=120s
    StorageGRID Node Volumegrid/metric-query?query=storagegrid_volume_device_status&timeout=120sgrid/metric-query?query=storagegrid_volume_device_status&timeout=120s
    StorageGRID Tenantapi/v3/grid/accountsgrid/metric-query?query=storagegrid_tenant_usage_data_bytes&timeout=120s
    grid/metric-query?query=storagegrid_tenant_usage_object_count&timeout=120s
    StorageGRID S3 Bucketgrid/accounts/{Tenant_ID}/usagegrid/accounts/{Tenant_ID}/usage

    For example, to verify the NetApp StorageGRID REST API response, use the following payload:

    
    {
      "apiVersion": "debug/v1",
      "module": "Debug",
      "app": "netapp-storagegrid",
      "action": "Reachability",
      "payload": {
        "ipAddress": "11.22.33.44",
        "protocol": "https",
        "Port": 443,
        "requestPath": "grid/health/topology?depth=component",
        "requestMethod": "GET",
        "username": "admin",
        "password": "Pass@123"
      }
    }