xsos:一個在 Linux 上閱讀 SOSReport 的工具

2019-05-23 13:33:00

我們都已經知道 SOSReport。它用來收集可用於診斷的系統資訊。Redhat 的支援服務建議我們在提交案例時提供 SOSReport 來分析當前的系統狀態。

它會收集全部型別的報告,以幫助使用者找出問題的根本原因。我們可以輕鬆地提取和閱讀 SOSReport,但它很難閱讀。因為它的每個部分都是一個單獨的檔案。

那麼,在 Linux 中使用語法高亮顯示閱讀所有這些內容的最佳方法是什麼。是的,這可以通過 xsos 工具做到。

sosreport

sosreport 命令是一個從執行中的系統(尤其是 RHEL 和 OEL 系統)收集大量設定細節、系統資訊和診斷資訊的工具。它可以幫助技術支援工程師在很多方面分析系統。

此報告包含有關系統的大量資訊,例如引導資訊、檔案系統、記憶體、主機名、已安裝的 RPM、系統 IP、網路詳細資訊、作業系統版本、已安裝的核心、已載入的核心模組、開啟的檔案列表、PCI 裝置列表、掛載點及其細節、執行中的進程資訊、進程樹輸出、系統路由、位於 /etc 資料夾中的所有組態檔,以及位於 /var 資料夾中的所有紀錄檔檔案。

這將需要一段時間來生成報告,這取決於你的系統安裝和設定。

完成後,sosreport 將在 /tmp 目錄下生成一個壓縮的歸檔檔案。

xsos

xsos 是一個幫助使用者輕鬆讀取 Linux 系統上的 sosreport 的工具。另一方面,我們可以說它是 sosreport 考官。

它可以立即從 sosreport 或正在執行的系統中匯總系統資訊。

xsos 將嘗試簡化、解析、計算並格式化來自數十個檔案(和命令)的資料,以便為你提供有關系統的詳細概述。

你可以通過執行以下命令立即匯總系統資訊。

# curl -Lo ./xsos bit.ly/xsos-direct; chmod +x ./xsos; ./xsos -ya

如何在 Linux 上安裝 xsos

我們可以使用以下兩種方法輕鬆安裝 xsos

如果你正在尋找最新的前沿版本。使用以下步驟:

# curl -Lo /usr/local/bin/xsos bit.ly/xsos-direct# chmod +x /usr/local/bin/xsos

下面是安裝 xsos 的推薦方法。它將從 rpm 檔案安裝 xsos

# yum install http://people.redhat.com/rsawhill/rpms/latest-rsawaroha-release.rpm# yum install xsos

如何在 Linux 上使用 xsos

一旦通過上述方法之一安裝了 xsos。只需執行 xsos 命令,不帶任何選項,它們會顯示有關系統的基本資訊。

# xsosOS  Hostname: CentOS7.2daygeek.com  Distro:   [redhat-release] CentOS Linux release 7.6.1810 (Core)            [centos-release] CentOS Linux release 7.6.1810 (Core)            [os-release] CentOS Linux 7 (Core) 7 (Core)  RHN:      (missing)  RHSM:     (missing)  YUM:      2 enabled plugins: fastestmirror, langpacks  Runlevel: N 5  (default graphical)  SELinux:  enforcing  (default enforcing)  Arch:     mach=x86_64  cpu=x86_64  platform=x86_64  Kernel:    Booted kernel:  3.10.0-957.el7.x86_64    GRUB default:   3.10.0-957.el7.x86_64    Build version:      Linux version 3.10.0-957.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red      Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018    Booted kernel cmdline:      root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet      LANG=en_US.UTF-8    GRUB default kernel cmdline:      root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet      LANG=en_US.UTF-8    Taint-check: 0  (kernel untainted)    - - - - - - - - - - - - - - - - - - -  Sys time:  Sun May 12 10:05:21 CDT 2019  Boot time: Sun May 12 09:50:20 CDT 2019  (epoch: 1557672620)  Time Zone: America/Chicago  Uptime:    15 min,  1 user  LoadAvg:   [1 CPU] 0.00 (0%), 0.04 (4%), 0.09 (9%)  /proc/stat:    procs_running: 2   procs_blocked: 0    processes [Since boot]: 6423    cpu [Utilization since boot]:      us 1%, ni 0%, sys 1%, idle 99%, iowait 0%, irq 0%, sftirq 0%, steal 0%

如何使用 xsos 命令在 Linux 中檢視生成的 SOSReport 輸出?

