How to Monitor NetApp Unified Storage Using eG Enterprise?

eG Enterprise monitors the NetApp Unified Storage using a single eG agent  on any remote host in the environment. In order to monitor a NetApp Unified Storage, eG uses best-of-both-worlds combination of SNMP and NetApp Manageability SDK. While a few tests intercept SNMP traps to obtain information of interest, a few others directly poll the SNMP MIB of the device to pull out the metrics. Most tests however run the NetApp Manageability SDK commands for metrics collection.

To configure the eG agent to communicate with the NetApp Unified Storage, a set of pre-requisites should be fulfilled. These requirements have been discussed in the following sections.

Configuring the eG Agent to Receive SNMP Traps from the NetApp Unified Storage

Whenever an SNMP agent detects an error in an SNMP-enabled network device / application, it sends SNMP traps with the error information to a daemon process known as the SNMP Trap Receiver (Snmptrapd). In the eG Enterprise system, the external agent includes an optional SNM P trap receiver that can log traps it receives into a log file which can be parsed/interpreted by the external agent. Therefore, to enable the eG external agent which externally monitors the NetApp Unified Storage to intercept SNMP traps sent out by that device, you need to setup Snmptrapd on the external agent host. The procedure for setting up Snmptrapd differs according to the operating system of the external agent host. For detailed setup procedures per operating system, refer to the Handling SNMP Traps using eG Enterprise document. Once the Snmptrapd is setup and started, you need to configure the following tests to integrate with Snmptrapd for pulling out the desired metrics:

  1. Failure Traps test
  2. Shutdown Traps test
  3. Warning Traps test

To know how to configure these tests, refer to Failure Traps Test, Shutdown Traps Test, and Warning Traps Test topics.

Configuring the eG Agent to Poll the SNMP MIB of the NetApp Unified Storage to Pull Out the Metrics

You can configure tests to periodically poll the SNMP MIB of the NetApp Unified Storage for collecting metrics of interest. For this, you have to SNMP-enable the NetApp Unified Storage.

Configuring the eG Agent to Use the NetApp Manageability SDK

The NetApp Manageability SDK (NMSDK) provides resources to develop applications that monitor and manage NetApp storage systems. 

Many tests that execute on the NetApp Unified Storage run API commands provided by this SDK to extract the performance metrics.

To run these commands, the following pre-requisites need to be fulfilled:

  1. An eG remote agent should be installed on a remote Windows/Unix host in the environment. This remote agent should be assigned to the target storage device when managing that device using the eG administrative interface.
  2. The eG remote agent should be able to access the target storage device.
  3. The NMSDK should be available on the eG remote agent host. To achieve this, follow the steps discussed below:
  4. Download the NMSDK from the following URL to any location on the remote agent host:

    http://support.netapp.com/NOW/cgi-bin/software

    To download the NMSDK, you will have to create a NOW login; to achieve this, go to the following URL:

    http://support.netapp.com

  5. The NMSDK will be downloaded as a zip file named netapp-manageability-sdk-<SDK_version>.zip. Extract the contents of the zip file to any location on the eG remote agent host.
  6. Next, copy the netapp-manageability-sdk-<SDK_version>\netapp-manageability-sdk-<SDK_version>\lib\java\classes\manageontap.jar file from the extracted contents to the <EG_AGENT_INSTALL_DIR>\lib directory (on a Windows host; on Unix, this will be the /opt/egurkha/lib directory). Sometimes, the name of the jar file may be suffixed by the NMSDK version number. For instance, instead of manageontap.jar, you might find manageontap-5.2.jar in \java\classes. In such a case, first, rename the jar file to manageontap.jar, and then copy the jar file to the <EG_AGENT_INSTALL_DIR>\lib directory.
  7. Then, start the eG agent.
  8. To invoke the API commands, the eG agent has to be configured with the credentials of a NetApp user with the following privileges:

    login-http-admin,api-aggr-check-spare-low,api-aggr-list-info,api-aggr-mediascrub-list-info,api-aggr-scrub-list-info,api-cifs-status,api-clone-list-status,api-disk-list-info,api-fcp-adapter-list-info,api-fcp-adapter-stats-list-info,api-fcp-service-status,api-file-get-file-info,api-file-read-file,api-iscsi-connection-list-info,api-iscsi-initiator-list-info,api-iscsi-service-status,api-iscsi-session-list-info,api-iscsi-stats-list-info,api-lun-config-check-alua-conflicts-info,api-lun-config-check-cfmode-info,api-lun-config-check-info,api-lun-config-check-single-image-info,api-lun-list-info,api-nfs-status,api-perf-object-get-instances-iter*,api-perf-object-instance-list-info,api-quota-report-iter*,api-snapshot-list-info,api-vfiler-list-info,api-volume-list-info-iter*

