sosreport는 Red Hat Enterprise Linux 시스템에서 구성 세부 정보, 시스템 정보 및 진단 정보를 수집하는 도구입니다. sos 패키지를 설치하고 sosreport 명령어를 실행하면 /tmp 디렉토리에 bz2 압축 파일이 생성됩니다. 이 파일을 Red Hat 지원 서비스팀에 제공하면 시스템 분석을 도울 수 있습니다.

레드햇 리눅스 sosreport 보고서란 무엇인가요?

SOS 보고서는 Red Hat Enterprise Linux 시스템에서 시스템 로그 파일, 설정 파일 및 기타 시스템 정보를 수집하는 스크립트입니다. 이 보고서는 시스템 문제 해결에 도움이 되는 중요한 정보를 제공합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

sosreport 명령어를 실행하기 위한 몇 가지 옵션을 입력하셨습니다. 이 옵션들의 의미는 다음과 같습니다:

  • yum install sos -y: sos 패키지를 설치합니다. -y 옵션은 설치 중에 질문을 하지 않고 기본값을 사용합니다.
  • sosreport -l: 사용 가능한 플러그인 목록을 확인합니다. 플러그인은 sosreport가 수집하는 정보의 범위를 결정합니다.
  • sosreport -e filesys.lsof: 특정 플러그인을 추가합니다. filesys.lsof 플러그인은 파일 시스템과 관련된 정보를 수집합니다.
  • /tmp 밑에 sosreport-호스트명-일자.tar.xz: sosreport가 생성하는 압축 파일의 기본 경로와 이름입니다. 호스트명과 일자는 시스템에서 자동으로 결정됩니다.

레드햇 리눅스 sosreport 생성 방법

SOS 보고서를 생성하려면 다음 단계를 따르세요.

  1. sos 패키지가 설치되어 있는지 확인합니다.
  2. root 사용자로 로그인합니다.
  3. 다음 명령을 실행합니다.
sosreport

이 명령은 /tmp 디렉토리에 bz2 압축 파일을 생성합니다. 이 파일을 Red Hat Global Support Services에 보내주세요.

이 스크립트는 시스템의 로그 파일, 설정 파일 및 기타 시스템 정보를 수집합니다. 생성된 파일은 /tmp 디렉토리에 bz2 압축 파일로 저장됩니다.

어떻게 하면 분석을 위해 Red Hat Global Support Services팀에게 Red Hat Enterprise Linux system 으로부터 시스템 로그파일들, 설정파일들과 시스템 정보를 수집하여 제공할 수 있을까요?

SOS 보고서를 생성하여 Red Hat Global Support Services팀에 보내주세요. SOS 보고서는 시스템 문제 해결에 도움이 되는 중요한 정보를 제공합니다.

SOS 보고서를 생성하려면 다음 단계를 따르세요.

  1. sos 패키지가 설치되어 있는지 확인합니다.
  2. root 사용자로 로그인합니다.
  3. 다음 명령을 실행합니다.
sosreport

이 명령은 /tmp 디렉토리에 bz2 압축 파일을 생성합니다. 이 파일을 Red Hat Global Support Services에 보내주세요.

Red Hat Global Support Services에 SOS 보고서를 보내는 방법은 다음과 같습니다.

  • Red Hat 지원 웹 사이트에서 지원 티켓을 생성합니다.
  • 지원 티켓에 SOS 보고서 파일을 첨부합니다.
  • 지원 티켓을 제출합니다.

Red Hat Global Support Services팀은 SOS 보고서를 사용하여 시스템 문제를 해결하는 데 도움이 될 것입니다.

레드햇 리눅스 SOS OS 버전별 생성 방법

  • Red Hat Enterprise Linux 4.6 혹은 이상
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

sosreport 명령어는 시스템 정보를 수집하는 스크립트입니다. 어떠한 커널에서 기동되고 있는지, 어떠한 드라이버가 로드되어 있는지, 또는 일반적인 서비스의 설정파일 등의 정보가 수집됩니다.
그리고 이미 알려져 있는 문제 패턴에 대해 간단한 진단을 할 수 있습니다.

