Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Red Hat Enterprise Linux 上での sosreport の役割と生成方法

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL) 4.6+、5、6、7、8
  • Red Hat Enterprise MRG

Issue

Resolution

sosreport とは何ですか?

sosreport コマンドは、設定の詳細、システム情報、および診断情報を Red Hat Enterprise Linux システムから収集するツールです。 たとえば、実行中のカーネルのバージョン、ロード済みのモジュール、そしてシステムおよびサービスの設定ファイルを取得します。 さらにこのコマンドは、外部プログラムを実行してより詳細な情報を収集し、結果として生じるアーカイブにこの出力結果を保存します。

sosreport の提供を求められるのはなぜですか?

sosreport の出力は、Red Hat Enterprise Linux システムのサービスリクエストを初期解析する際に、Red Hat サポートエンジニアが通常最初に行うものです。

このユーティリティーは、Red Hat サポートエンジニアがサポートケースで報告された問題の調査中に参照する診断情報を収集するための標準化された方法を提供します。

sosreport を使用することで、断片的なデータの出力を継続的に要求されることはありません。


sosreport の生成方法は?

sos パッケージをインストールしたら、以下のコマンドで sosreport を実行します。

# sosreport

注意: 正確なデータの取得のため、sosreport を実行するには root 権限が必要です。現在、root 権限を持たずに sosreport を実行できるメカニズムはありません。

Red Hat Enterprise Linux 6 では、このコマンドが完了するまで数分かかります。古いバージョンだともう少しかかる場合があります。ローカル設定と一部のケースで指定したオプションによっては、コマンドが完了するまで時間がかかる場合があります。sosreport コマンドの実行時間に不安を感じる場合は、Red Hat サポートチームにご連絡ください。

sosreport コマンドが完了すると、/tmp (RHEL6 以前) または /var/tmp (RHEL7 以降) の配下に圧縮ファイルが生成されます。作成されたファイルをサポートチームに提供してください (通常は作成したサポートケースに添付して提出)。

sosreport を実行すると、使用可能なディスク領域がいっぱいになります

システム設定と、有効な sosreport のオプション機能によって、アーカイブのサイズは異なります。たとえば、--all-logs は、コマンド出力とログファイル収集のサイズ限定機能を削除するため、アーカイブのサイズを 著しく 増加させます。

/tmp/ または /var/tmp が小さすぎて sosreport アーカイブを保持できない場合は、--tmp-dir オプションを使用して、十分な空き領域がある別の場所を指定します。

Red Hat に sosreport を提供するにはどうすればよいですか?

sosreport などのファイルを既存のサポートケースに追加するには、redhat-support-tool コマンドラインオプション、Red Hat Portal UI、または FTP を使用したさまざまな方法を利用できます。

収集した sosreport ファイルが大きすぎてケースにアップロードできない場合は、Red Hat FTP dropbox にアップロードすることができます。

このオプションを使用する場合は、サポートエンジニアがファイルを取得できる唯一の方法である正確なファイル名でサポートケースを更新してください。

ケース番号はまだありませんが、sosreport を実行するにはケース番号が必要ですか?

ケース番号の入力プロンプトはオプションであり、指定した場合、ケース番号はアーカイブのファイル名の一部になります。ケース番号を省略しても、sosreport に悪影響を及ぼすことはありません。

ユーザーおよびアカウント情報をインタラクティブに入力しないで済むように、--batch オプションを指定してバッチモードでコマンドを実行することができます。


sosreport コマンドの実行方法を制御するにはどうすればよいですか?

sosreport コマンドはプラグイン構造のため、ユーザーはコマンドラインからプラグインを有効/無効にしたり、プラグインオプションを指定したりできます。利用可能なプラグインおよびそのオプションの一覧を表示するには、以下のコマンドを実行します。

# sosreport -l

特定のプラグインを無効または有効にするにはどうすればよいですか?

ユーザーは、-e/--enable-plugins および -n/--skip-plugins オプションをそれぞれ使用して、プラグインを選択的に有効または無効にすることができます。これらのオプションは、プラグイン名のコンマ区切りのリストを使用するか、複数回指定できます。たとえば、amd および kvm プラグインを無効にするには、以下のコマンドを実行します。

# sosreport -n kvm,amd

プラグインオプションの使用方法は?

