Skip to main content

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.

hardware netapp storage

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: &lt;?xml version='1.0' encoding='utf-8' ?&gt;&lt;!DOCTYPE netapp SYSTEM 'file:/etc/netapp_filer.dtd'&gt;&lt;netapp version='1.0' xmlns='http://www.netapp.com/filer/admin'&gt;&lt;system-node-get-iter/&gt;&lt;/netapp&gt;
    • The response body contains: &lt;product-version&gt;NetApp (regex)

Metrics

TypeCollected MetricsSpecific Attributes
batteryhw.status{hw.type="battery", state="degraded|failed|ok"}
hw.status{hw.type="battery", state="present"}
hw.parent.id
hw.parent.type
id
name
disk_controllerhw.status{hw.type="disk_controller", state="degraded|failed|ok"}
hw.status{hw.type="disk_controller", state="present"}
hw.parent.id
hw.parent.type
id
name
enclosurehw.status{hw.type="enclosure", state="degraded|failed|ok"}
hw.status{hw.type="enclosure", state="present"}
id
info
model
name
serial_number
type
vendor
fanhw.status{hw.type="fan", state="degraded|failed|ok"}
hw.status{hw.type="fan", state="present"}
hw.parent.id
hw.parent.type
id
name
logical_diskhw.status{hw.type="logical_disk", state="degraded|failed|ok"}hw.parent.id
hw.parent.type
id
name
raid_level
networkhw.network.bandwidth.limit
hw.network.up
hw.status{hw.type="network", state="degraded|failed|ok"}
hw.status{hw.type="network", state="present"}
device_type
hw.parent.id
hw.parent.type
id
name
physical_address
physical_address_type
physical_diskhw.physical_disk.size
hw.status{hw.type="physical_disk", state="degraded|failed|ok"}
hw.status{hw.type="physical_disk", state="present"}
hw.parent.id
hw.parent.type
id
info
model
name
serial_number
power_supplyhw.status{hw.type="power_supply", state="degraded|failed|ok"}
hw.status{hw.type="power_supply", state="present"}
hw.parent.id
hw.parent.type
id
name
temperaturehw.status{hw.type="temperature", state="degraded|failed|ok"}
hw.status{hw.type="temperature", state="present"}
hw.temperature
hw.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.id
hw.parent.type
id
name
voltagehw.status{hw.type="voltage", state="degraded|failed|ok"}
hw.status{hw.type="voltage", state="present"}
hw.parent.id
hw.parent.type
id
name