sosreportでLinuxサーバーの障害情報を採取する方法|RHEL系サポート調査に使う情報収集の型

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxトラブルシューティング > sosreportでLinuxサーバーの障害情報を採取する方法|RHEL系サポート調査に使う情報収集の型
「ベンダーサポートに問い合わせようとしたら、"sosreportを送ってください"と言われた。どうやって採取すればいい?」
障害発生時にこの問いが頭をよぎるエンジニアは多い。サービスが止まっている状況で、何をどう集めて渡すかを焦りながら考えるのは消耗する。

RHEL系Linuxを扱う現場では、障害情報の採取にsosreportが標準的に使われている。このコマンド1本で、OS設定・ログ・ハードウェア情報・カーネルパラメータをまとめてパッケージングできる。Red Hatのサポートエンジニアが問い合わせの第一声で「sosreportを送ってください」と言う理由がそこにある。

この記事では、sosreportの基本的な使い方から、プラグイン指定による採取範囲の絞り込み、Red Hatサポートへの提出手順まで、障害対応の「型」として体系的に解説します。RHEL 8/9・Rocky Linux 8/9での動作を確認済みです。

この記事のポイント

・sosreport(sos report)はRHEL系で障害情報を一括採取する標準ツール
・採取ファイルは /var/tmp/ 配下に .tar.xz で保存され、そのままサポートへ送付できる
・プラグイン指定で採取範囲を絞れば、短時間・軽量での採取が可能
・Red Hat社員番号(caseNumber)を指定すると、ファイル名にケース番号が入り管理しやすくなる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

sosreportとは何か——障害時に「全部入り」で渡すための情報採取コマンド

sosreportは、Linuxシステムの設定・ログ・状態情報を一括して採取し、圧縮アーカイブとして出力するコマンドだ。元々はRed Hat社が開発・メンテナンスしているツールで、サポートチームへの情報提供を主な目的としている。

なぜ「全部入り」が重要かというと、障害原因は事前に絞り込めないからだ。カーネルログ・サービス設定・ネットワーク状態・メモリ情報のうち、どれが根本原因に関係しているかは調べてみるまでわからない。個別に「このファイルを送ってください」「次はこれを」とやり取りするよりも、最初から一括採取したほうがずっと効率的だ。

コマンド名の変遷:sosreport → sos report

古い資料には sosreport(1単語)と書かれているが、sos 4.0(RHEL 8.5以降相当)から推奨コマンドは sos report(スペースあり)に変わっている。どちらでも動作するが、新しいスクリプトや手順書を書く際は sos report を使うほうがよい。

sosreportが採取する情報の種類と構造

sosreportが収集する情報は「プラグイン」という単位で管理されており、デフォルトでは数十種類のプラグインが自動実行される。主なカテゴリは以下のとおりだ。

OS・カーネル情報:uname -a の出力、/proc/version、カーネルパラメータ(/proc/sys 配下)
ログファイル:/var/log/messages、/var/log/secure、journalctl のエクスポート
ネットワーク設定:ip addr、ip route、/etc/hosts、/etc/resolv.conf、firewalld/iptables ルール
ストレージ情報:df、lsblk、fdisk -l、mount の出力
パッケージ情報:rpm -qa の一覧(インストール済み全パッケージ)
サービス状態:systemctl list-units の出力、各サービスの設定ファイル
ハードウェア情報:dmidecode の出力(BIOS・CPU・メモリ)、/proc/cpuinfo、/proc/meminfo

これらが1つの .tar.xz ファイルにまとめられる。展開するとディレクトリ構造で整理されており、どのプラグインが何を採取したかが一目でわかる。

なお、ハードウェア情報の個別採取については dmidecodeでハードウェア情報を取得 も参照してほしい。sosreportとdmidecodeを使い分けることで、手動調査と一括採取の両方に対応できる。

sosreportのインストールと基本的な実行方法

1. sos パッケージのインストール確認

RHEL 7以降の標準環境では sos パッケージがプリインストールされていることが多い。まずインストール状況を確認しよう。

# インストール確認 rpm -q sos # 出力例(インストール済みの場合) sos-4.5.6-1.el9.noarch # インストールされていない場合 dnf install sos # RHEL 8/9・Rocky Linux 8/9 yum install sos # RHEL 7・CentOS 7

パッケージ管理の詳細については rpmコマンドの使い方 で確認できる。

2. sosreportの基本実行

rootユーザーまたは sudo で実行する。対話モードで実行すると、採取開始前に確認画面が表示される。

# 基本実行(RHEL 7・旧バージョン互換の書き方) sosreport # 新しい推奨コマンド(RHEL 8.5以降) sos report # sudo で実行する場合 sudo sos report

