1616| KernelPlugin | sh -c 'uname -a'<br >sh -c 'cat /proc/sys/kernel/numa_balancing'<br >wmic os get Version /Value | ** Analyzer Args:** <br >- ` exp_kernel ` : Union[ str, list] <br >- ` exp_numa ` : Optional[ int] <br >- ` regex_match ` : bool | - | [ KernelDataModel] ( #KernelDataModel-Model ) | [ KernelCollector] ( #Collector-Class-KernelCollector ) | [ KernelAnalyzer] ( #Data-Analyzer-Class-KernelAnalyzer ) |
1717| KernelModulePlugin | cat /proc/modules<br >modinfo amdgpu<br >wmic os get Version /Value | ** Analyzer Args:** <br >- ` kernel_modules ` : dict[ str, dict] <br >- ` regex_filter ` : list[ str] | - | [ KernelModuleDataModel] ( #KernelModuleDataModel-Model ) | [ KernelModuleCollector] ( #Collector-Class-KernelModuleCollector ) | [ KernelModuleAnalyzer] ( #Data-Analyzer-Class-KernelModuleAnalyzer ) |
1818| MemoryPlugin | free -b<br >lsmem<br >numactl -H<br >wmic OS get FreePhysicalMemory /Value; wmic ComputerSystem get TotalPhysicalMemory /Value | ** Analyzer Args:** <br >- ` ratio ` : float<br >- ` memory_threshold ` : str | - | [ MemoryDataModel] ( #MemoryDataModel-Model ) | [ MemoryCollector] ( #Collector-Class-MemoryCollector ) | [ MemoryAnalyzer] ( #Data-Analyzer-Class-MemoryAnalyzer ) |
19- | NetworkPlugin | ip addr show<br >curl<br >ethtool -S {interface}<br >ethtool {interface}<br >lldpcli show neighbor<br >lldpctl<br >ip neighbor show<br >niccli --dev {device_num} qos --ets --show<br >niccli --list_devices<br >nicctl show card<br >nicctl show dcqcn<br >nicctl show environment<br >nicctl show pcie ats<br >nicctl show port<br >nicctl show qos<br >nicctl show rdma statistics<br >nicctl show version firmware<br >nicctl show version host-software<br >ping<br >ip route show<br >ip rule show<br >wget | - | ** Collection Args:** <br >- ` url ` : Optional[ str] <br >- ` netprobe ` : Optional[ Literal[ 'ping', 'wget', 'curl']] | [ NetworkDataModel] ( #NetworkDataModel-Model ) | [ NetworkCollector] ( #Collector-Class-NetworkCollector ) | - |
19+ | NetworkPlugin | ip addr show<br >curl<br >ethtool -S {interface}<br >ethtool {interface}<br >lldpcli show neighbor<br >lldpctl<br >ip neighbor show<br >ping<br >ip route show<br >ip rule show<br >wget | - | ** Collection Args:** <br >- ` url ` : Optional[ str] <br >- ` netprobe ` : Optional[ Literal[ 'ping', 'wget', 'curl']] | [ NetworkDataModel] ( #NetworkDataModel-Model ) | [ NetworkCollector] ( #Collector-Class-NetworkCollector ) | - |
20+ | NicPlugin | - | ** Analyzer Args:** <br >- ` expected_values ` : Optional[ Dict[ str, Dict[ str, Any]]] <br >- ` performance_profile_expected ` : str<br >- ` support_rdma_disabled_values ` : List[ str] <br >- ` pcie_relaxed_ordering_expected ` : str<br >- ` expected_qos_prio_map ` : Optional[ Dict[ Any, Any]] <br >- ` expected_qos_pfc_enabled ` : Optional[ int] <br >- ` expected_qos_tsa_map ` : Optional[ Dict[ Any, Any]] <br >- ` expected_qos_tc_bandwidth ` : Optional[ List[ int]] <br >- ` require_qos_consistent_across_adapters ` : bool<br >- ` nicctl_log_error_regex ` : Optional[ List[ Dict[ str, Any]]] | ** Collection Args:** <br >- ` commands ` : Optional[ List[ str]] <br >- ` use_sudo_niccli ` : bool<br >- ` use_sudo_nicctl ` : bool | [ NicDataModel] ( #NicDataModel-Model ) | [ NicCollector] ( #Collector-Class-NicCollector ) | [ NicAnalyzer] ( #Data-Analyzer-Class-NicAnalyzer ) |
2021| NvmePlugin | nvme smart-log {dev}<br >nvme error-log {dev} --log-entries=256<br >nvme id-ctrl {dev}<br >nvme id-ns {dev}{ns}<br >nvme fw-log {dev}<br >nvme self-test-log {dev}<br >nvme get-log {dev} --log-id=6 --log-len=512<br >nvme telemetry-log {dev} --output-file={dev}_ {f_name}<br >nvme list -o json | - | - | [ NvmeDataModel] ( #NvmeDataModel-Model ) | [ NvmeCollector] ( #Collector-Class-NvmeCollector ) | - |
2122| OsPlugin | sh -c '( lsb_release -ds \|\| (cat /etc/* release \| grep PRETTY_NAME) \|\| uname -om ) 2>/dev/null \| head -n1'<br >cat /etc/* release \| grep VERSION_ID<br >wmic os get Version /value<br >wmic os get Caption /Value | ** Analyzer Args:** <br >- ` exp_os ` : Union[ str, list] <br >- ` exact_match ` : bool | - | [ OsDataModel] ( #OsDataModel-Model ) | [ OsCollector] ( #Collector-Class-OsCollector ) | [ OsAnalyzer] ( #Data-Analyzer-Class-OsAnalyzer ) |
2223| PackagePlugin | dnf list --installed<br >dpkg-query -W<br >pacman -Q<br >cat /etc/* release<br >wmic product get name,version | ** Analyzer Args:** <br >- ` exp_package_ver ` : Dict[ str, Optional[ str]] <br >- ` regex_match ` : bool<br >- ` rocm_regex ` : Optional[ str] <br >- ` enable_rocm_regex ` : bool | - | [ PackageDataModel] ( #PackageDataModel-Model ) | [ PackageCollector] ( #Collector-Class-PackageCollector ) | [ PackageAnalyzer] ( #Data-Analyzer-Class-PackageAnalyzer ) |
@@ -409,17 +410,6 @@ Collect network configuration details using ip command
409410- ** CMD_CURL** : ` curl `
410411- ** CMD_LLDPCLI_NEIGHBOR** : ` lldpcli show neighbor `
411412- ** CMD_LLDPCTL** : ` lldpctl `
412- - ** CMD_NICCLI_LISTDEV** : ` niccli --list_devices `
413- - ** CMD_NICCLI_GETQOS_TEMPLATE** : ` niccli --dev {device_num} qos --ets --show `
414- - ** CMD_NICCTL_CARD** : ` nicctl show card `
415- - ** CMD_NICCTL_DCQCN** : ` nicctl show dcqcn `
416- - ** CMD_NICCTL_ENVIRONMENT** : ` nicctl show environment `
417- - ** CMD_NICCTL_PCIE_ATS** : ` nicctl show pcie ats `
418- - ** CMD_NICCTL_PORT** : ` nicctl show port `
419- - ** CMD_NICCTL_QOS** : ` nicctl show qos `
420- - ** CMD_NICCTL_RDMA_STATISTICS** : ` nicctl show rdma statistics `
421- - ** CMD_NICCTL_VERSION_HOST_SOFTWARE** : ` nicctl show version host-software `
422- - ** CMD_NICCTL_VERSION_FIRMWARE** : ` nicctl show version firmware `
423413
424414### Provides Data
425415
@@ -434,22 +424,25 @@ NetworkDataModel
434424- lldpcli show neighbor
435425- lldpctl
436426- ip neighbor show
437- - niccli --dev {device_num} qos --ets --show
438- - niccli --list_devices
439- - nicctl show card
440- - nicctl show dcqcn
441- - nicctl show environment
442- - nicctl show pcie ats
443- - nicctl show port
444- - nicctl show qos
445- - nicctl show rdma statistics
446- - nicctl show version firmware
447- - nicctl show version host-software
448427- ping
449428- ip route show
450429- ip rule show
451430- wget
452431
432+ ## Collector Class NicCollector
433+
434+ ### Description
435+
436+ Collect raw output from niccli (Broadcom) and nicctl (Pensando) commands.
437+
438+ ** Bases** : [ 'InBandDataCollector']
439+
440+ ** Link to code** : [ nic_collector.py] ( https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/nic_collector.py )
441+
442+ ### Provides Data
443+
444+ NicDataModel
445+
453446## Collector Class NvmeCollector
454447
455448### Description
@@ -1014,19 +1007,47 @@ Complete network configuration data
10141007- ** rules** : ` List[nodescraper.plugins.inband.network.networkdata.RoutingRule] `
10151008- ** neighbors** : ` List[nodescraper.plugins.inband.network.networkdata.Neighbor] `
10161009- ** ethtool_info** : ` Dict[str, nodescraper.plugins.inband.network.networkdata.EthtoolInfo] `
1017- - ** broadcom_nic_devices** : ` List[nodescraper.plugins.inband.network.networkdata.BroadcomNicDevice] `
1018- - ** broadcom_nic_qos** : ` Dict[int, nodescraper.plugins.inband.network.networkdata.BroadcomNicQos] `
1019- - ** pensando_nic_cards** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicCard] `
1020- - ** pensando_nic_dcqcn** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicDcqcn] `
1021- - ** pensando_nic_environment** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicEnvironment] `
1022- - ** pensando_nic_pcie_ats** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicPcieAts] `
1023- - ** pensando_nic_ports** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicPort] `
1024- - ** pensando_nic_qos** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicQos] `
1025- - ** pensando_nic_rdma_statistics** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicRdmaStatistics] `
1026- - ** pensando_nic_version_host_software** : ` Optional[nodescraper.plugins.inband.network.networkdata.PensandoNicVersionHostSoftware] `
1027- - ** pensando_nic_version_firmware** : ` List[nodescraper.plugins.inband.network.networkdata.PensandoNicVersionFirmware] `
10281010- ** accessible** : ` Optional[bool] `
10291011
1012+ ## NicDataModel Model
1013+
1014+ ### Description
1015+
1016+ Collected output of niccli (Broadcom) and nicctl (Pensando) commands.
1017+
1018+ ** Link to code** : [ nic_data.py] ( https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/nic_data.py )
1019+
1020+ ** Bases** : [ 'DataModel']
1021+
1022+ ### Model annotations and fields
1023+
1024+ - ** results** : ` Dict[str, nodescraper.plugins.inband.nic.nic_data.NicCommandResult] `
1025+ - ** card_show** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlCardShow] `
1026+ - ** cards** : ` List[nodescraper.plugins.inband.nic.nic_data.NicCtlCard] `
1027+ - ** port** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlPort] `
1028+ - ** lif** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlLif] `
1029+ - ** qos** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlQos] `
1030+ - ** rdma** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlRdma] `
1031+ - ** dcqcn** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlDcqcn] `
1032+ - ** environment** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlEnvironment] `
1033+ - ** version** : ` Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlVersion] `
1034+ - ** broadcom_nic_devices** : ` List[nodescraper.plugins.inband.nic.nic_data.NicCliDevice] `
1035+ - ** broadcom_nic_qos** : ` Dict[int, nodescraper.plugins.inband.nic.nic_data.NicCliQos] `
1036+ - ** broadcom_nic_support_rdma** : ` Dict[int, str] `
1037+ - ** broadcom_nic_performance_profile** : ` Dict[int, str] `
1038+ - ** broadcom_nic_pcie_relaxed_ordering** : ` Dict[int, str] `
1039+ - ** pensando_nic_cards** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicCard] `
1040+ - ** pensando_nic_dcqcn** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicDcqcn] `
1041+ - ** pensando_nic_environment** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicEnvironment] `
1042+ - ** pensando_nic_lif** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicLif] `
1043+ - ** pensando_nic_pcie_ats** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicPcieAts] `
1044+ - ** pensando_nic_ports** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicPort] `
1045+ - ** pensando_nic_qos** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicQos] `
1046+ - ** pensando_nic_rdma_statistics** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicRdmaStatistics] `
1047+ - ** pensando_nic_version_host_software** : ` Optional[nodescraper.plugins.inband.nic.nic_data.PensandoNicVersionHostSoftware] `
1048+ - ** pensando_nic_version_firmware** : ` List[nodescraper.plugins.inband.nic.nic_data.PensandoNicVersionFirmware] `
1049+ - ** nicctl_card_logs** : ` Optional[Dict[str, str]] `
1050+
10301051## NvmeDataModel Model
10311052
10321053### Description
@@ -1442,6 +1463,16 @@ Check memory usage is within the maximum allowed used memory
14421463
14431464** Link to code** : [ memory_analyzer.py] ( https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/memory/memory_analyzer.py )
14441465
1466+ ## Data Analyzer Class NicAnalyzer
1467+
1468+ ### Description
1469+
1470+ Analyze niccli/nicctl data; checks Broadcom support_rdma, performance_profile (RoCE), pcie_relaxed_ordering (enabled), and getqos (expected QoS across adapters).
1471+
1472+ ** Bases** : [ 'DataAnalyzer']
1473+
1474+ ** Link to code** : [ nic_analyzer.py] ( https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/nic_analyzer.py )
1475+
14451476## Data Analyzer Class OsAnalyzer
14461477
14471478### Description
@@ -1771,6 +1802,29 @@ Arguments for journal analyzer
17711802- ** ratio** : ` float `
17721803- ** memory_threshold** : ` str `
17731804
1805+ ## Analyzer Args Class NicAnalyzerArgs
1806+
1807+ ### Description
1808+
1809+ Analyzer args for niccli/nicctl data, with expected_values keyed by canonical command key.
1810+
1811+ ** Bases** : [ 'AnalyzerArgs']
1812+
1813+ ** Link to code** : [ analyzer_args.py] ( https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/analyzer_args.py )
1814+
1815+ ### Annotations / fields
1816+
1817+ - ** expected_values** : ` Optional[Dict[str, Dict[str, Any]]] `
1818+ - ** performance_profile_expected** : ` str `
1819+ - ** support_rdma_disabled_values** : ` List[str] `
1820+ - ** pcie_relaxed_ordering_expected** : ` str `
1821+ - ** expected_qos_prio_map** : ` Optional[Dict[Any, Any]] `
1822+ - ** expected_qos_pfc_enabled** : ` Optional[int] `
1823+ - ** expected_qos_tsa_map** : ` Optional[Dict[Any, Any]] `
1824+ - ** expected_qos_tc_bandwidth** : ` Optional[List[int]] `
1825+ - ** require_qos_consistent_across_adapters** : ` bool `
1826+ - ** nicctl_log_error_regex** : ` Optional[List[Dict[str, Any]]] `
1827+
17741828## Analyzer Args Class OsAnalyzerArgs
17751829
17761830** Bases** : [ 'AnalyzerArgs']
0 commit comments