Что такое sosreport и как создать его в Red Hat Enterprise Linux 4.6 и более поздних версий?
Environment
- Red Hat Enterprise Linux 4.6 и более поздние версии
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise MRG
Issue
- Что такое
sosreport
?- Как собрать лог файлы системы, сведения о конфигурации и прочую системную информацию в Red Hat Enterprise Linux, чтобы предоставить её в службу технической поддержки Red Hat для анализа?
- Я открываю заявку в службе технической поддержки Red Hat для оказания технической помощи. Какую информацию мне нужно предоставить для первоначального анализа системы?
- Как создать
sosreport
?- Если система не загружается, можно собрать sosreport из среды аварийного восстановления.:
- Если собранный файл sosreport слишком большой для прямой загрузки в заявку пожалуйста, обратитесь к следующей статье:
- Как установить пакет, содержащий команду sosreport?
- Что делать если команда sosreport зависает?
- Побочные эффекты команды sosreport
Resolution
Что такое sosreport:
Команда sosreport
это инструмент который собирает сведения о конфигурации и диагностическую информацию в системе Red Hat Enterprise Linux. Такие сведения могут включать, например, версию ядра, список загруженных модулей, файлы конфигурации системы и отдельных служб. Эта команда также запускает внешние программы для сбора дополнительной информации, и сохраняет этот вывод в архив.
Вывод команды 'sosreport' является общей отправной точкой для инженеров технической поддержки Red Hat при первоначальномго анализе заявки.
Как запустить sosreport:
После установки пакета sos
, выполните следующую команду, чтобы запустить sosreport:
Примечание: для запуска команды sosreport необходимы права доступа root.
# sosreport
Обычно в системе Red Hat Enterprise Linux 6 работа этой команды занимает несколько минут. В более старых версиях, это может занять несколько больше времени. В зависимости от конкретной конфигурации и специальных опций, в некоторых случаях команда может выполняться дольше. Если вас беспокоит время выполнения команды sosreport, обратитесь за помощью к представителю службы технической поддержки Red Hat.
После завершения, команда 'sosreport' создаст сжатый файл в /tmp (для RHEL6 и более ранних версий) или в /var/tmp (для RHEL7 и более поздних версий). Разные версии используют разные алгоритмы сжатия (gz, bz2, or xz). Файл следует передать инженеру технической поддержки (обычно в качестве приложения к открытой заявке).
Размер архива зависит от конфигурации системы, и дополнительных функций 'sosreport', (например, если указать опцию "all_logs" общего модуля, чтобы собрать все файлы syslog, то размер архива значительно увеличится).
Чтобы прикрепить sosreport или любой другой файл к открытой заявке, Вы можете воспользоваться командой redhat-support-tool, интерфейсом портала пользователей Red Hat или другими методами, включая FTP.
Если собранный файл sosreport слишком большой для прямой загрузки в заявку, его можно загрузить на сайт Red Hat ftp dropbox.redhat.com .
Чтобы избежать необходимости ввода информации о пользователе и учетной записи в интерактивном режиме, команду можно запустить в пакетном режиме, используя опцию --batch. В этом случае, информация о пользователе получается из файлов конфигурации RHN:
# sosreport --batch
Команда sosreport имеет модульную структуру, и дает возможность подключать и отключать модули, а также задавать параметры модулей через командную строку. Чтобы просмотреть доступные модули, используйте следующую команду:
# sosreport -l
Чтобы временно отключить модуль:
Перечислите через запятую модули для отключения в параметре -n/--skip-plugins.
Например, чтобы временно отключить модули kvm и amd (если они не работают), укажите:
# sosreport -n kvm,amd
У некоторых модулей есть дополнительные параметры, которые можно задать с помощью параметра -k. Например, в системах Red Hat Enterprise Linux 4 и 5, модуль sos rpm по умолчанию собирает вывод команды "rpm -Va". Так как это может занять много времени, такое поведение можно отключить:
# sosreport -k rpm.rpmva=off
Как выполнить команду sosreport на прокси-сервере RHN
Чтобы получить более подробную информацию на прокси-сервере RHN, выполните следующую команду:
# sosreport -o rhn
Примечание:
1. В Red Hat Enterprise Linux 4.5 и более ранних версий поставлялась более старая команда 'sysreport', также создававшая архивы с диагностической информацией. Если возможно, установите в системе пакет 'sos', поставляемый с более новыми версиями. Тем не менее, архивы 'sysreport' также можно предоставлять в службу технической поддержки Red Hat, если необходимо What is a sysreport and how to run it in Red Hat Enterprise Linux?
2. Пакет 'sos', поставляемый с Red Hat Enterprise Linux 4 и 5 также содержит команду 'sysreport'. Это символическая ссылка, которая обеспечивает обратную совместимость:
# ls -l /usr/sbin/sysreport
lrwxrwxrwx 1 root root 19 Nov 3 2008 /usr/sbin/sysreport -> /usr/sbin/sosreport
Чтобы использовать оригинальную (устаревшую) версию 'sysreport' на этих системах, используйте команду 'sysreport.legacy':
# sysreport.legacy
This utility will go through and collect some detailed information
about the hardware and setup of your Red Hat Linux system.
This information will be used to diagnose problems with your system
and will be considered confidential information. Red Hat will use
this information for diagnostic purposes ONLY.
Как установить sosreport:
Чтобы выполнить команду 'sosreport', должен быть установлен пакет 'sos'. Этот пакет входит в группу по умолчанию и автоматически устанавливается в большинстве систем.
Если по какой-либо причине пакет отсутствует, его можно установить вручную:
Red Hat Enterprise Linux 5 и более поздних версий
Если система зарегистрирована в RHN, используйте команду 'yum':
# yum install sos
Если система не зарегистрирована в RHN, то можно скачать пакет 'sos' с сайта RHN, либо найти его на установочных компакт-дисках или DVD. С помощью команды 'rpm' можно установить пакет в любой версии Red Hat Enterprise Linux:
# rpm -Uvh sos-<version>.noarch.rpm
Red Hat Enterprise Linux 4 Update 6 или более поздних версий
Если система зарегистрирована в Red Hat Network (RHN), пакет 'sos' можно установить командой 'up2date':
# up2date sos
Что делать если команда 'sosreport' зависает:
-
Если команда запущена в системе RHEL5, то перед завершением процесса по PID переключите процесс в фоновый режим (ctrl-z). В противном случае, вы можете столкнутся с проблемой описанной в KCS#55275
-
Если sosreport дает сбой из за ошибки "No space left on device", тогда на этом устройстве:
- Проверьте есть ли свободное место в файловой системе
/tmp
# df -h /tmp Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_ren-lv_root 50G 49G 1M 99% /
- Каталог с дополнительным свободным пространством можно явно указать следующим образом:
# sosreport --tmp-dir /path/to/another/volume
- Проверьте есть ли свободное место в файловой системе
-
Команда sosreport может зависнуть из- за одного из модулей.
Попробуйте определить на каком модуле команда зависает.
- Включите подробный вывод sosreport -vvvv
- Сделайте трассировку.
Определив, на каком модуле зависает команда sosreport, отключите этот модуль.
Для просмотра списка всех модулей воспользуйтесь следующей командой:
sosreport -l
Например, чтобы исключить плагин filesys, выполните:
sosreport -n filesys
-
В противном случае, вместо использования неработающей команды '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 #эта команда может занять некоторое время 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/message* var/log -R cd /tmp tar -cvjf ${host}_hungsos.tar.bz2 $sos_dir
Как создать 'sosreport' из среды аварийного восстановления
Если система не загружается, то для устранения неполадок можно собрать sosreport из среды аварийного восстановления.
Справка: How to generate sosreport from the rescue environment?
Как создать sosreport в другом каталоге
В случае, когда в каталоге /tmp недостаточно свободного места, возможно создать отчет 'sosreport' в другом каталоге.
Справка: How do I make sosreport write to an alternative location?
Как собрать данные sosreport вручную
Если все остальное не удается и создать отчет sosreport по-прежнему невозможно, то единственным решением будет собрать необходимые сведения вручную.
Справка: Sosreport fails. What data should I provide in its place?
Возможные побочные эффекты sosreport:
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments