CentOS7:ログファイルや設定ファイルなどのシステム情報を一括収集(sosreport)

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

CentOS7では、このようなログや設定ファイルを一括で収集してくれるコマンドがります。それが「sosreport」です。「sosreport」を実行すると、ログファイルや設定ファイルなどシステムの状態を把握するための情報を一括して取得することができます。

取得した情報は、構築エビデンスとして保存しておいたり、トラブル時の解析などで活用できます。(Red Hat Enterprise Linuxなどでは、サポートへ問い合わせたときに「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マシンで展開し、ブラウザで確認することもできます。

まとめ

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

参考

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