II-7-8. 日常運用におけるトラブルシューティング

日常の運用管理に必要となるログの取り扱いや、ログを用いたトラブルシューティング方法を紹介する。またパッケージ管理システムを利用したアプリケーションの導入など、日常運用で求められがちな作業手順についても説明する。

【学習の要点】

* システム運用におけるトラブルの防止や早期発見を行うためにはシステムログの確認やソフトウェアのアップデート等を行う必要がある。

* 不正アクセス等があった場合、痕跡など重要な情報はシステムログに記録されるため、日常的に確認を行うことで異常値の発見がしやすくなる。

* システムログは膨大になるため、問題を迅速に発見するために、cronなどを用いて解析ツールを定期的に起動するようにしておくべきである。

* トラブル発生に備え、tarコマンドやdumpコマンドを用いて定期的にシステムのバックアップを行う。

* セキュリティ強化のため、セキュリティパッチ等がリリースされた場合はパッケージ管理にてシステムのアップデートを行う。

図II-7-8. 日常的な運用操作

【解説】

1) ログの収集/解析

ネットワークサーバの運用では、提供するサービスが問題なく提供されているか監視を行う必要がある。また、問題が発生した場合原因がどこにあるのかを迅速に確認する必要がある。

Linuxではsyslogによってサーバのログを記録し、定期的にログの確認を行うことにより、サービスの監視および問題が発生した時の原因の究明を行うことができる。

syslogによって記録されるログは膨大な量となるため、以下のようなツールを導入し問題のあるログを容易に発見できるようにする。

* logwatchコマンド

ログファイルには様々な情報が出力されるため、その中から問題のある情報を抜き出す作業は大変である。logwatchは予め問題として判定するログの条件を設定しておき、条件に一致したログを抽出し表示を行う。

問題を迅速に発見するため、cronにて1日に1回は実行する。

* logrotateコマンド

ログファイルを出力したログファイルをそのまま使用していると、サイズが大きくなりすぎて記憶領域を圧迫したり、確認を行う際に範囲が広すぎて時間が掛かるなど問題が発生する可能性がある。logrotateコマンドを実行すると、現在のログファイルのファイル名を変更し、新規に空のログファイルを作成し、ログファイルのローテーションを行う。

ログファイルのローテーションはcronにて定期的に実行する。

2) システムのバックアップ

トラブルの発生によりシステムが破壊された場合、システムを破壊前の状態に復旧する必要がある。システムの設定ファイルや、ユーザが保存したデータなど復旧に必要なデータは定期的にバックアップを行う必要がある。全てのデータのバックアップや、前回のバックアップからの差分をバックアップする方法がある。

バックアップのためのコマンドとしては、tarコマンドやdumpコマンドがある。

3) パッケージ管理

システムやネットワークサービスのプログラムへセキュリティ上の脆弱性が発見された場合など、アップデート用のプログラムやパッチが提供される。サーバのセキュリティを維持するには、パッチの提供を随時確認し、提供後は速やかにアップデートを適用する必要がある。

システムやネットワークサービスのアップデートを行う方法としては、yum(Yellow dog Updater Modified)やapt-getコマンドなどがある。

アップデートを迅速に適用するため、定期的に実行し常に最新の状態にしておくことが望ましいが、プログラムの依存関係によってはアップデート後にプログラムが動作しなくなる場合もあるため、注意が必要となる。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。