Translated message

A translation of this page exists in English.

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、9

Issue

Resolution

目次


sos report とは何ですか? sosreport との違いは何ですか?

RHEL 8 以降の sos report は、RHEL7 以前の sosreport コマンドに相当します。 したがって、sos report は sosreport と同じものになります。sos パッケージ内で使用されるコマンド構文が異なるだけです。

  • RHEL 7 以前のリリースでは、インストールされたパッケージ名は sos でしたが、システムからデータをキャプチャーするコマンドは sosreport でした。
  • RHEL 8 以降では、コマンド名が単なる sos に変更され、report のオプションの引数は、古い sos パッケージの sosreport と同じデータ収集アクティビティーを実行するために必要です。
  • このドキュメントでは、古い構文の sosreport を使用するコマンド例を明確に参照していない限り、新しい構文の sos report を一般的に使用しています。
  • sosreport のコマンド構文はすべてのカーネルバージョンで機能しますが、RHEL 8 以降のカーネルでは非推奨となり、"Redirecting to sos report" という警告が出力されます。

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

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

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

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

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


sos report はどのように生成しますか?

sos パッケージがインストール されたら、次のコマンドを発行して sos report を実行します。 最初のコマンドは、最新のデータ収集手順が実行されるように、最新のパッケージがインストール されていることを確認します。

# yum update sos
# sosreport
注: RHEL 8 以降では、sos report が使用され、sosreport コマンドは非推奨となります。 RHEL 8 または 9 システムで sosreport が発行され、"Redirecting to 'sos report'" が実行されると、この影響に関するメッセージが出力されます。
注: RHEL8 以降では、sos と report の間にスペースを追加して上記のコマンド名を sos report に変更し、"Redirecting to sos report" 関連のメッセージを回避します。
注: sos report コマンドには、データを正しく収集するための root 権限が必要です。 現在、root 権限を持たずに sos report を実行できるメカニズムはありません。

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

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

» sos report を実行すると、"no valid plugins were enabled" というメッセージが表示されます

  • 通常、"no valid plugins" というメッセージが出力され、完全な root 権限なしで sos report コマンドが実行されます。 システムからデータを正しく収集するには、root 権限で sos report コマンドを実行する必要があります。情報を収集するために実行するファイル、コマンド、およびツールの多くには、root アクセス権限が必要です。 たとえば、システムでマルチパスが設定されている場合、sos report は現在の設定のマルチパスサブシステムから情報を収集しますが、これは通常のユーザーとしては実行できません。

    $ multipathd -k"show config"
    need to be root
    
  • root として再度実行してみてください。それでも問題が解決しない場合は調査しますので、サポートケースを開いてください。*

» sos report を実行すると、使用可能なディスク容量がいっぱいになります

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

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

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

利用可能な別のアップロード方法には、以下のようなものがあります。

  • sos report などのファイルを既存のサポートケースに追加するには、redhat-support-tool コマンドラインオプション、Red Hat Portal UI、または FTP を使用したさまざまな方法を利用できます。
  • 収集した sos report ファイルが大きすぎてケースにアップロードできない場合は、Red Hat Secure FTP にアップロードすることができます。
    • ftp オプションを使用する場合は、正確なファイル名でサポートケースを更新してください。これは、サポートエンジニアがファイルを取得できる唯一の方法となります。

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

  • ケース番号の入力プロンプトはオプションであり、指定した場合、ケース番号はアーカイブのファイル名の一部になります。ケース番号を省略しても、sos report コマンドの実行に悪影響はありません。

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


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

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

# 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 を同じ意味で使用できます。

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

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

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

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

# sos report --allow-system-changes

» *システムで sos report を実行すると、CPU 時間またはメモリーを過剰に消費します»* (sos バージョン 3.6 以降でサポートされています)

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

# sosreport --threads=1

sos パッケージのインストール

sos report コマンドを実行するには、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

sos パッケージの更新

