CentOS 7でログファイルや設定ファイルなどのシステム情報を一括収集する(sosreport)

CentOS 7でログファイルや設定ファイルなどのシステム情報を一括収集する(sosreport)

Linuxサーバーを構築したときや、Linuxサーバーでトラブルが発生した際に、その時点の設定の詳細・システム情報・診断情報を収集したいときってありますよね。でも、設定ファイルやログを一つ一つ手動で収集するのは面倒です。

CentOS 7では、このようなログや設定ファイルを一括で収集してくれるコマンドがります。それが「sosreport」です。

「sosreport」を実行すると、ログファイルや設定ファイルなどシステムの状態を把握するための情報を一括して取得することができます。

取得した情報は、構築エビデンスとして保存したり、トラブル時の解析などで活用できます。(Red Hat Enterprise Linuxなどでは、サポートへ問い合わせたときに「sosreport」の実行を依頼されることもあるようです。)

そこでここでは、CentOS 7にsosreportをインストールして実行する方法や、収集した情報の確認方法を紹介します。

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.4.1708

sosreportの使い方

sosreportをインストールする

sosreportのインストールは、sosreportコマンドが含まれるsosパッケージをインストールします。

# yum -y install sos

設定ファイルとログを収集する

インストールしたら以下のコマンドを実行し、設定ファイルとログファイルを収集してみます。

「Press ENTER to continue, or CTRL-C to quit.」と表示されるので、そのまま[Enter]キーを押します。

# sosreport

sosreport (version 3.4)

This command will collect diagnostic and configuration information from
this CentOS Linux system and installed applications.

An archive containing the collected information will be generated in
/var/tmp/sos.V7gDgX and may be provided to a CentOS support
representative.

Any information provided to CentOS will be treated in accordance with
the published support policies at:

  https://wiki.centos.org/

The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.

No changes will be made to system configuration.

Press ENTER to continue, or CTRL-C to quit.

「Please enter your first initial and last name [mysv.local]: 」と表示され、名前を入力できますが、そのまま[Enter]キーを押します。

「Please enter the case id that you are generating this report for []: 」と表示され、ケースナンバーを入力できますが、そのまま[Enter]キーを押します。

処理が始まりしばらくすると、次のように収集された設定ファイルとログファイルがアーカイブされた旨のメッセージが表示されます。

Your sosreport has been generated and saved in:
  /var/tmp/sosreport-mysv.local-20180326020344.tar.xz

The checksum is: 1594d12345c3b071e123456e95d69dfb

Please send this file to your support representative.

以上で収集完了です。

収集ファイルを確認する

上で「/var/tmp」に生成された「sosreport-mysv.local-20180326020344.tar.xz」をtarコマンドで展開します。

# cd /var/tmp
# tar xJvf sosreport-mysv.local-20180326020344.tar.xz

展開したアーカイブファイルの中には、収集されたログファイルや設定ファイル、コマンドの実行結果がディレクトリに整理され保存されています。

# ls -F
boot/ date@ dmidecode@ free@ installed-rpms@ java@ lib/ lsof@ proc/ root/ sos_logs/ sos_strings/ uname@ usr/ version.txt
chkconfig@ df@ etc/ hostname@ ip_addr@ last@ lsmod@ mount@ ps@ sos_commands/ sos_reports/ sys/ uptime@ var/ vgdisplay@

収集ファイルをブラウザで確認する

sosreportコマンドで収集されたログファイル・設定ファイル・コマンド実行結果の一覧は、展開した「sos_reports」ディレクトリに「sos.html」として保存されています。

上で生成されたxzファイルをWindowsマシンで展開し、ブラウザで確認することもできます。

CentOS 7でログファイルや設定ファイルなどのシステム情報を一括収集する(sosreport)

あとがき

普段Windowsをメインに使っている身としては、ブラウザで直感的に操作して確認できるのはありがたいです。

参考

What is a sosreport and how to create one in Red Hat Enterprise Linux 4.6 and later?