sosreport 명령어를 실행하시려면 sos 패키지를 설치해야 합니다. sos 패키지는 기본적으로 설치되어 있지만, 만약 설치되어 있지 않다면 아래 순서에 따라 설치해 주십시요.

레드햇 리눅스 4 Update 6 또는 이후 버전 RHN up2date설치 방법

시스템이 RHN에 등록되어 있다면 up2date 명령어로 sos 패키지를 설치하실 수 있습니다.
레드햇 RHN(Red Hat Network)은 레드햇이 제공하는 클라우드 기반의 소프트웨어 관리 서비스입니다.

# up2date sos

레드햇 리눅스 5 이후 버전 SOS 설치

시스템이 RHN에 등록되어 있다면 yum 명령어를 이용해 주십시요.

# yum install sos

시스템이 RHN에 등록되어 있지 않거나, 외부로 접속할수 없는 네트워크 환경의 경우에는 RHN 웹사이트 또는 인스톨 CD에서 sos 패키지를 찾으실 수 있습니다. rpm 명령어를 이용 하셔서 sos 패키지를 설치해 주십시요.

# rpm -Uvh sos-<version>.<arch>.rpm

패키지를 설치하신 후, 다음과 같이 실행해 주십시요.

참고 사항: sosreport 명령어를 실행하기 위해 root 권한이 필요합니다.

# sosreport

일반적으로 명령어 실행은 수분 안에 완료되지만, 시스템이 따라 보다 오랜 시간이 걸릴 수도 있습니다.

실행 완료후 /tmp 디렉토리 밑에 bz2 압축파일이 생성됩니다. 그 파일을 Red Hat Global Support Services팀으로 보내 주시기 바랍니다.

일반적으로 bz2 파일 사이즈는 약 3MB 정도 이지만, 이용하고 계신 시스템이 대량의 로그 파일을 가지고 있다면 더 커질 수도 있습니다.

sosreport 명령어는 모듈 구조를 가지고 있어 모듈의 유효화/무효화를 지정할수 있습니다. 다음 명령어를 이용하시면 유효한 모듈(plugin) 리스트를 보실 수 있습니다.

# sosreport -l

모듈을 무효화하기 위해서는 -n/–skip-plugins 옵션에 모듈을 컴마로 구분하여 리스트로 지정합니다. 다음은 kvm과 amd 모듈을 무효화하는 실행 예입니다.

# sosreport -n kvm,amd

또는 각 모듈의 경우에는 -k 옵션에 의한 추가옵션을 제공하기도 합니다. 예를들어, Red Hat Enterprise Linux 4 와 5에서 인스톨된
sos rpm 모듈은 기본적으로 “rpm-Va” 의 결과를 수집합니다. k 옵션을 통해 sosreport 실행 시간을 절약 하실 수 있습니다.

# sosreport -k rpm.rpmva=off

레드햇 리눅스 4.5 이하 버전 sysreport 사용

Red Hat Enterprise Linux 4.5 또는 이전 버전에서는 sosreport 대신 sysreport를 사용 합니다.

sysreport를 실행하려면 먼저 sysreport 패키지를 설치해야 합니다. 시스템이 Red Hat Network(RHN)에 등록된 경우 Red Hat Enterprise Linux 4의 up2date 명령을 사용하여 설치할 수 있습니다.

# up2date sysreport

시스템이 RHN에 등록되지 않은 경우 CD에서 RPM을 사용하여 sysreport 패키지를 설치할 수 있습니다.

# rpm -Uvh sysreport-<version>.<arch>.rpm

패키지가 설치되면 root 사용자로 다음 명령을 실행합니다.

# sysreport

완료되면 sysreport는 /tmp에 압축된 tar 파일을 생성합니다. 이 파일을 지원 담당자에게 제공하십시오.

2.sos패키지에서 sysreport라고 하지만 명령어 sosreport의 소프트 링크입니다.

# ls -l /usr/sbin/sysreport
lrwxrwxrwx 1 root root 19 Nov 3 2008 /usr/sbin/sysreport -> /usr/sbin/sosreport

만약 예전 sysreport 버전을 사용 하시려면 , sos 패키지에 있는sysreport.legacy 명령어를 이용하십시요.

