NetApp Filer (REST)
Description
This connector discovers the enclosure and the disks of NetApp disk arrays (filer) in C-mode as well as various environment sensors (temperatures, fans, power supplies, etc.). It relies on the REST API protocol.
Enterprise Connector
This connector requires the Enterprise edition of MetricsHub.
Superseded Connector
This connector is superseded by:
Target
Typical platform: NetApp
Operating system: Storage System
This connector is not available for the local host (it is applicable to remote hosts only).
Prerequisites
Leverages: NetApp REST API
Technology and protocols: HTTP
Examples
CLI
metricshub HOSTNAME -t storage -c +NetAppREST --https --http-port 443 -u USERNAME
metricshub.yaml
resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: storage
connectors: [ +NetAppREST ] # Optional, to load only this connector
protocols:
http:
https: true
port: 443 # or probably something else
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt
Connector Activation Criteria
The NetApp Filer (REST) connector will be automatically activated, and its status will be reported as OK if all the below criteria are met:
- The HTTP Request below to the managed host succeeds:
- POST
/servlets/netapp.servlets.admin.XMLrequest_filer - Request Body:
<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE netapp SYSTEM 'file:/etc/netapp_filer.dtd'><netapp version='1.0' xmlns='http://www.netapp.com/filer/admin'><system-node-get-iter/></netapp> - The response body contains:
<product-version>NetApp(regex)
- POST
Metrics
| Type | Collected Metrics | Specific Attributes |
|---|---|---|
| battery | hw.status{hw.type="battery", state="degraded|failed|ok"}hw.status{hw.type="battery", state="present"} | hw.parent.idhw.parent.typeidname |
| disk_controller | hw.status{hw.type="disk_controller", state="degraded|failed|ok"}hw.status{hw.type="disk_controller", state="present"} | hw.parent.idhw.parent.typeidname |
| enclosure | hw.status{hw.type="enclosure", state="degraded|failed|ok"}hw.status{hw.type="enclosure", state="present"} | idinfomodelnameserial_numbertypevendor |
| fan | hw.status{hw.type="fan", state="degraded|failed|ok"}hw.status{hw.type="fan", state="present"} | hw.parent.idhw.parent.typeidname |
| logical_disk | hw.status{hw.type="logical_disk", state="degraded|failed|ok"} | hw.parent.idhw.parent.typeidnameraid_level |
| network | hw.network.bandwidth.limithw.network.uphw.status{hw.type="network", state="degraded|failed|ok"}hw.status{hw.type="network", state="present"} | device_typehw.parent.idhw.parent.typeidnamephysical_addressphysical_address_type |
| physical_disk | hw.physical_disk.sizehw.status{hw.type="physical_disk", state="degraded|failed|ok"}hw.status{hw.type="physical_disk", state="present"} | hw.parent.idhw.parent.typeidinfomodelnameserial_number |
| power_supply | hw.status{hw.type="power_supply", state="degraded|failed|ok"}hw.status{hw.type="power_supply", state="present"} | hw.parent.idhw.parent.typeidname |
| temperature | hw.status{hw.type="temperature", state="degraded|failed|ok"}hw.status{hw.type="temperature", state="present"}hw.temperaturehw.temperature.limit{limit_type="high.critical"}hw.temperature.limit{limit_type="high.degraded"}hw.temperature.limit{limit_type="low.critical"}hw.temperature.limit{limit_type="low.degraded"} | hw.parent.idhw.parent.typeidname |
| voltage | hw.status{hw.type="voltage", state="degraded|failed|ok"}hw.status{hw.type="voltage", state="present"} | hw.parent.idhw.parent.typeidname |