Brocade Fabric OS Switch (REST)
Description
This connector discovers and monitors Brocade Fibre Channel switches through the Fabric OS REST API. It covers chassis identity and health, CPU and memory utilization, blades, Fibre Channel ports and traffic, fans, power supplies, and temperature sensors. Fabric OS 9.2.x / 8.2.2+ and an HTTPS-enabled REST interface are required.
This connector requires the Enterprise edition of MetricsHub.
This connector supersedes:
Target
Typical platform: Brocade
Operating system: Network Device
This connector is not available for the local host (it is applicable to remote hosts only).
Prerequisites
Leverages: Brocade Fabric OS REST API 9.2.x / 8.2.2+
Technology and protocols: HTTP
Examples
CLI
metricshub HOSTNAME -t network -c +BrocadeFOSREST --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: network
connectors: [ +BrocadeFOSREST ] # 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 Brocade Fabric OS Switch (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:
- get
/rest/running/brocade-chassis/chassis - Request Header:
${file::authHttpHeader.txt} - The response body contains:
chassis-wwn(regex)
- get
Metrics
| Type | Collected Metrics | Specific Attributes |
|---|---|---|
| blade | hw.status{hw.type="blade", state="degraded|failed|ok"}hw.status{hw.type="blade", state="present"} | device_typefirmware_versionhw.parent.idhw.parent.typeidmodelnamepart_numberserial_numbervendor |
| enclosure | hw.status{hw.type="enclosure", state="degraded|failed|ok"}hw.status{hw.type="enclosure", state="present"}system.cpu.utilizationsystem.memory.utilization | firmware_versionidmodelnamepart_numberserial_numbertypevendor |
| fan | hw.fan.speedhw.status{hw.type="fan", state="degraded|failed|ok"}hw.status{hw.type="fan", state="present"} | hw.parent.idhw.parent.typeidnamepart_numbersensor_locationserial_number |
| network | hw.errors{hw.type="network", hw.error.type="crc"}hw.errors{hw.type="network", hw.error.type="link"}hw.errors{hw.type="network", hw.error.type="signal_lost"}hw.errors{hw.type="network", hw.error.type="sync_lost"}hw.network.bandwidth.limithw.network.dropped{network.io.direction="receive"}hw.network.dropped{network.io.direction="transmit"}hw.network.io{direction="receive"}hw.network.io{direction="transmit"}hw.network.packets{direction="receive"}hw.network.packets{direction="transmit"}hw.network.uphw.status{hw.type="network", state="degraded|failed|ok"}hw.status{hw.type="network", state="present"} | bandwidthdevice_typehw.network.namehw.parent.idhw.parent.typeidnamephysical_addressphysical_address_type |
| power_supply | hw.power_supply.limithw.power_supply.usagehw.status{hw.type="power_supply", state="degraded|failed|ok"}hw.status{hw.type="power_supply", state="present"} | hw.parent.idhw.parent.typeidnamepart_numberpower_supply_typesensor_locationserial_number |
| temperature | hw.status{hw.type="temperature", state="degraded|failed|ok"}hw.status{hw.type="temperature", state="present"}hw.temperature | hw.parent.idhw.parent.typeidnamesensor_location |