sosreport가 행이 걸렸을때, 어떻게 하면 좋을까요?

sosreport를 대신하여, 다음 스크립트를 작성하여 실행하여 주십시요.

#!/bin/bash
host="$(hostname)"

sos_dir="/tmp/${host}_hungsos"
mkdir $sos_dir
cd $sos_dir
chkconfig --list > chkconfig
date > date
df > df
dmesg > dmesg
dmidecode > dmidecode
fdisk -l > fdisk
free > free
hostname --fqdn > hostname
ifconfig > ifconfig
lsmod > lsmod
lspci > lspci
cat /proc/mounts > mount
netstat -tlpn > netstat
ps auxww > ps
rpm -qa > rpm-qa
rpm -Va > rpm-Va     #this command may take a while to run
ulimit -a > ulimit
uname -a > uname
uptime > uptime
cat /proc/meminfo > meminfo
cat /proc/cpuinfo > cpuinfo
mkdir etc
cd etc
cp /etc/fstab .
cp /etc/cluster/cluster.conf .
cp /etc/security/limits.conf .
cp /etc/redhat-release .
cp /etc/sysctl.conf .
cp /etc/modprobe.conf .
mkdir sysconfig/network-scripts -p
cd sysconfig
cp /etc/sysconfig/* . -R
cd $sos_dir
mkdir var/log -p
cp /var/log/* var/log -R
cd /tmp
tar -cvjf ${host}_hungsos.tar.bz2 $sos_dir

복구 모드로 sosreport 를 수집하기

시스템이 부팅되지 않으면 문제 해결을 위해 복구 모드로 sosreport 를 얻을 수 있습니다.

복구 모드에서 sosreport를 실행하는 방법

시스템이 부팅되지 않거나 문제를 해결하기 위해 시스템 정보 및 로그를 수집해야 하는 경우 복구 모드에서 sosreport를 생성할 수 있습니다.

다음 단계를 따르세요.

  1. 설치 DVD로 부팅: 시스템을 해당 버전의 Red Hat Enterprise Linux 설치 DVD 디스크로 부팅합니다.
  2. 복구 모드 선택:
    • RHEL 7 이상: 문제 해결, Red Hat Enterprise Linux 시스템 복구를 차례로 선택합니다.
    • RHEL 6: 설치된 시스템 복구를 선택합니다.
    • RHEL 5 이하: 부팅 프롬프트에 linux rescue를 입력합니다. 다중 경로 시스템인 경우 linux rescue mpath를 입력합니다.
  3. 언어 및 키보드 선택(RHEL 6 이하): 메시지가 표시되면 사용할 언어와 키보드 레이아웃을 선택합니다.
  4. 네트워크 활성화(RHEL 6 이하): 네트워크 인터페이스를 찾아 활성화하여 scp 명령을 사용하여 다른 호스트로 데이터를 전송할 수 있도록 합니다.
  5. 파일 시스템 마운트: 복구 환경은 시스템에서 현재 Red Hat Enterprise Linux 설치를 찾으려고 시도합니다. 다음 옵션 중 하나를 선택하라는 메시지가 표시됩니다.
    • 계속: RHEL 7에서는 /mnt/sysimage/ 아래에, RHEL 8/9에서는 /mnt/sysroot/ 아래에 모든 파티션을 읽기 및 쓰기 모드로 마운팅합니다.
    • 읽기 전용: RHEL 7에서는 /mnt/sysimage/ 아래에, RHEL 8/9에서는 /mnt/sysroot/ 아래에 모든 파티션을 읽기 전용 모드로 마운팅합니다.
    • 건너뛰기: 발견된 Red Hat Enterprise Linux 설치의 마운트를 건너뛰고 수동 마운팅을 진행합니다. sosreport를 생성하려면 계속을 선택합니다. 건너뛰기를 선택하면 다음 단계를 수행하기 전에 파일 시스템을 수동으로 마운트해야 합니다.
  6. sosreport 실행: 다음 명령을 실행하여 sosreport를 생성합니다.
    • RHEL 7 이하:
      # chroot /mnt/sysimage
      # sosreport
    • RHEL 8 이상:
      # chroot /mnt/sysroot
      # sos report
  7. 결과 확인: sosreport 생성이 완료되면 chroot 환경에서 다음 디렉토리에 출력을 제공합니다.
    • RHEL 6 이하: /var/tmp 디렉토리
    • RHEL 7 이상: chroot 환경에서 /mnt/sysimage/var/tmp 디렉토리
  8. sosreport 파일 복사: 네트워크를 통해 또는 USB 드라이브에 복사하여 지원 케이스에 업로드할 수 있습니다.

중요 사항:

  • sosreport 명령을 실행하는 동안 이름과 케이스 번호를 입력하라는 메시지가 표시됩니다. 이 필드를 채울 때는 문자 및/또는 숫자만 사용하십시오. 다른 문자를 추가하면 시스템이 손상되거나 보고서를 사용할 수 없게 될 수 있습니다.
  • RHEL 7 이상에서는 scp 명령을 실행하기 전에 네트워킹을 활성화해야 합니다.

sosreport 다른 디렉토리에 강제 생성하기

/tmp 디렉토리 이외의 다른 디렉토리를 사용하도록 sosreport를 강제하는 방법

sosreport가 /tmp에 충분한 공간이 없어 실패하는 경우 다음 방법을 사용하여 다른 디렉토리를 사용하도록 설정할 수 있습니다.

해결 방법은 “sos” 패키지 버전에 따라 다릅니다.

sos 패키지 버전을 확인하려면 다음 명령을 실행하세요.

# rpm -qa sos

RHEL 4.6에서 RHEL 5.6 사이의 Red Hat Enterprise Linux의 경우:

  • sosreport 버전이 sos-1.7-9.49.el5 이하인 경우(일반적으로 RHEL 4.6 이상 또는 RHEL 5.6 이하):
# mkdir /root/sos
# env TMP=/root/sos/ sosreport

이 예제에서는 sosreport를 /tmp 대신 /root/sos 아래에 생성합니다.

RHEL 5.7 이상에서:

  • sosreport 버전이 sos-1.7-9.54.el5 이상인 경우(일반적으로 RHEL 5.7 이상):
# mkdir /root/sos
# sosreport --tmp-dir /root/sos

이 예제에서는 sosreport를 /tmp 대신 /root/sos 아래에 생성합니다.

근본 원인:

--tmp-dir 옵션은 sos-1.7-9.54.el5 이전에는 도입되지 않았습니다. 시스템의 sos 버전은 특정 릴리스에 연결되어 있지 않다는 점에 유의하십시오.

진단 단계:

sosreport 명령은 sos 패키지에 의해 제공됩니다.

# rpm -qf $(which sosreport)

최신 sos 버전은 --tmp-dir 옵션을 제공합니다.

# sosreport --help | grep tmp

RHEL 7에서는 sosreport가 /tmp 대신 /var/tmp를 사용하지만 필요한 경우 --tmp-dir을 계속 사용할 수 있습니다.

sosreport 를 수동으로 수집 하기

문제가 발생 sosreport 를 생성 할 수없는 경우 다음 기술 자료를 확인하고 파일을 수동으로 검색합니다.

  • Sosreport가 멈춰있습니다.
  • 시스템에서 sosreport를 완료하지 못합니다.
  • sosreport 명령이 작동하지 않습니다.
  • 어떻게 수동으로 sosreport를 생성할 수 있나요?
  • sosreport가 설치되지 않은 경우 시스템 관련 정보를 어떻게 제공할 수 있을까요?
  • 서버의 sosreport를 실행하려고 하지만 멈춘 것 같습니다.
  • sosreport를 실행하지 않고 서버에서 필요한 로그를 수집하는 방법은 무엇인가요?
  • sosreport 없이 주기적으로 시스템 구성을 캡처하려면 어떻게 해야 하나요?

해결책:

  • 아래 스크립트는 Red Hat에서 제공한 정보입니다. 그러나 이는 게시된 서비스 수준 계약 및 지원 절차 (Production Support – Red Hat Customer Portal)의 범위를 벗어납니다. 이 정보는 주어진 그대로이며 이 문서의 정보를 사용하여 구성 설정 또는 설치된 응용 프로그램을 변경하면 Red Hat Global Support Services에 의해 지원되지 않을 수 있습니다. 이 문서의 의도는 시스템의 요구 사항을 충족시키기 위한 정보를 제공하는 것입니다. 이 문서의 정보 사용은 사용자의 책임입니다.
  • 참고: 이 스크립트는 공식 도구가 아닙니다. 스크립트는 지원되지 않으며 유지 관리되지 않습니다. 사용자는 자체 목적으로 스크립트를 사용할 수 있습니다. 스크립트로 수집된 데이터는 sos 패키지에서 제공되는 sosreport 명령으로 수집된 데이터의 하위 집합이 아니며 sosreport로 수집된 데이터 대신 사용될 수 없습니다.

수동 sosreport 스크립트 생성

  1. /tmp/man_sosreport.sh라는 파일을 만들고 아래 스크립트를 복사하여 저장하세요. (podman 명령을 docker로 변경할 수 있습니다.)
#!/bin/bash

export LANG=C
export PATH=/sbin:/usr/sbin:/bin:/usr/bin

# If this script hangs, un-comment the below two entries and note the command that the script hangs on.  Then comment out that command and re-run the script.
# set -x
# set -o verbose

[[ -d /tmp/sosreport ]] && rm -rf /tmp/sosreport
mkdir -p /tmp/sosreport && cd /tmp/sosreport && mkdir -p var/log etc/lvm etc/sysconfig network storage kernel systemd/etc systemd/lib proc

LOGFILE=/tmp/sosreport/error_log

echo -e "Gathering system information..."
hostname &> hostname  
cp -a /etc/redhat-release  etc/ 2>> $LOGFILE
uptime &> uptime 
file /etc/localtime &> localtime

echo -e "Gathering application information..."
chkconfig --list &> chkconfig
top -bn1 &> top_-bn1
which service &> /dev/null && service --status-all &> service_--status-all
date &> date
ps auxww &> ps_auxww
ps axlfwww &> ps_axlfwww
ps -elf &> ps_-elf
ps -efL &> ps_-efL
test -x /usr/bin/lsof && lsof -b +M -n -l -P &> lsof_-bnlP.M
rpm -qa --last &> installed-rpms
rpm --nodigest -qa --qf '%{NAME}~~%{ARCH}~~%{VERSION}~~%{RELEASE}~~%{INSTALLTIME:date}~~%{INSTALLTIME}~~%{VENDOR}~~%{BUILDHOST}~~%{SIGPGP}~~%{SIGPGP:pgpsig}\n' &> rpm_-qa_full
echo -e "  * Running 'rpm -Va'. This can take a while."
rpm -Va &> rpm_-Va
cp -a /etc/yum* etc/ 2>> $LOGFILE

echo -e "Gathering basic service information..."
cp -a /etc/audit/  etc/ 2>> $LOGFILE
cp -a /etc/audisp/  etc/ 2>> $LOGFILE
cp -a /etc/*syslog.* etc/ 2>> $LOGFILE
cp -a /etc/logrotate.* etc/ 2>> $LOGFILE
echo -e "Gathering rhsm information..."
cp -a /etc/rhsm etc/ 2>> $LOGFILE

echo -e "Gathering memory information..."
free -m &> free  
which vmstat &> /dev/null && vmstat 1 10 &> vmstat

echo -e "Gathering network information..."
cp -a /etc/NetworkManager/ etc/NetworkManager/ 2>> $LOGFILE
ifconfig &> network/ifconfig  
netstat -s &> network/netstat_-s
netstat -agn &> network/netstat_-agn
netstat -neopa &> network/netstat_-neopa
route -n &> network/route_-n
ip address show &> ip_address_show
ip -o addr &> network/ip_-o_addr
ip link &> network/ip_link
ip route show table all &> network/ip_route_show_table_all
ip -6 route show table all &> network/ip_-6_route_show_table_all
ip -4 rule &> network/ip_-4_route
ip -6 rule &> network/ip_-6_rule
ip -s -d link &> network/ip_-s_-d_link
ip -d address &> network/ip_-d_address
ifenslave -a &> network/ifenslave_-a
ip mroute show &> network/ip_mroute_show
ip maddr show &> network/ip_maddr_show
ip -s -s neigh show &> network/ip_-s_-s_neigh_show
ip neigh show nud noarp &> network/ip_neigh_show_nud_noarp
biosdevname -d &> network/biosdevname_-d
tc -s qdisc show &> network/tc_-s_qdisk_show
ss -peaonmi &> network/ss_-peaonmi
iptables --list --line-numbers &> network/iptables_--list_--line-numbers
iptables -vnxL &> network/iptables_-vnxL
ip6tables -vnxL &> network/ip6tables_-vnxL
iptables-save &> network/iptables-save
# XXX - need to skip bnx2x
for i in /sys/class/net/*; do ndev=`basename $i`; echo "###### $ndev";
  ethtool $ndev;
  echo "###-d"
  ethtool -d $ndev;
  echo "###-i"
  ethtool -i $ndev;
  echo "###-k"
  ethtool -k  $ndev;
  echo "###-S"
  ethtool -S  $ndev;
  echo "###-T"
  ethtool -T  $ndev;
  echo "###-a"
  ethtool -a  $ndev;
  echo "###-c"
  ethtool -c  $ndev;
  echo "###-g"
  ethtool -g  $ndev;
  echo "###-P"
  ethtool -P  $ndev;
  echo "###-l"
  ethtool -l  $ndev;
  echo "###--phy-statistics"
  ethtool --phy-statistics  $ndev;
  echo "###--show-priv-flags"
  ethtool --show-priv-flags  $ndev;
  echo "###--show-eee"
  ethtool --show-eee  $ndev;
done &> network/ethtool.out
# bond
cat /proc/net/bonding/bond* &> network/proc-net-bonding-bond 2>> $LOGFILE

echo -e "Gathering storage/filesystem information..."
df -l &> df
fdisk -l &> fdisk
parted -l &> parted
cp -a /etc/fstab  etc/ 2>> $LOGFILE
cp -a /etc/lvm/lvm.conf etc/lvm/ 2>> $LOGFILE
cp -a /etc/lvm/backup/ etc/lvm/ 2>> $LOGFILE
cp -a /etc/lvm/archive/ etc/lvm/ 2>> $LOGFILE
cp -a /etc/multipath.conf etc/ 2>> $LOGFILE
cat /proc/mounts &> proc/mounts
iostat -tkx 1 10 &> iostat_-tkx_1_10
parted -l &> storage/parted_-l
vgdisplay -v &> storage/vgdisplay
lvdisplay &> storage/lvdisplay
pvdisplay &> storage/pvdisplay
pvs -a -v &> storage/pvs
vgs -v &> storage/vgs
lvs -o +devices &> storage/lvs
multipath -v4 -ll &> storage/multipath_ll
pvscan -vvvv &> storage/pvscan
vgscan -vvvv &> storage/vgscan
lvscan -vvvv &> storage/lvscan
lsblk &> storage/lsblk
lsblk -t &> storage/lsblk_t
blkid -c /dev/null &> storage/blkid_c
dmsetup info -C &> storage/dmsetup_info_c
dmsetup status &>  storage/dmsetup_status 
dmsetup table &>  storage/dmsetup_table
ls -lanR /dev &> storage/ls_dev
udevadm info --export-db &> storage/udevadm_info_export_db
cat /proc/scsi/scsi &> storage/proc-scsi-scsi
test -x /usr/bin/lsscsi && lsscsi -dg &> storage/lsscsi_dg

echo -e "Gathering kernel information..."
cp -a /etc/security/limits* etc/ 2>> $LOGFILE
cp -a /etc/sysctl* etc/ 2>> $LOGFILE
tar cf ./kernel/$(uname -r)_mod.tar /lib/modules/$(uname -r)/modules* 2>> $LOGFILE
ulimit -a &> ulimit
cat /proc/slabinfo &> proc/slabinfo
cat /proc/interrupts &> proc/interrupts 
cat /proc/iomem &> proc/iomem
cat /proc/ioports &> proc/ioports
cat /proc/cmdline &> proc/cmdline
slabtop -o &> slabtop_-o
uname -a &> uname
sysctl -a &> sysctl_-a
lsmod &> lsmod
cp -a /etc/modprobe* etc/ 2>> $LOGFILE
cp -a  /etc/sysconfig/ etc/sysconfig/ 2>> $LOGFILE
for MOD in `lsmod | grep -v "Used by"| awk '{ print $1 }'`; do modinfo  $MOD 2>&1 >> modinfo; done;
ipcs -a &> ipcs_-a
ipcs -s | awk '/^0x/ {print $2}' | while read semid; do ipcs -s -i $semid; done &> ipcs_-s_verbose
sar -A &> sar_-A
cp -a /var/log/dmesg var/log/dmesg 2>> $LOGFILE
dmesg &> dmesg_now
dmesg -T &> dmesg_T

echo -e "Gathering hardware information..."
dmidecode &> dmidecode
lspci -vvv &> lspci_-vvv
lspci &> lspci
cat /proc/meminfo &> proc/meminfo  
cat /proc/cpuinfo &> proc/cpuinfo

echo -e "Gathering kdump information..."
cp -a /etc/kdump.conf etc/ 2>> $LOGFILE
ls -lanR /var/crash &> ls_lanR-var-crash
ls -1 /var/crash | while read n; do mkdir -p var/crash/${n}; cp -a /var/crash/${n}/vmcore-dmesg* var/crash/${n}/ 2>> $LOGFILE; done

echo -e "Gathering detection software information..."
cp -a /etc/aide.conf etc/ 2>> $LOGFILE
ls -lanR /var/lib/aide &> ls_lanR-var-lib-aide
cp -a /var/log/aide var/log/ 2>> $LOGFILE

echo -e "Gathering abrt information..."
ls -lanR /var/spool/abrt &> ls_lanR-var-spool-abrt
cp -a /etc/abrt etc/ 2>> $LOGFILE

echo -e "Gathering container related information..."
mkdir container
rpm -q podman >/dev/null 2>&1 || alias podman="docker"
which podman &>/dev/null && podman ps | awk '$1!="CONTAINER" {print $1}' | while read id; do podman inspect $id &> container/inspect_${id}; done
which podman &>/dev/null && podman ps &> container/ps
which podman &>/dev/null && podman image list &> container/image_list

echo -e "Gathering library information..."
ldconfig -p -N -X &> ldconfig_-p_-N_-X
cp -a /etc/nsswitch.conf etc 2>> $LOGFILE

echo -e "Gathering python information..."
which python &> which_python && readlink -e `which python` &> readlink_python

echo -e "Gathering systemd information..."
cp -a /etc/systemd systemd/etc 2>> $LOGFILE
cp -a /usr/lib/systemd systemd/lib 2>> $LOGFILE
systemctl status --all --full --no-pager &> systemd/systemctl_status

echo -e "Gathering logs..."
test -x /usr/bin/journalctl && journalctl --no-pager --all --full --boot > var/log/journalctl.out 2>> $LOGFILE
cp -a /var/log/{containers*,message*,secure*,boot*,cron*,yum*,Xorg*,sa,rhsm,audit,dmesg} var/log/ 2>> $LOGFILE

echo -e "Compressing files..."
tar -zpcf /tmp/sosreport-$(uname -n)-$(date +%s).tar.gz ./

echo -e "Script complete."
  1. 스크립트를 root로 실행하세요.

# cd /tmp
# bash ./man_sosreport.sh

  1. /tmp/sosreport-<호스트이름>-<날짜>.tar.gz를 지원 사례에 첨부하세요.

요약

sosreport는 Red Hat Enterprise Linux 시스템에서 구성 세부 정보, 시스템 정보 및 진단 정보를 수집하는 도구입니다. 이 정보는 시스템 분석, 문제 해결, 성능 튜닝 등에 도움이 될 수 있습니다. sosreport를 사용하면 Red Hat 지원 서비스팀에게 필요한 정보를 쉽게 제공할 수 있습니다

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