実行すると以下のような確認プロンプトが出る。

sosreport (version 4.5.6) This command will collect diagnostic and configuration information from this Red Hat Enterprise Linux system and installed applications. An archive containing the collected information will be generated in /var/tmp/sos.XXXXXXXX/ and may be provided to a Red Hat support representative. Any information provided to Red Hat will be treated in accordance with the published support policies at: Distribution of this information is unrestricted. Press ENTER to continue, or CTRL-C to quit. Please enter the case id that you are generating this report for []:

Case IDはRed Hatサポートケースの番号(例:03456789)を入力する。Red Hatサポートを使わない場合はそのままEnterでよい。

3. 採取完了後の出力確認

採取が完了すると、ファイルパスとMD5チェックサムが表示される。

# 実行完了時の出力例 Your sosreport has been generated and saved in: /var/tmp/sosreport-prod-web01-2026-07-21-abcdefg.tar.xz Size 39.36MiB Owner root sha256 a1b2c3d4e5f6...(省略) Please send this file to your support representative.

採取にかかる時間はサーバーの状態によって異なるが、標準的な構成で2分~5分程度だ。

採取レポートの確認・圧縮ファイルの中身を見る手順

1. ファイルの場所と確認

採取ファイルは /var/tmp/ 配下に保存される。複数回実行した場合はファイルが複数できるため、ls -lt でタイムスタンプ順に確認するとよい。

# 採取ファイルの一覧確認 ls -lt /var/tmp/sosreport-*.tar.xz # 出力例 -rw------- 1 root root 41291776 Jul 21 14:23 /var/tmp/sosreport-prod-web01-2026-07-21-abcdefg.tar.xz

2. 展開せずに中身を確認する

ファイルサイズが大きいため、サポートへの提出前に中身を一部確認したい場合は、tar の t(一覧表示)オプションを使う。

# アーカイブ内のファイル一覧を表示(展開しない) tar -tJf /var/tmp/sosreport-prod-web01-2026-07-21-abcdefg.tar.xz | head -30 # 出力例(一部) sosreport-prod-web01-2026-07-21-abcdefg/ sosreport-prod-web01-2026-07-21-abcdefg/version.txt sosreport-prod-web01-2026-07-21-abcdefg/uname sosreport-prod-web01-2026-07-21-abcdefg/sos_logs/ sosreport-prod-web01-2026-07-21-abcdefg/var/log/messages sosreport-prod-web01-2026-07-21-abcdefg/etc/os-release

3. 特定ファイルだけを取り出して確認する

アーカイブ全体を展開するのではなく、特定のファイルだけを取り出して内容を確認することもできる。

# 特定ファイルをパイプで直接表示(展開不要) tar -xJOf /var/tmp/sosreport-prod-web01-2026-07-21-abcdefg.tar.xz sosreport-prod-web01-2026-07-21-abcdefg/uname # 出力例 Linux prod-web01 5.14.0-362.8.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC ...

プラグインを指定して採取範囲を絞る方法

サービスが動いている本番環境での採取では、実行時間を短くしたい・特定情報だけ欲しいというケースがある。そのためにプラグイン指定が使える。

1. 利用可能なプラグイン一覧の確認

# プラグイン一覧を表示 sos report --list-plugins # 出力例(一部) Currently loaded plugins: block Gather information about block storage devices cgroups Gather information about cgroups docker Gather information about Docker firewalld Gather information about firewalld hardware Gather information about hardware devices kernel Gather information about kernel memory Gather information about memory network Gather information about network configuration systemd Gather information about systemd yum Gather information about yum (dnf) package manager

2. 特定プラグインのみ実行する

-o オプションでプラグインを指定する。複数プラグインをカンマ区切りで指定できる。

# ネットワーク情報と firewalld の情報だけ採取 sos report -o network,firewalld # カーネル・メモリ・ハードウェアの情報だけ採取 sos report -o kernel,memory,hardware # ファイル名の識別子を手動指定(case番号なしで採取する際に便利) sos report --label "network-issue-20260721"

3. プラグインを除外して採取時間を短縮する

-n オプションで特定プラグインを除外できる。時間のかかる docker プラグイン等を外すと採取時間が大幅に短縮される。

# docker・podman プラグインを除外して実行 sos report -n docker,podman # 確認なしで即時実行(--batch オプション) sos report --batch

サポートケースへのレポート提出とRed Hatサポートとの連携

Red Hatサポートへのsosreport提出には、主に2つの方法がある。

方法1:Webコンソールからアップロード

