ethfabricanalysis(8)

πŸ“¦ version 12.1.0.1, in centos-stream 9, fedora 43, fedora 44, opensuse-leap 16.0

πŸ’– ethfabricanalysis πŸ’–

okay so bestie, welcome to the ethfabricanalysis(8) page, straight out of the EFSFFCLIRG man pages ✨ it literally does analysis of the fabric. that's the whole vibe. it's giving fabric detective πŸ”πŸ’…


🌸 NAME 🌸

ethfabricanalysis β€” performs analysis of the fabric πŸ¦‹


✨ Syntax ✨

no cap, here's exactly how you call her:

ethfabricanalysis [-b|-e] [-s] [-d  dir] [-c  file] [-E  file] [-p
planes] [-T  topology_inputs] [-f  host_files]

πŸŽ€ Options πŸŽ€

every single flag, bestie, i'm not skipping a single one πŸ‘‘

  • --help β€” produces the full help text. the whole thing. the entire lore. πŸ“–
  • -b β€” puts you in baseline mode. default is compare/check mode, jsyk. 🧱
  • -e β€” evaluates health only. default is still compare/check mode. 🩺
  • -s β€” saves the history of failures (that's errors and differences). πŸ’Ύ
  • -d dir β€” the top-level directory where baselines and the history of failed checks get saved. default is /var/usr/lib/eth-tools/analysis πŸ“
  • -c file β€” the error thresholds config file. default is /etc/eth-tools/ethmon.conf ⚠️
  • -E file β€” the Ethernet Mgt configuration file. default is /etc/eth-tools/mgt_config.xml. πŸ”§
  • -p planes β€” Fabric planes, separated by a space. default is the first enabled plane defined in the config file. value ALL will use all enabled planes. πŸ›«
  • -f host_files β€” Hosts files, separated by a space. this overrides the HostsFiles defined in the Mgt config file for the corresponding planes. value DEFAULT will use the HostFile defined in the Mgt config file for the corresponding plane. 🏠
  • -T topology_inputs β€” the name of topology input filenames, separated by a space. see Details and ethreport for more info. πŸ—ΊοΈ

🌈 Example 🌈

ethfabricanalysis
ethfabricanalysis -p 'p1 p2' -f 'hosts1 DEFAULT'

The fabric analysis tool checks the following:

  • Fabric links (both internal to switch and external cables) πŸ”Œ
  • Fabric components (nodes, links, systems, and their configuration) 🧩
  • Fabric error counters and link speed mismatches πŸ“‰πŸ“ˆ
NOTE: The comparison includes components on the fabric. Therefore, operations such as shutting down a server cause the server to no longer appear on the fabric and are flagged as a fabric change or failure by ethfabricanalysis. πŸ’€ like bestie if you shut it down, she WILL notice, she's watching πŸ‘€

🫢 Environment Variables 🫢

The following environment variables are also used by this command:

  • FF_ANALYSIS_DIR β€” top-level directory for baselines and failed health checks. πŸ—‚οΈ

🧚 Details 🧚

You can specify the topology_input file to be used with one of the following methods:

  • On the command line using the -T option. ⌨️
  • Using the TopologyFile specified in Ethernet Mgt config file. πŸ“„

If the specified file does not exist, no topology_input file is used.

For more information on topology_input, refer to ethreport πŸ“š

By default, the error analysis includes counters and slow links (that is, links running below enabled speeds). You can change this using the FF_FABRIC_HEALTH configuration parameter in ethfastfabric.conf. This parameter specifies the ethreport options and reports to be used for the health analysis. 🩹

When a topology_input file is used, it can also be useful to extend FF_FABRIC_HEALTH to include fabric topology verification options such as -o verifylinks. πŸ”—

The thresholds for counter analysis default to /etc/eth-tools/ethmon.conf. However, you can specify an alternate configuration file for thresholds using the -c option. The ethmon.si.conf file can also be used to check for any non-zero values for signal integrity counters. πŸ“Ά

All files generated by ethfabricanalysis start with fabric in their file name. 🏷️

The ethfabricanalysis tool generates files such as the following within FF_ANALYSIS_DIR:

πŸ’— Health Check πŸ’—

  • latest/fabric.<plane_name>.errors β€” stdout of ethreport for errors encountered during fabric error analysis. 😭
  • latest/fabric.<plane_name>.errors.stderr β€” stderr of ethreport during fabric error analysis. 😭

πŸ’— Baseline πŸ’—

During a baseline run, the following files are also created in FF_ANALYSIS_DIR/latest.

  • baseline/fabric.<plane_name>.snapshot.xml β€” ethreport snapshot of complete fabric components and configuration. πŸ“Έ
  • baseline/fabric.<plane_name>.comps β€” ethreport summary of fabric components and basic configuration. 🧾
  • baseline/fabric.<plane_name>.links β€” ethreport summary of internal and external links. πŸ”—

πŸ’— Full Analysis πŸ’—

  • latest/fabric.<plane_name>.snapshot.xml β€” ethreport snapshot of complete fabric components and configuration. πŸ“Έ
  • latest/fabric.<plane_name>.snapshot.stderr β€” stderr of ethreport during snapshot. 😭
  • latest/fabric.<plane_name>.errors β€” stdout of ethreport for errors encountered during fabric error analysis. 😭
  • latest/fabric.<plane_name>.errors.stderr β€” stderr of ethreport during fabric error analysis. 😭
  • latest/fabric.<plane_name>.comps β€” stdout of ethreport for fabric components and configuration. 🧾
  • latest/fabric.<plane_name>.comps.stderr β€” stderr of ethreport for fabric components. 😭
  • latest/fabric.<plane_name>.comps.diff β€” diff of baseline and latest fabric components. πŸ”
  • latest/fabric.<plane_name>.links β€” stdout of ethreport summary of internal and external links. πŸ”—
  • latest/fabric.<plane_name>.links.stderr β€” stderr of ethreport summary of internal and external links. 😭
  • latest/fabric.<plane_name>.links.diff β€” diff of baseline and latest fabric internal and external links. πŸ”
  • latest/fabric.<plane_name>.links.changes.stderr β€” stderr of ethreport comparison of links. 😭
  • latest/fabric.<plane_name>.links.changes β€” ethreport comparison of links against baseline. This is typically easier to read than the links.diff file and contains the same information. πŸ‘€
  • latest/fabric.<plane_name>.comps.changes.stderr β€” stderr of ethreport comparison of components. 😭
  • latest/fabric.<plane_name>.comps.changes β€” ethreport comparison of components against baseline. This is typically easier to read than the comps.diff file and contains the same information. πŸ‘€

The .diff and .changes files are only created if differences are detected. 🚨

If the -s option is used and failures are detected, files related to the checks that failed are also copied to the time-stamped directory name under FF_ANALYSIS_DIR. ⏰


πŸ‘‘ Fabric Items Checked Against the Baseline πŸ‘‘

Based on ethreport -o links:

  • Unconnected/down/missing cables πŸͺ’
  • Added/moved cables 🚚
  • Changes in link width and speed πŸ“
  • Changes to IfAddr in fabric (replacement of NIC or Switch hardware) πŸ”„
  • Adding/Removing Nodes (NIC, Virtual NICs, Virtual Switches, Physical Switches, Physical Switch internal switching cards (leaf/spine)) βž•βž–
  • Changes to server or switch names ✏️

Based on ethreport -o comps:

  • Overlap with items from links report πŸ”
  • Changes in port MTU πŸ“¦
  • Changes in port speed/width enabled or supported ⚑
  • Changes in NIC or switch device IDs/revisions/VendorID (for example, ASIC hardware changes) πŸ”¬
  • Changes in port Capability mask (which features/agents run on port/server) 🎭
  • Changes to I/O Units (IOUs), I/O Controllers (IOCs), and I/O Controller Services Services provided 🧱

πŸ”₯ Fabric Items Also Checked During Health Check πŸ”₯

Based on ethreport -s -o errors -o slowlinks:

  • Error counters on all Intel(R) Ethernet Fabric ports (NIC, switch external, and switch internal) checked against configurable thresholds. 🚦
  • Typically identifies potential fabric errors, such as symbol errors. πŸ’₯
  • May also identify transient congestion, depending on the counters that are monitored. 🌊
  • Link active speed/width as compared to Enabled speed. πŸƒ
  • Identifies links whose active speed/width is < min (enabled speed/width on each side of link). 🐒
  • This typically reflects bad cables or bad ports or poor connections. πŸ’€
  • Side effect is the verification of fabric health. βœ…

and that's the whole page bestie, you ate that πŸ’…

Copyright(C) 2020-2024 Intel Corporation β€” shoutout to Intel for the copyright, and this was the ethfabricanalysis(8) page from the EFSFFCLIRG man pages 🫢✨ periodt, go analyze that fabric πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from