sos report コマンドは、サポートエンジニアが必要とするすべての適切なデータ収集を確実に行うために、重要なバグ修正とデータ収集の更新により、常に更新されています。 最新の sos report を使用しない場合、サポート担当者がタイムリーにケースをレビューできなくなることが多く、情報の二次的な要求または sos report の更新およびやり直しが必要になることがよくあります。 最新の sos パッケージのインストールを確認することで、これらの問題や不都合を回避できます。

# yum update sos

» Red Hat Enterprise Linux 4 Update 6 以降の 4.x カーネル

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

# up2date sos

sos report を Red Hat サポートに自動的にアップロードするにはどうすればよいですか?

sos-3.9 以降では、sos は生成されたアーカイブを自動的にアップロードする --upload オプションをサポートしています。アーカイブのローカルコピーは引き続き存在することに注意してください。このオプションでは、sos rpm の弱い依存関係として定義されている python3-requests パッケージを使用する必要があります。弱い依存関係を解決するように設定されていないシステム、または AppStream リポジトリーを有効にしないシステムは、このパッケージを手動でインストールする必要があります。

Red Hat Enterprise Linux システムで実行する場合、--upload オプションを使用すると、ユーザーはカスタマーポータルの認証情報を求められます。

# sos report --upload

sosreport (version 4.2)

[...]

Please enter the case id that you are generating this report for []: 123456
Enter your Red Hat Customer Portal username (empty to use public dropbox): your-username
Please provide the upload password for your-username: 

[...]

Your sosreport has been generated and saved in:
    /var/tmp/sosreport-myhost-123456-2022-08-11-sgczqyo.tar.xz

Attempting upload to Red Hat Customer Portal
Uploaded archive successfully

指定されたケース番号にアクセスできる ケース番号とログイン認証情報を提供することにより、sos は完了時に結果のアーカイブをケースに直接アップロードします。これらのいずれかが提供されていないか、正しくない場合 (たとえば、提供された認証情報のケース番号が正しくない場合)、sos はフォールバックして Red Hat のセキュアな FTP サーバーにアーカイブをアップロードします。

# sos report --upload

sosreport (version 4.2)

[...]

Please enter the case id that you are generating this report for []: 123456
Enter your Red Hat Customer Portal username (empty to use public dropbox): incorrect-user
Please provide the upload password for your-username: 

[...]

Your sosreport has been generated and saved in:
    /var/tmp/sosreport-myhost-123456-2022-08-11-hyrtzji.tar.xz

Attempting upload to Red Hat Customer Portal
Upload to Red Hat Customer Portal failed. Trying sftp://sftp.access.redhat.com
Attempting upload to Red Hat Secure FTP
Unable to retrieve Red Hat auth token using provided credentials. Will try anonymous.
User 'xAnrDdnP'used for anonymous upload. Please inform your support engineer so they may retrieve the data.
Uploaded archive successfully

注記: 匿名ユーザーは、再利用できない一時的なユーザーであり、エンジニアがアーカイブを取得して確認できるように、関連するサポートケースでサポートエンジニアに 提供する必要があります

以下の方法を使用して、--upload 認証情報を提供することができます。

  1. 上記のように --upload を使用し、インタラクティブなプロンプトを使用します。
  2. --upload-user および --upload-pass を使用して、プロンプトなしで認証情報を提供します。これは、--batch を使用して sos report のインタラクティブな実行を回避する際に役立つ場合があります。ただし、これにより、プレーンテキストのパスワードが ps などのさまざまなプロセスの情報収集によってキャプチャーされることに注意してください。
  3. SOSUPLOADUSER および SOSUPLOADPASSWORD の両方、またはいずれか一方の環境変数を使用します。設定されている場合、--upload 関数は認証情報の入力を求めず、これらの値はアーカイブ内のどのコレクションにも 表示されません

ネットワークまたはファイアウォールの設定で、api.access.redhat.com (ケースへの直接アップロードの場合) または sftp.access.redhat.com (SFTP (フォールバック) アップロードの場合) へのアクセスが許可されていない場合、アップロードは失敗します。