Red Hat Customer Portal(access.redhat.com)のサポートケース画面から、.tar.xz ファイルを直接アップロードする最も一般的な方法だ。ファイルサイズが大きい場合は分割が必要なこともある。

方法2:sos upload コマンドでCLIからアップロード

Red Hat Customer Portalの認証情報があれば、コマンドラインから直接アップロードできる。

# 採取と同時にアップロードする場合 sos report --upload --case-id 03456789 # すでに採取済みのファイルをアップロードする場合 sos upload /var/tmp/sosreport-prod-web01-2026-07-21-abcdefg.tar.xz --case-id 03456789

sos upload を使うと、Red Hatのアップロードサーバー(dropbox.redhat.com)に直接転送される。プロキシ環境での動作には追加の設定が必要な場合がある。

サポートケースへの提出時の注意点

・ファイルには /etc/shadow のようなパスワードハッシュは含まれないが、設定ファイルやログには機密情報が含まれる場合がある
・ --clean オプションを使うと、IPアドレス・ホスト名・MACアドレスを難読化(obfuscate)してから採取できる
・採取後は不要になったファイルを rm で削除する(/var/tmp 配下に残し続けない)

sosreportを活用したトラブルシューティングの実例

実務でsosreportがどのように役立つか、具体的なシナリオで説明する。

1. ネットワーク疎通が急に切れた場合

「昨日まで通っていたSSHが突然繋がらなくなった」という報告を受けた場合、まず以下のプラグインに絞って採取する。

# ネットワーク関連を絞り込んで採取 sos report -o network,firewalld,networkmanager --batch # 展開してネットワーク設定の変更履歴を確認 tar -xJOf /var/tmp/sosreport-*.tar.xz "$(tar -tJf /var/tmp/sosreport-*.tar.xz | grep 'etc/NetworkManager' | head -1)"

採取したアーカイブには ip addrip route・ファイアウォールルールの現在状態がすべて含まれているため、現象発生時の設定スナップショットとして保存できる。ポート確認の基本については Linux ポート確認の全コマンド も参照してほしい。

2. カーネルパニックが発生した場合

再起動後にカーネルパニックの原因を追いたい場合は、kdump と組み合わせてsosreportを採取する。

# カーネル・kdump 関連プラグインで採取 sos report -o kernel,kdump,memory --batch # sos 採取後、/var/crash/ 配下のコアダンプも確認する ls -lh /var/crash/

3. 定期的なスナップショットとして活用する

障害が起きてから採取するだけでなく、本番環境の「通常状態」をあらかじめ採取しておくと、障害時との差分を比較できる。cron で週次・月次で採取するチームもある。

# cron に登録する例(毎週日曜2時に採取) # /etc/cron.d/sos-snapshot 0 2 * * 0 root /usr/bin/sos report --batch --label "weekly-snapshot" && find /var/tmp -name "sosreport-*weekly-snapshot*.tar.xz" -mtime +30 -delete

ただし、採取ファイルは30MB~100MB程度になるため、古いファイルの定期削除もセットで設定する。

まとめ——障害対応の「型」としてのsosreport

sosreportは「何が起きているかわからない状態で、とにかく情報を全部渡す」ための道具だ。ベンダーサポートとの連携において、一番時間を無駄にするのは「あの情報も送ってください、次にこれも」と繰り返すやり取りだ。sosreportで一括採取しておけば、その往復を大幅に減らせる。

やりたいこと コマンド
全情報を一括採取する(基本) sos report
確認なしで即時採取する sos report --batch
ネットワーク情報のみ採取する sos report -o network,firewalld
特定プラグインを除外して採取する sos report -n docker,podman
ケース番号を指定して採取する sos report --case-id 03456789
採取ファイルを直接アップロードする sos upload /var/tmp/sosreport-*.tar.xz --case-id 03456789
利用可能なプラグインを確認する sos report --list-plugins
IPアドレス等を難読化して採取する sos report --clean
サポートを受けた後は採取ファイルを /var/tmp/ から削除することを忘れずに。設定情報やログが詰まったファイルを長期間放置すると、セキュリティリスクになる。

sosreportをはじめとするLinuxのトラブルシューティング技術をさらに深めたい方には、障害対応の実務ノウハウを体系的に学べる環境として、Linuxマスター上級コース の受講も選択肢のひとつだ。

sosreportで一歩進んだら、次はLinuxサーバー構築の「型」を体系的に固めませんか?

sosreportによる障害情報採取はトラブルシューティングの起点にすぎません。ネットワーク設定・セキュリティ・サービス管理と合わせて体系的に身につけることで、ベンダーサポートに頼らず自力で解決できるエンジニアになれます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。