12. Debug collector

The debug collector provides mechanisms to collect various system log files, and is useful for troubleshooting. A set of collected logs are referred to as a “dump”.

The logs gathered by the debug collector are shown in Table 12.1.

Table 12.1 Debug collector logs

Log name

Description

bmc-state.log

Contains the value of the OpenBMC BMCState property.

chassis-state.log

Contains the value of the OpenBMC Chassis PowerState property.

cpuinfo

Contains information about the CPU on the BMC.

disk-usage.log

Shows disk usage on BMC, gathered with the df command.

dreport.log

Contains a summary of the status of different logs collected by the dump-collector.

envtest.log

Result of system environment test, containing sensor threshold checks, PSU and fans status checks, systemd services checks, and so on.

failed-services.log

Displays failing services (if any).

firmware_version.log

Shows IPU-Machine firmware version, including BMC, GW, ICU (MCU) and SysFPGA.

fw-printenv.log

Contains the U-Boot environment.

gw_cpu_usage.log

Load information of GW CPUs.

gw_disk_usage.log

Shows disk usage on GW, gathered with df command.

gw_memory_usage.log

Displays GW memory usage

gw_uptime.log

Displays the output of the uptime command on the GW.

hostlogs

Contains GW journal.

hostnamectl.log

Contains hostname, machine ID, OS, kernel and architecture information.

host-state.log

Displays the value of the OpenBMC HostState property.

inventory.log

Contains system inventory information.

ipaddr.log

IP information from BMC.

iplink.log

IP link information from BMC.

ipus-regdump.log

A dump of selected IPU status registers, including tr, xb, nlc, pci and ss status.

journal-pretty.log

Prettified journal log from BMC.

meminfo

Memory information from BMC.

obmc-console.log

Log from the BMC-GW serial-console.

os-release

Information gathered from /etc/os-release on BMC.

pcie-state.log

PCIe boot and state information.

summary.log

Summary of the dump/debug-collection taken.

top.log

Log gathered from the top-command on BMC.

uptime.log

Output from uptime command on BMC.

12.1. REST API

You can use the openbmctool.py to create, list and retrieve dumps.

  • Create a dump:

    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump create
    

    Note

    This command will complete before the dump is actually created and ready for retrieval. Dump creation will take approximately 1 min 30 seconds. You can check if the dump is available by using the dump list command. The maximum number of dumps that can exist on a BMC is two.

  • List dumps on the system:

    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump list
    
  • Retrieve a dump from the system:

    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump retrieve -s <dump_save_path> <dump_number>
    # Example
    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump retrieve -s . 1
    
  • Delete a dump from the system:

    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump delete [-n [DUMPNUM [DUMPNUM ...]]] {all}
    # Example
    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump delete -n 1