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.

dmesg.log

Kernel message buffer log.

dreport.log

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

elogall.log

List of all log entries available on the BMC logging daemon.

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, IPU-Gateway, ICU and SysFPGA.

fw-printenv.log

Contains the U-Boot environment.

gw_cpu_usage.log

Load information about IPU-Gateway CPUs.

gw_disk_usage.log

Shows disk usage on IPU-Gateway, gathered with df command.

gw_memory_usage.log

Displays IPU-Gateway memory usage

gw_uptime.log

Displays the output of the uptime command on the IPU-Gateway.

hostlogs

Contains IPU-Gateway 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, containing up to 5000 most recent entries.

journal.log

Complete journal log from BMC, in non-prettified form.

meminfo

Memory information from BMC.

obmc-console-mcu1.log

MCU1 console log dump.

obmc-console-mcu2.log

MCU2 console log dump.

obmc-console.log

Log from the BMC and IPU-Gateway serial console.

operation.log

Dump of the IPUM operation log.

os-release

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

pcie-state.log

PCIe boot and state information.

powercap.log

Contains IPUM powercap settings.

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 up to 10 min, depending on how long the machine is running. 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.

    It is possible to create only one dump at a time. Doing otherwise will generate the following error:

    $ python3 openbmctool.py -H <hostip/hostname> -U <user> -P <password> dump create
    Attempting login...
    Failed: another dump creation is pending.
    User root has been logged out
    
  • 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