個々のプラグインは、-k オプションで指定できる追加オプションを提供している場合もあります。これらのオプションは、使用可能なプラグインの一覧と同じ出力に一覧表示されます (sosreport -l).このオプションが取る形式は plugin_name.option_name=value です。たとえば、コンテナーログの収集を有効にするには、以下を実行します。

# sosreport -k podman.logs=on

オプションは、ブール値のトグルであるか、文字列または整数であるかを指定します。ブール値のトグルの場合、ユーザーは Trueon または yesFalseoff または no を同じ意味で使用できます。

* sosreport が、特定のコマンド出力の収集をスキップすることがあるのはなぜですか?*

sosreport を実行すると、以下のようなメッセージがコンソールに出力される場合があります。

[plugin:networking] skipped command 'nft list ruleset': required kernel modules or services not present (kmods=[nf_tables] services=[]).

sosreport は、実行されるシステムを決して変更しないことを目的としています。特定のプラグインによって呼び出される一部のコマンドは、自動的に変更をトリガー (上記の例ではカーネルモジュールをロード) する可能性があるため、デフォルトで gated となります。ご使用の環境でこれらを変更することが容認され、sosreport によってスキップしたコマンドを収集するよう変更する場合は、以下のように sosreport を実行します。

sosreport --allow-system-changes

システムで sosreport を実行すると、CPU 時間またはメモリーの使用量が多すぎます (sos バージョン 3.6 以降でサポートされています)。

デフォルトでは、sosreport は最大 4 つのプラグインを並行して実行し、合計実行時間を削減します。これにより、実行中のプラグインに応じて (特にこれらの各プラグインがジャーナル出力を収集する場合)、特定のシステムでメモリーが競合したり、CPU 使用率が高くなったりする可能性があります。同時収集数を減らすには、--threads オプションを使用します。たとえば、プラグインを 1 つずつ実行するには、以下を実行します。

# sosreport --threads=1

sosreport をインストールする:

sosreport コマンドを実行するには、sos パッケージがインストールされている必要があります。以下のコマンドを実行して、sos パッケージがインストールされているか、そしてインストールに問題がないかどうかを確認できます。

# rpm -qa | grep sos
sos-3.2-35.el7_2.3.noarch                  << sos package is installed
# rpm -V sos                               << run verification on installed package
  • Red Hat Enterprise Linux 5 以降

    • システムが RHSM に登録済みの場合は、yum コマンドを使用します。

      # yum install sos
      
    • システムが RHSM に登録されていない場合は、sos パッケージは RHN の Web サイトからダウンロードするか、インストール CD か DVD から取得することができます。rpm コマンドを使用して、パッケージを Red Hat Enterprise Linux のすべてのバージョンにインストールすることができます。

      # rpm -Uvh sos-<version>.noarch.rpm
      
  • Red Hat Enterprise Linux 4 Update 6 以降

    • システムが Red Hat Subscription Manager (RHSM) に登録済みの場合は、up2date コマンドを実行して sos パッケージをインストールすることができます。

      # up2date sos
      

sosreport がハングアップしたときの対処方法

はじめに、/tmp (RHEL 6) または /var/tmp (RHEL7 and later) のいずれかに十分な空き領域があることを確認します。十分にない場合は、前述したように --tmp-dir オプションを使用します。

sosreport が特定のプラグインでハングアップ/停止している場合 (現在実行中のプラグインは実行中に表示)、-n/--skip-plugins オプションを前述したように 使用し、問題のプラグインを無効にして sosreport を実行してみてください。

各プラグインのデフォルトのタイムアウトは 5 分であることに注意してください (すべてのプラグインで使用できる timeout プラグインオプションで制御可能)。このタイムアウトのしきい値に達するまで十分な時間を 確保してください。そうすると、sosreport はそのプラグインの実行を自動的に終了します。終了しない場合は、前出の明記されたオプションを使用してください。

何らかの理由で sosreport をどうしても完了できない場合は、「How to gather data from a Red Hat Enterprise Linux system for troubleshooting if the sosreport process goes to hung state?」 を参照してください。

* sosreport をまったく実行できないが、提供するための最小限のデータを収集したい*

別の最小限のデータ収集スクリプトについては、「Sosreport fails. What data should I provide in its place?」を参照してください。

sosreport が失敗した場合の問題固有のガイダンスについては、「Additional and alternative steps for gathering a sosreport for a Red Hat Enterprise Linux support case」 を参照してください。

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