我們需要份 SOSReport 以使用 xsos 命令進一步閱讀。

是的,我已經生成了一個 SOSReport,檔案如下。

# ls -lls -lh /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsa.tar.xz9.8M -rw-------. 1 root root 9.8M May 12 10:13 /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsa.tar.xz

執行如下命令解開它。

# tar xf sosreport-CentOS7-01-1005-2019-05-12-pomeqsa.tar.xz

要檢視全部資訊,帶上 -a--all 開關執行 xsos

# xsos --all /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsa

要檢視 BIOS 資訊,帶上 -b--bios 開關執行 xsos

# xsos --bios /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaDMIDECODE  BIOS:    Vend: innotek GmbH    Vers: VirtualBox    Date: 12/01/2006    BIOS Rev:    FW Rev:  System:    Mfr:  innotek GmbH    Prod: VirtualBox    Vers: 1.2    Ser:  0    UUID: 002f47b8-2af2-48f5-be1d-67b67e03514c  CPU:    0 of 0 CPU sockets populated, 0 cores/0 threads per CPU    0 total cores, 0 total threads    Mfr:    Fam:    Freq:    Vers:  Memory:    Total: 0 MiB (0 GiB)    DIMMs: 0 of 0 populated    MaxCapacity: 0 MiB (0 GiB / 0.00 TiB)

要檢視系統基本資訊,如主機名、發行版、SELinux、核心資訊、正常執行時間等,請使用 -o--os 開關執行 xsos

# xsos --os /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaOS  Hostname: CentOS7.2daygeek.com  Distro:   [redhat-release] CentOS Linux release 7.6.1810 (Core)            [centos-release] CentOS Linux release 7.6.1810 (Core)            [os-release] CentOS Linux 7 (Core) 7 (Core)  RHN:      (missing)  RHSM:     (missing)  YUM:      2 enabled plugins: fastestmirror, langpacks  SELinux:  enforcing  (default enforcing)  Arch:     mach=x86_64  cpu=x86_64  platform=x86_64  Kernel:    Booted kernel:  3.10.0-957.el7.x86_64    GRUB default:   3.10.0-957.el7.x86_64    Build version:      Linux version 3.10.0-957.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red      Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018    Booted kernel cmdline:      root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet      LANG=en_US.UTF-8    GRUB default kernel cmdline:      root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet      LANG=en_US.UTF-8    Taint-check: 536870912  (see https://access.redhat.com/solutions/40594)      29  TECH_PREVIEW: Technology Preview code is loaded    - - - - - - - - - - - - - - - - - - -  Sys time:  Sun May 12 10:12:22 CDT 2019  Boot time: Sun May 12 09:50:20 CDT 2019  (epoch: 1557672620)  Time Zone: America/Chicago  Uptime:    22 min,  1 user  LoadAvg:   [1 CPU] 1.19 (119%), 0.27 (27%), 0.14 (14%)  /proc/stat:    procs_running: 8   procs_blocked: 2    processes [Since boot]: 9005    cpu [Utilization since boot]:      us 1%, ni 0%, sys 1%, idle 99%, iowait 0%, irq 0%, sftirq 0%, steal 0%

要檢視 kdump 設定,請使用 -k--kdump 開關執行 xsos

# xsos --kdump /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaKDUMP CONFIG  kexec-tools rpm version:    kexec-tools-2.0.15-21.el7.x86_64  Service enablement:    UNIT           STATE    kdump.service  enabled  kdump initrd/initramfs:    13585734 Feb 19 05:51 initramfs-3.10.0-957.el7.x86_64kdump.img  Memory reservation config:    /proc/cmdline { crashkernel=auto }    GRUB default  { crashkernel=auto }  Actual memory reservation per /proc/iomem:      2a000000-340fffff : Crash kernel  kdump.conf:    path /var/crash    core_collector makedumpfile -l --message-level 1 -d 31  kdump.conf "path" available space:    System MemTotal (uncompressed core size) { 1.80 GiB }    Available free space on target path's fs { 22.68 GiB }  (fs=/)  Panic sysctls:    kernel.sysrq [bitmask] =  "16"  (see proc man page)    kernel.panic [secs] =  0  (no autoreboot on panic)    kernel.hung_task_panic =  0    kernel.panic_on_oops =  1    kernel.panic_on_io_nmi =  0    kernel.panic_on_unrecovered_nmi =  0    kernel.panic_on_stackoverflow =  0    kernel.softlockup_panic =  0    kernel.unknown_nmi_panic =  0    kernel.nmi_watchdog =  1    vm.panic_on_oom [0-2] =  0  (no panic)

