NetApp FAS Monitoring
Last updated on 10 October, 2024Overview
There are two kinds of data collection methods used for monitoring NetApp Fabric Attached Storage (FAS) systems (also commonly referred to as Filers):
- NetApp API
- SNMP
For comprehensive monitoring, both NetApp API and SNMP access must be configured. This article will walk you through setup and configuration for the various available NetApp modes:
- Cluster Mode (CDOT)
- Cluster Mode SVMs (vFiler)
- Non-Cluster Mode (7-Mode)
- SSH Messages in NetApp Syslog
Note: By default, LogicMonitor will access the NetApp API over port 443, using HTTPS. However, older LogicMonitor accounts may default to accessing the NetApp API over HTTP on port 80, which can prevent data retrieval. If you are experiencing this behavior, set the netapp.ssl property to a value of TRUE at the root folder level of the Resources tree.
Cluster Mode (CDOT)
Enabling SNMP
SSH to a cluster management address. To display the current SNMP configuration:
scenariolab::> system snmp community show
scenariolab
ro Logically
To create a new SNMP community:
scenariolab::> system snmp community add -type ro -community-name secret
Confirm SNMP configuration:
scenariolab::> system snmp community show
scenariolab ro Logically
ro secret
Enabling NetApp API
To create an API user with the example name of logicmonitor in the context of the cluster:
security login create -username logicmonitor -application ontapi -authmethod password -role readonly
You should define the snmp.community, netapp.user, and netapp.pass properties for the host to allow access.
Cluster Mode SVMs (vFiler)
In order to get complete monitoring of, and be able delegate access to, Storage Virtual Machines on NetApp Cluster mode, it is necessary to add the SVMs as separate devices, and enable both SNMP and API access on the SVM itself. The steps required to do so are:
- Add an SNMP community for the SVM.
- Ensure SNMP is allowed by the firewall configuration of the interface of the SVM: determine the interface used by the SVM, the firewall policy, and amend if needed.
- Enable API access by allowing API access through the SVM firewall, and creating an API user.
In the following example, we will enable access on the images server.
Enabling SNMP
First, we can check the current SNMP configuration:
scenariolab::> system snmp community show
scenariolab
ro Logically
Add SNMP community for the SVM (server) images:
scenariolab::> system snmp community add -type ro -community-name Logical -vserver images
Confirm SNMP configuration:
scenariolab::> system snmp community show
images
ro Logical
scenariolab
ro Logically
You can determine the firewall policy used by the interface for a vserver with the following command:
network interface show -fields firewall-policy
vserver lif firewall-policy
------- ---- ---------------
foo lif2 data
images lif1 data
You can then determine if the policy for the server in question (images, using the data policy in our case) allows snmp:
scenariolab::> firewall policy show -service snmp
(system services firewall policy show)
Policy Service Action IP-List
---------------- ---------- ------ --------------------
cluster snmp allow 0.0.0.0/0
data snmp deny 0.0.0.0/0
intercluster snmp deny 0.0.0.0/0
mgmt snmp allow 0.0.0.0/0
As the data policy does not allow SNMP, we could either amend the firewall policy, or create a new one. In this case, we will create a new firewall policy:
system services firewall policy create -policy data1 -service snmp -action allow -ip-list 0.0.0.0/0
scenariolab::> firewall policy show -service snmp
(system services firewall policy show)
Policy Service Action IP-List
---------------- ---------- ------ --------------------
cluster snmp allow 0.0.0.0/0
data snmp deny 0.0.0.0/0
data1 snmp allow 0.0.0.0/0
intercluster snmp deny 0.0.0.0/0
mgmt snmp allow 0.0.0.0/0
We can now assign new policy to the interface used by the vserver images (lif1):
network interface modify -vserver images -lif lif1 -firewall-policy data1
SNMP is now enabled
Enabling NetApp API
To enable API access the SVM, we must allow HTTP/HTTPS access through the firewall policy used by the SVM’s interfaces. These commands add HTTP and HTTPS access to the new firewall policy we created above, that is already applied to the interface for the vserver images.
system service firewall policy create -policy data1 -service http -action allow -ip-list 0.0.0.0/0
system service firewall policy create -policy data1 -service https -action allow -ip-list 0.0.0.0/0
Now we just need to create an API user in the context of this vserver:
security login create -username logicmonitor -application ontapi -authmethod password -vserver images -role vsadmin
You can now add the SVM as a host to LogicMonitor. You should define the snmp.community, netapp.user, and netapp.pass properties for the host to allow access.
Non-Cluster Mode (7-Mode)
Notes:
- In OnTap 8 and later, you must explicitly enable HTTP access for the API: options httpd.admin.enable on
- Using GD Collectors 22.0 or 21.0 requires TLS to be enabled (command line “options tls.enable on”) to monitor 7-Mode NetApp
Enabling NetApp API
It is recommended that you create a new NetApp account with the privileges detailed below.
To create a new user called logicmonitor with only API access, on your NetApp filers perform these operations:
useradmin role add APIrole -a api-*,login-http-admin
useradmin group add APIGroup -r APIRole
useradmin user add logicmonitor -g APIGroup
New password:<secret>
Retype new password:<secret>
Note: To create a role with the current minimum API rights required, substitute this command for the command above, or use useradmin role modify if the role already exists:
useradmin role add APIrole -a login-http-admin,api-perf*,api-disk-list*,api-volume-list*,api-system-get*
This grants read only API access sufficient for the current NetApp datasources, but may not be sufficient for future datasources that may use different API calls.).
You would then specify these properties in LogicMonitor:
netapp.user=logicmonitor
netapp.pass=<secret>
By default, LogicMonitor will access the NetApp API over port 443, using HTTPS. To change the port that LogicMonitor will connect to the API on, set the property netapp.api.sslport to the appropriate port.
If you wish to access the API using HTTP, instead of SSL:
- Set the netapp.ssl property (globally, per group, or for a host) to “false” to disable SSL access.
- netapp.api.port will default to 80. If you wish to connect via HTTP to another port, set this property appropriately.
Enabling SNMP
Perform these operations from the netapp CLI:
options snmp.enable on
snmp community add ro <secret>
Note: if you have changed the default settings of options trusted.hosts or options snmp.access, ensure that the IP address of the collector for the filer is added to those options. You can check your SNMP settings by simply entering snmp at the command line:
labfiler01> snmp
contact:
~
location:
~ PDT
authtrap:
~ 0
init:
~ 1
traphosts:
community:
~ ro public
SSH Messages in NetApp Syslog
After enabling LogicMonitor to monitor a NetApp, usually the NetApp will start logging messages similar to:
[openssh.versionExchange.Fail:error]: Did not receive identification string from X.X.X.X
This is due to the fact that LogicMonitor checks the responsiveness of SSH on the NetApp, but does not complete an actual log in. The messages are harmless, but you can disable LogicMonitor’s checking of SSH on the device if you wish to not generate the messages. (Of course, this will also prevent alerting if SSH fails to respond on the device.)
LogicModules in Packages
LogicMonitor offers two different packages for NetAPP FAS monitoring, depending on whether your NetApp system is running in a Cluster-Mode (CDOT) or 7-Mode environment; some LogicModules are shared across both packages.
Name | Type | Description |
LogicModules Shared by Both Packages | ||
addCategory_NetApp | PropertySource | Identifies the NetApp host, discovers if SSL is being used, what mode it’s running in (7 mode or Cluster mode), and assigns a system category of either ‘NetApp_7Mode’ or ‘NetApp_ClusterMode’. |
NetApp_System_Info | PropertySource | Discovers NetApp host meta data and configurations such as OnTAPI version, operating mode (7mode or Cluster mode), system version, model, processor and memory. |
NetAppIf- | DataSource | NetApp interface statistics using 64 bit counters |
NetAppSnapVault- | DataSource | SnapVault status |
LogicModules in Cluster-Mode Package | ||
NetApp_Cluster_iSCSI | DataSource | Monitors iSCSI interface performance metrics such as IOPS, throughput, latency, SCSI commands, login activity and errors. |
NetApp_Cluster_Volumes | DataSource | Monitors NetApp volumes storage and performance metrics. |
NetApp_Cluster_VoltageSensors | DataSource | Monitors environmental voltage sensor readings and operating status. |
NetApp_Cluster_TemperatureSensors | DataSource | Monitors environmental temperature value and sensor operating status. |
NetApp_Cluster_StorageAdapters | DataSource | Monitors the NetApp host storage adapters health and performance metrics. |
NetApp_Cluster_Snapshots | DataSource | Monitors NetApp snapshot age, storage space and busy state. |
NetApp_Cluster_SnapMirror | DataSource | Monitors SnapMirror health status, relationship status, mirror state, data transfer, etc. |
NetApp_Cluster_ShelfBayHealth | DataSource | Monitors NetApp shelf bay health status. |
NetApp_Cluster_SVMPeers | DataSource | Monitors the SVM peer relationship state. |
NetApp_Cluster_SVM | DataSource | Monitors the storage virtual machines (SVM) operating status. |
NetApp_Cluster_RAID | DataSource | Monitors NetApp RAID performance metrics. |
NetApp_Cluster_Quotas | DataSource | Monitors quota operating states and blocks. |
NetApp_Cluster_QTree | DataSource | Monitors the current operating state of the QTree. |
NetApp_Cluster_PolicyGroups | DataSource | Monitors the NetApp Policy Group performance metrics. |
NetApp_Cluster_PSU | DataSource | Monitors NetApp power supply unit operating status. |
NetApp_Cluster_Nodes | DataSource | Monitors NetApp cluster nodes uptime, environment temperature status and failed components. |
NetApp_Cluster_NFS | DataSource | Monitors NetApp Network File System (NFS) performance metrics such as IOPS, throughput, errors, operation details and latency. |
NetApp_Cluster_Interfaces | DataSource | Monitors NetApp logical interface operating status, home status, packet transmission, data throughput, errors and uptime. |
NetApp_Cluster_LUNs | DataSource | Monitors NetApp LUN performance metrics such as IOPS, data throughput, operating state, latency, storage details/utilization, WAFL errors, etc. |
NetApp_Cluster_HighAvailability | DataSource | Monitors the high availability takeover/giveback operation success, failure, attempt and duration. |
NetApp_Cluster_HAInterconnectPair | DataSource | Monitors the cluster high availability pair communications. |
NetApp_Cluster_GlobalPerformance | DataSource | Monitors NetApp global performance. |
NetApp_Cluster_FibreChannel | DataSource | Monitors the NetApp fibre-channel adapter performance metrics such as IOPS, data throughput, latency, Rx/TX power and operating state. |
NetApp_Cluster_FanSensors | DataSource | Monitors system fan operating status and speed (RPM). |
NetApp_Cluster_Failover | DataSource | Monitors NetApp failover node state. |
NetApp_Cluster_FCPInitiators | DataSource | Monitors Fiber Channel Port Initiator IOPS, Throughput, Latency, Command Activity, etc. |
NetApp_Cluster_Disks | DataSource | Monitors NetApp disk performance metrics. |
NetApp_Cluster_Status | DataSource | An overview of the status of the disks on a NetApp Cluster node. |
NetApp_Cluster_CurrentSensors | DataSource | Monitors NetApp current sensor operating status and amperage readings. |
NetApp_Cluster_Peer | DataSource | Monitors the NetApp cluster peer health status, node availability and ping checks. |
NetApp_Cluster_CIFS | DataSource | Monitors NetApp CIFS (Common Internet File System) performance metrics. |
NetApp_Cluster_BatteryLifeSensors | DataSource | Monitors the NetApp battery sensor operating state and runtime. |
NetApp_Cluster_Aggregate | DataSource | Monitors the NetApp cluster aggregate performance metrics. |
NetApp_Cluster_Topology | TopologySource | Generates NetApp cluster mode topologies, including disks, volumes, and initiator edges. |
LogicModules in 7-Mode Package | ||
NetApp_7mode_vFiler | DataSource | Monitors vFiler performance metrics such as CPU utilization, IOPS, data & network throughput. |
NetApp_7mode_iSCSI | DataSource | Monitors the NetApp iSCSI IOPS, throughput and latency performance metrics. |
NetApp_7mode_WAFL | DataSource | Monitors the NetApp Write-Anywhere-Filesystem (WAFL) performance metrics such as buffer cache hits/misses, directory hits/misses, inode cache hits/misses, latency, memory, message transmission and operations. |
NetApp_7mode_Volumes | DataSource | Monitors NetApp volume storage and performance metrics. |
NetApp_7mode_VoltageSensors | DataSource | Monitors the voltage sensors in system. |
NetApp_7mode_TemperatureSensors | DataSource | Monitors the temperature sensors in system. |
NetApp_7mode_Targets | DataSource | Monitors NetApp target performance metrics such as IOPS, throughput, latency, frame discards, and queue. |
NetApp_7mode_Snapshots | DataSource | Monitors NetApp volume snapshot age, storage space and busy state. |
NetApp_7mode_SnapshotScheduler | DataSource | Monitors the NetApp Snapshots to ensure they follow their configured schedule. |
NetApp_7mode_Snapmirror | DataSource | Monitors NetApp SnapMirror lag time, status and last transfer metrics. |
NetApp_7mode_RAID | DataSource | Monitors the NetApp RAID block, stripe and tetris operations. |
NetApp_7mode_QTree | DataSource | Monitors QTree NFS, CIFS and internal operations. |
NetApp_7mode_PowerSupplies | DataSource | Monitors sensor operating status on the power supplies. |
NetApp_7mode_NIC | DataSource | Monitors NetApp NIC (Network Interface Card) performance metrics such as operating state, throughput and frame transmission. |
NetApp_7mode_NFS | DataSource | Monitors NetApp NFSv3 and NFSv4 performance metrics such as IOPS, latency and calls. |
NetApp_7mode_LUNs | DataSource | Monitors NetApp LUN operational and performance metrics such as operating state, IOPS, throughput, latency, queue, storage utilization, etc. |
NetApp_7mode_HostAdapters | DataSource | Monitors NetApp host adapter IOPS, data throughput, operating status and redundancy. |
NetApp_7mode_GlobalPerformance | DataSource | Monitors NetApp global performance metrics. |
NetApp_7mode_Fans | DataSource | Monitors NetApp cooling chassis fan operating state and RPM. |
NetApp_7mode_Disks | DataSource | Monitors NetApp disk health and performance metrics. |
NetApp_7mode_Status | DataSource | An overview of the status of the disks on a NetApp 7mode node. |
NetApp_7mode_CurrentSensors | DataSource | Monitors the current sensors in system. |
NetApp_7mode_ClusteringServices | DataSource | Monitors NetApp high availability clustering services. |
NetApp_7mode_CableConnectors | DataSource | Monitors NetApp shelf cables and connectors. |
NetApp_7mode_Aggregates | DataSource | Monitors NetApp aggregate performance and storage metrics. |
NetApp_7mode_Topology | TopologySource | Generates NetApp 7mode topologies, including disks, volumes, and initiator edges. |