Skip to main content

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.

brocade hardware network

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

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)

Metrics​

TypeCollected MetricsSpecific Attributes
bladehw.status{hw.type="blade", state="degraded|failed|ok"}
hw.status{hw.type="blade", state="present"}
device_type
firmware_version
hw.parent.id
hw.parent.type
id
model
name
part_number
serial_number
vendor
enclosurehw.status{hw.type="enclosure", state="degraded|failed|ok"}
hw.status{hw.type="enclosure", state="present"}
system.cpu.utilization
system.memory.utilization
firmware_version
id
model
name
part_number
serial_number
type
vendor
fanhw.fan.speed
hw.status{hw.type="fan", state="degraded|failed|ok"}
hw.status{hw.type="fan", state="present"}
hw.parent.id
hw.parent.type
id
name
part_number
sensor_location
serial_number
networkhw.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.limit
hw.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.up
hw.status{hw.type="network", state="degraded|failed|ok"}
hw.status{hw.type="network", state="present"}
bandwidth
device_type
hw.network.name
hw.parent.id
hw.parent.type
id
name
physical_address
physical_address_type
power_supplyhw.power_supply.limit
hw.power_supply.usage
hw.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
part_number
power_supply_type
sensor_location
serial_number
temperaturehw.status{hw.type="temperature", state="degraded|failed|ok"}
hw.status{hw.type="temperature", state="present"}
hw.temperature
hw.parent.id
hw.parent.type
id
name
sensor_location