要檢視有關 CPU 的資訊,請使用 -c--cpu 開關執行 xsos

# xsos --cpu /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaCPU  1 logical processors  1 Intel Core i7-6700HQ CPU @ 2.60GHz (flags: aes,constant_tsc,ht,lm,nx,pae,rdrand)

要檢視記憶體利用情況,請使用 -m--mem 開關執行 xsos

# xsos --mem /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaMEMORY  Stats graphed as percent of MemTotal:    MemUsed    ▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊.....................  58.8%    Buffers    ..................................................   0.6%    Cached     ▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊...................................  29.9%    HugePages  ..................................................   0.0%    Dirty      ..................................................   0.7%  RAM:    1.8 GiB total ram    1.1 GiB (59%) used    0.5 GiB (28%) used excluding Buffers/Cached    0.01 GiB (1%) dirty  HugePages:    No ram pre-allocated to HugePages  LowMem/Slab/PageTables/Shmem:    0.09 GiB (5%) of total ram used for Slab    0.02 GiB (1%) of total ram used for PageTables    0.01 GiB (1%) of total ram used for Shmem  Swap:    0 GiB (0%) used of 2 GiB total

要檢視新增的磁碟資訊,請使用 -d-disks 開關執行 xsos

# xsos --disks /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaSTORAGE  Whole Disks from /proc/partitions:    2 disks, totaling 40 GiB (0.04 TiB)    - - - - - - - - - - - - - - - - - - - - -    Disk    Size in GiB    ----    -----------    sda     30    sdb     10

要檢視網路介面設定,請使用 -e--ethtool 開關執行 xsos

# xsos --ethtool /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaETHTOOL  Interface Status:    enp0s10     0000:00:0a.0  link=up 1000Mb/s full (autoneg=Y)  rx ring 256/4096  drv e1000 v7.3.21-k8-NAPI / fw UNKNOWN    enp0s9      0000:00:09.0  link=up 1000Mb/s full (autoneg=Y)  rx ring 256/4096  drv e1000 v7.3.21-k8-NAPI / fw UNKNOWN    virbr0      N/A           link=DOWN                          rx ring UNKNOWN   drv bridge v2.3 / fw N/A    virbr0-nic  tap           link=DOWN                          rx ring UNKNOWN   drv tun v1.6 / fw UNKNOWN

要檢視有關 IP 地址的資訊,請使用 -i--ip 開關執行 xsos

# xsos --ip /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaIP4  Interface   Master IF  MAC Address        MTU     State  IPv4 Address  =========   =========  =================  ======  =====  ==================  lo          -          -                  65536   up     127.0.0.1/8  enp0s9      -          08:00:27:0b:bc:e9  1500    up     192.168.1.8/24  enp0s10     -          08:00:27:b2:08:91  1500    up     192.168.1.9/24  virbr0      -          52:54:00:ae:01:94  1500    up     192.168.122.1/24  virbr0-nic  virbr0     52:54:00:ae:01:94  1500    DOWN   -IP6  Interface   Master IF  MAC Address        MTU     State  IPv6 Address                                 Scope  =========   =========  =================  ======  =====  ===========================================  =====  lo          -          -                  65536   up     ::1/128                                      host  enp0s9      -          08:00:27:0b:bc:e9  1500    up     fe80::945b:8333:f4bc:9723/64                 link  enp0s10     -          08:00:27:b2:08:91  1500    up     fe80::7ed4:1fab:23c3:3790/64                 link  virbr0      -          52:54:00:ae:01:94  1500    up     -                                            -  virbr0-nic  virbr0     52:54:00:ae:01:94  1500    DOWN   -                                            -

要通過 ps 檢視正在執行的進程,請使用 -p--ps 開關執行 xsos

