Application Version and Upgrade Details
Application Version | Bug fixes / Enhancements |
---|---|
2.0.3 | Provided fix for Get latest metrics, activity logger and DebugHandler changes |
2.0.2 | Root resource native type display order and subcategory changes |
2.0.1 |
|
2.0.0 |
|
1.0.2 | Added support for TLSv1.3 SSL protocal. |
Click here to view the earlier version updates
Application Version | Bug fixes / Enhancements |
---|---|
1.0.1 | netapp_storagegrid_node_MemoryUtilization metric calculation change as per customer request. |
1.0.0 | Initial 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.
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)
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)
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 Type | Metrics | Display name | Metric Label | Metric Unit | Application Version | Metric Description |
---|---|---|---|---|---|---|
StorageGRID | ||||||
netapp_storagegrid_APIStats | NetApp StorageGRID API Statistics | 2.0.0 | Provides the number of API calls made within the frequency and resources. | |||
netapp_storagegrid_grid_State | NetApp StorageGRID Grid State | 1.0.0 | NetApp Grid connection state. Possible values are- 0 : connected,1: administratively-down,2: unknown | |||
netapp_storagegrid_grid_Severity | NetApp StorageGRID Grid Severity | 1.0.0 | The highest current alarm severity affecting the grid. Possible values are: 4: critical,3: major,2: minor,1: notice,0: normal | |||
StorageGRID Site | netapp_storagegrid_site_State | NetApp StorageGRID Site State | 1.0.0 | NetApp StorageGrid Site connection state. Possible values are- 0 : connected,1: administratively-down,2: unknown | ||
netapp_storagegrid_site_Severity | NetApp StorageGRID Site Severity | 1.0.0 | The 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 Node | netapp_storagegrid_node_ ConnectionState | NetApp StorageGRID Node Connection State | 1.0.0 | NetApp StorageGrid Node connection state. Possible values are- 0 : connected,1: administratively-down,2: unknown | ||
netapp_storagegrid_node_Severity | NetApp StorageGRID Node Severity | 1.0.0 | The 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_StorageObjectDataUsage | NetApp StorageGRID Node Object Data Usage | Bytes | 1.0.0 | NetApp StorageGRID Node Object data usage. | ||
netapp_storagegrid_node_StorageObjectMetadataUsage | NetApp StorageGRID Node Object Metadata Usage | Bytes | 1.0.0 | NetApp StorageGRID Node Object Metadata usage. | ||
netapp_storagegrid_node_CpuUtilization | NetApp StorageGRID Node Cpu Utilization | Usage | % | 1.0.0 | NetApp StorageGRID Node Cpu Utilization. | |
netapp_storagegrid_node_MemoryUsage | NetApp StorageGRID Node Memory Usage | Usage | GB | 1.0.0 | NetApp StorageGRID Node Memory Usage | |
netapp_storagegrid_node_MemoryUtilization | NetApp StorageGRID Node Memory Utilization | Usage | % | 1.0.0 | NetApp StorageGRID Node Memory Utilization | |
netapp_storagegrid_node_SwapMemoryUsage | NetApp StorageGRID Node Swap Memory Usage | Usage | Bytes | 1.0.0 | NetApp StorageGRID Node Swap Memory Usage | |
netapp_storagegrid_node_SwapMemoryUtilization | NetApp StorageGRID Node Swap Memory Utilization | Usage | % | 1.0.0 | NetApp StorageGRID Node Swap Memory Utilization | |
netapp_storagegrid_node_network_InTraffic | NetApp StorageGRID Node Network Receive Traffic | Performance | Kbps | 1.0.0 | NetApp StorageGRID Node Network In traffic rate | |
netapp_storagegrid_node_network_OutTraffic | NetApp StorageGRID Node Network Transmit Traffic | Performance | Kbps | 1.0.0 | NetApp StorageGRID Node Network Out traffic rate | |
netapp_storagegrid_node_network_Inpackets | NetApp StorageGRID Node Network Receive Packets | Performance | packets/sec | 1.0.0 | NetApp StorageGRID Node Network In packet rate | |
netapp_storagegrid_node_network_OutPackets | NetApp StorageGRID Node Network Transmit Packets | Performance | packets/sec | 1.0.0 | NetApp StorageGRID Node Network Out packet rate | |
netapp_storagegrid_node_network_Speed | NetApp StorageGRID Node Network Speed | Performance | GB | 1.0.0 | NetApp StorageGRID Node Network speed | |
StorageGRID Node Disk | netapp_storagegrid_node_disk_IOLoad | NetApp StorageGRID Node Disk IO Load | Usage | % | 1.0.0 | NetApp StorageGRID Node Disk IO Load |
netapp_storagegrid_node_disk_ReadRate | NetApp StorageGRID Node Disk ReadRate | Performance | Bytes/sec | 1.0.0 | NetApp StorageGRID Node Disk Read rate | |
netapp_storagegrid_node_disk_WriteRate | NetApp StorageGRID Node Disk WriteRate | Performance | Bytes/sec | 1.0.0 | NetApp StorageGRID Node Disk Write rate | |
StorageGRID Node Volume | netapp_storagegrid_node_volume_Status | NetApp StorageGRID Node Volume Status | Availability | 1.0.0 | NetApp StorageGRID Node volume status. Possible values are - 0: Unknown,1: Offline,2: Online | |
StorageGRID Tenant | netapp_storagegrid_tenant_DataBytes | NetApp StorageGRID Tenant DataBytes Usage | Usage | Bytes | 1.0.0 | NetApp StorageGRID Tenant data bytes usage |
netapp_storagegrid_tenant_ObjectCount | NetApp StorageGRID Tenant Object Count | Usage | count | 1.0.0 | NetApp StorageGRID Tenant object count | |
StorageGRID S3 Bucket | netapp_storagegrid_bucket_DataBytes | NetApp StorageGRID Bucket DataBytes Usage | Usage | Bytes | 1.0.0 | NetApp StorageGRID Bucket data bytes usage |
netapp_storagegrid_bucket_ObjectCount | NetApp StorageGRID Bucket Object Count | Usage | count | 1.0.0 | NetApp StorageGRID Bucket object count |
Configure and Install the NetApp StorageGRID Integration
- From All Clients, select a client.
- Navigate to Setup > Account.
- Select the Integrations tab.
- The Installed Integrations page, where all the installed integrations are displayed. Click + ADD on the Installed Integrations page.
- 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. - Click ADD in the NetApp StorageGRID application.
- In the Configurations page, click + ADD. The Add Configuration page appears.
- Enter the following BASIC INFORMATION:
Object Name | Description |
---|---|
Name | Enter the name for the configuration. |
IP Address/Host Name of the Primary Admin Node | Host name or the IP address provided for the Primary Admin Node. |
API Port | API Port information |
IP Address/Host Name of the GRID | Host name or the IP address provided for the GRID. |
Credentials | Select 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.
- Select the following CUSTOM ATTRIBUTE:
Object Name | Description |
---|---|
Custom Attribute | Select the custom attribute from the drop down list box |
Value | Select 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).
- 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.
- In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:
- Minutes
- Hourly
- Daily
- Weekly
- Monthly
- Click ADD.
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.
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.
Click NEXT.
(Optional) Click +ADD to create a new collector. You can either use the pre-populated name or give the name to your collector.
- Select an existing registered profile.
- 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
See Modify an Installed Integration or Application article.
Note: Select the NetApp StorageGRID application.
View the NetApp StorageGRID details
To discover resources for NetApp StorageGRID:
- Navigate to Infrastructure > Search > STORAGE > NetApp StorageGRID. The NetApp StorageGRID page is displayed
- Select the application on the NetApp StorageGRID page
- The RESOURCE page appears from the right.
- Click the ellipsis (…) on the top right and select View Details.
- Navigate to the Attributes tab to view the discovery details.
- Click the Metrics tab to view the metric details for NetApp StorageGRID.
Resource Type Filter Keys
Click here to view the Supported Input Keys
Resource Type | Supported Input Keys |
---|---|
All Types | resourceName |
hostName | |
aliasName | |
dnsName | |
ipAddress | |
macAddress | |
os | |
make | |
model | |
serialNumber |
Custom Attributes Keys
Click here to view the alert subject and description with macros
Resource Type | Supported Input Keys |
---|---|
StorageGRID S3 Bucket | Tenant Name |
StorageGRID Tenant | capabilities |
description | |
StorageGRID | StorageGRID Name |
StorageGRID OID | |
StorageGRID Type | |
StorageGRID Site | StorageGRID Site Name |
StorageGRID Site OID | |
StorageGRID Site Type | |
StorageGRID Node | StorageGRID Node Type |
StorageGRID Site Name | |
StorageGRID Node Disk | StorageGRID Node Name |
StorageGRID Site Name | |
StorageGRID Node Volume | StorageGRID 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>
- Use the
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.
- 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>" } }
- Encode the request payload to Base64 format.
- Login to the gateway console and connect to the GCLI terminal using the following command:
- Execute the command by replacing the <base64 encoded string> with the Base64-encoded request payload generated in Step 2:
gcli
sdkappdebug base64 encoded string
Refer to the following table for preparing the request payload for REST API:
Native Type | Discovery | Monitoring |
---|---|---|
StorageGRID | grid/health/topology?depth=component | grid/health/topology?depth=component |
StorageGRID Site | grid/health/topology?depth=component | grid/health/topology?depth=component |
StorageGRID Node | grid/node-health | grid/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 Disk | grid/metric-query?query=node_disk_read_bytes_total&timeout=120s | grid/metric-query?query=node_disk_io_now&timeout=120s grid/metric-query?query=node_disk_written_bytes_total&timeout=120s |
StorageGRID Node Volume | grid/metric-query?query=storagegrid_volume_device_status&timeout=120s | grid/metric-query?query=storagegrid_volume_device_status&timeout=120s |
StorageGRID Tenant | api/v3/grid/accounts | grid/metric-query?query=storagegrid_tenant_usage_data_bytes&timeout=120s grid/metric-query?query=storagegrid_tenant_usage_object_count&timeout=120s |
StorageGRID S3 Bucket | grid/accounts/{Tenant_ID}/usage | grid/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"
}
}