For this purpose, you can either grant the aforesaid privileges to an existing user, or create a new user for this purpose. The new user creation process has been detailed in section below.

Creating a New User with the Privileges Required for Monitoring the NetApp Unified Storage

To create a new user with the aforesaid privileges, do the following:

  1. Login to the system hosting the remote agent.
  2. Connect to the storage controller’s console via SSH (say, using puTTy.exe ).
  3. Run the following command at the console to create a new role:

    useradmin role add <Name_of_new_role> -c "<A_brief_description_of_new_role>" -a <Comma-separated_list_of_privileges_to_be_granted_to_the_new_role>

    For instance, to create a role named eG_role with all the privileges required for monitoring NetApp Unified Storage, the command will be as follows:

    useradmin role add eG_Role -c "role for eG user" -a login-http-admin,api-aggr-check-spare-low,api-aggr-list-info,api-aggr-mediascrub-list-info,api-aggr-scrub-list-info,api-cifs-status,api-clone-list-status,api-disk-list-info,api-fcp-adapter-list-info,api-fcp-adapter-stats-list-info,api-fcp-service-status,api-file-get-file-info,api-file-read-file,api-iscsi-connection-list-info,api-iscsi-initiator-list-info,api-iscsi-service-status,api-iscsi-session-list-info,api-iscsi-stats-list-info,api-lun-config-check-alua-conflicts-info,api-lun-config-check-cfmode-info,api-lun-config-check-info,api-lun-config-check-single-image-info,api-lun-list-info,api-nfs-status,api-perf-object-get-instances-iter*,api-perf-object-instance-list-info,api-quota-report-iter*,api-snapshot-list-info,api-vfiler-list-info,api-volume-list-info-iter*

  4. Once the role is created successfully, proceed to create a new user group and assign the newly created role to it. The command for this will be:

    useradmin group add <Name_of_new_group> -c "<A_brief_description_of_new_group>" -r <Name_of_new_role>

    For instance, to create a group named eG_Group and to assign the eG_Role to it, the command will be as follows:

    useradmin group add eG_Group -c "Group for eG user" -r eG_Role

  5. Then, create a new user and add that user to the newly created group. The command for the same is as follows:

    useradmin user add Mname_of_new_user> -c "<A_brief_description_of_new_user>" -g <Name_of_new_group>

    For instance, to create a user named eG_User and to add that user to the eG_Group that you created previously, the command will be as follows:

    useradmin user add eG_User -c "User for eG to monitor NetApp" -g eG_Group

    This command, upon execution, will request for the password of the new user. The password is case-sensitive, and should be atleast 8 characters long. Itmust contain atleast 2 alphabets and 1 digit.

    New password:

    Reype new password:

  6. Then, confirm the new user’s password by retyping it.

Once such a user is created, make sure that you configure the eG tests with the credentials of such a user. To start monitoring the NetApp Unified Storage, manage the NetApp Unified Storage component using eG administrative interface. You can manage the NetApp Unified Storage in the following ways;

  • Manage the storage device as a NetApp Cluster in eG using its Cluster Management IP address. Before that, make sure that the target is indeed a NetApp Cluster device and not a stand-alone NetApp Unified Storage device. For that, check the full version string for the Data ONTAP version in the NetApp device. If the version string contains the word “c-mode” or the word "cDOT", then it means that the target NeApp device is part of a cluster.
  • Manage the storage device as a NetApp Unified Storage in eG using the device’s IP address. Before that, make sure that the target is indeed a stand-alone NetApp Unified Storage device and not a device in a NetApp Cluster. For that, check the full version string for the Data ONTAP version in the NetApp device. If the version string contains “c-mode” or the word "cDOT", then it means that the target NetApp device is part of a cluster. If this word is not part of the version string, then it means that the target device is a stand-alone NetApp Unified Storage device. 

The procedure for managing the NetApp Unified Storage and configuring the tests has been discussed in the Managing the NetApp Unified Storage system.