# xsos --ps /var/tmp/sosreport-CentOS7-01-1005-2019-05-12-pomeqsaPS CHECK  Total number of threads/processes:    501 / 171  Top users of CPU & MEM:    USER     %CPU   %MEM   RSS    root     20.6%  14.1%  0.30 GiB    gdm      0.3%   16.8%  0.33 GiB    postfix  0.0%   0.6%   0.01 GiB    polkitd  0.0%   0.6%   0.01 GiB    daygeek  0.0%   0.2%   0.00 GiB    colord   0.0%   0.4%   0.01 GiB  Uninteruptible sleep threads/processes (0/0):    [None]  Defunct zombie threads/processes (0/0):    [None]  Top CPU-using processes:    USER      PID   %CPU  %MEM  VSZ-MiB  RSS-MiB  TTY    STAT  START  TIME  COMMAND    root      6542  15.6  4.2   875      78       pts/0  Sl+   10:11  0:07  /usr/bin/python /sbin/sosreport    root      7582  3.0   0.1   10       2        pts/0  S     10:12  0:00  /bin/bash /usr/sbin/dracut --print-cmdline    root      7969  0.7   0.1   95       4        ?      Ss    10:12  0:00  /usr/sbin/certmonger -S -p    root      7889  0.4   0.2   24       4        ?      Ss    10:12  0:00  /usr/lib/systemd/systemd-hostnamed    gdm       3866  0.3   7.1   2856     131      ?      Sl    09:50  0:04  /usr/bin/gnome-shell    root      8553  0.2   0.1   47       3        ?      S     10:12  0:00  /usr/lib/systemd/systemd-udevd    root      6971  0.2   0.4   342      9        ?      Sl    10:12  0:00  /usr/sbin/abrt-dbus -t133    root      3200  0.2   0.9   982      18       ?      Ssl   09:50  0:02  /usr/sbin/libvirtd    root      2855  0.1   0.1   88       3        ?      Ss    09:50  0:01  /sbin/rngd -f    rtkit     2826  0.0   0.0   194      2        ?      SNsl  09:50  0:00  /usr/libexec/rtkit-daemon  Top MEM-using processes:    USER      PID   %CPU  %MEM  VSZ-MiB  RSS-MiB  TTY    STAT  START  TIME  COMMAND    gdm       3866  0.3   7.1   2856     131      ?      Sl    09:50  0:04  /usr/bin/gnome-shell    root      6542  15.6  4.2   875      78       pts/0  Sl+   10:11  0:07  /usr/bin/python /sbin/sosreport    root      3264  0.0   1.2   271      23       tty1   Ssl+  09:50  0:00  /usr/bin/X :0 -background    root      3200  0.2   0.9   982      18       ?      Ssl   09:50  0:02  /usr/sbin/libvirtd    root      3189  0.0   0.9   560      17       ?      Ssl   09:50  0:00  /usr/bin/python2 -Es /usr/sbin/tuned    gdm       4072  0.0   0.9   988      17       ?      Sl    09:50  0:00  /usr/libexec/gsd-media-keys    gdm       4076  0.0   0.8   625      16       ?      Sl    09:50  0:00  /usr/libexec/gsd-power    gdm       4056  0.0   0.8   697      16       ?      Sl    09:50  0:00  /usr/libexec/gsd-color    root      2853  0.0   0.7   622      14       ?      Ssl   09:50  0:00  /usr/sbin/NetworkManager --no-daemon    gdm       4110  0.0   0.7   544      14       ?      Sl    09:50  0:00  /usr/libexec/gsd-wacom  Top thread-spawning processes:    #   USER      PID   %CPU  %MEM  VSZ-MiB  RSS-MiB  TTY    STAT  START  TIME  COMMAND    17  root      3200  0.2   0.9   982      18       ?      -     09:50  0:02  /usr/sbin/libvirtd    12  root      6542  16.1  4.5   876      83       pts/0  -     10:11  0:07  /usr/bin/python /sbin/sosreport    10  gdm       3866  0.3   7.1   2856     131      ?      -     09:50  0:04  /usr/bin/gnome-shell    7   polkitd   2864  0.0   0.6   602      13       ?      -     09:50  0:01  /usr/lib/polkit-1/polkitd --no-debug    6   root      2865  0.0   0.0   203      1        ?      -     09:50  0:00  /usr/sbin/gssproxy -D    5   root      3189  0.0   0.9   560      17       ?      -     09:50  0:00  /usr/bin/python2 -Es /usr/sbin/tuned    5   root      2823  0.0   0.3   443      6        ?      -     09:50  0:00  /usr/libexec/udisks2/udisksd    5   gdm       4102  0.0   0.2   461      5        ?      -     09:50  0:00  /usr/libexec/gsd-smartcard    4   root      3215  0.0   0.2   470      4        ?      -     09:50  0:00  /usr/sbin/gdm    4   gdm       4106  0.0   0.2   444      5        ?      -     09:50  0:00  /usr/libexec/gsd-sound