古い RHEL リリースで新しい sos バージョンを実行するにはどうすればよいですか?

RHEL システムがバージョンロックされている場合 (EUS など)、最新の sos パッケージを古いリポジトリーで利用できない場合があります。同様に、sos への最近の追加または変更は、さまざまな理由により、常に古い RHEL リリースにバックポートされるとは限りません。ただし、support-tools コンテナーイメージを使用して、RHEL の任意のバージョンで最新の sos パッケージを使用することは引き続き可能です。

このコンテナーイメージは、利用可能な最新の sos パッケージで一貫して維持および更新され、registry.redhat.io コンテナーイメージレジストリーから入手できます。

support-tools コンテナーを介して sos でホストレベルの情報を収集するには、イメージを特定の方法でデプロイする必要があります。sos パッケージを別のコンテナー内にインストールするだけでは、コンテナー内 でコレクションが発生するため、あまり役に立ちません。コンテナーイメージ内からのホストレベルのコレクションを成功させるための要件は、イメージの RUN ラベルに組み込まれています。イメージは、次のようにこのラベルを使用して簡単にデプロイできます。

# podman container runlabel RUN registry.redhat.io/rhel8/support-tools

    --- You will now be attached to a root shell inside the container ---

# sos report 

sos report が完了すると、アーカイブの場所が /host/var/tmp/ に表示されます。上記の podman コマンドを使用してデプロイすると、コンテナーはホストの / ファイルシステムを /host にマウントします。そのため、コンテナーが終了しても、tarball はホストの (通常の) /var/tmp の場所に存在することになります。


sos report がハングした場合の対処方法

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

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

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

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

sos report をまったく実行できませんが、提供するための最小限のデータを収集したいです

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

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

特定の sos report プラグインがバックグラウンドで実行するコマンドは何ですか?

sos report コマンドで、特定のプラグインが実行された場合の動作を理解するには、以下の方法があります。

  • sos report コマンドを提供する sos パッケージのソースを確認します。
    特定のバージョンのソースコードについては カスタマーポータルのダウンロードセクション を参照してください。

  • sos reportで sos.log ファイルを確認します。たとえば、プラグイン scsi の場合、以下のようなものがあります。

    -- directories and files collected --
    
    2020-07-30 11:04:53,632 INFO: [plugin:scsi] collecting path '/sys/bus/scsi'
    2020-07-30 11:04:53,656 INFO: [plugin:scsi] collecting path '/sys/class/scsi_disk'
    2020-07-30 11:04:53,663 INFO: [plugin:scsi] collecting path '/proc/scsi'
    2020-07-30 11:04:53,666 INFO: [plugin:scsi] collecting path '/sys/class/scsi_generic'
    2020-07-30 11:04:53,675 INFO: [plugin:scsi] collecting path '/sys/class/scsi_host'
    2020-07-30 11:04:53,677 INFO: [plugin:scsi] collecting path '/sys/class/scsi_device'
    
    -- these were the commands executed in the background --
    
    2020-07-30 11:04:53,686 INFO: [plugin:scsi] collecting output of 'lsscsi -i'
    2020-07-30 11:04:53,710 INFO: [plugin:scsi] collecting output of 'sg_map -x'
    2020-07-30 11:04:53,765 INFO: [plugin:scsi] collecting output of 'udevadm info -a /sys/class/scsi_host/host3'
    2020-07-30 11:04:53,789 INFO: [plugin:scsi] collecting output of 'udevadm info -a /sys/class/scsi_host/host1'
    
  • その特定のプラグインのみを使用して sos report を生成し、収集したアーカイブ内のファイルとディレクトリー、およびコマンドの出力を確認します。
    特定のプラグインで sos report を生成するには、以下を実行します。

    # sosreport -o plugin-name
    
  • プラグインのリストを表示するには、以下を実行します。

    # sosreport -l
    

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