メールマガジン

トラブルシューティングについて

システム管理のつぼ(2015年5月号)

フロンティア開発部 米山 陽介

安定して稼動しているシステムでも、急にトラブルが発生することは少なくありません。急なトラブルシューティングを行った経験がある方もいるのではないでしょうか?トラブルと一言で言っても、ソフトウェア的な問題であったり、ハードウェア的な問題であったり様々です。

ただ闇雲に調査をしても正確な原因をつかむまでに時間がかかったり、正確な調査が出来なくなります。そのような状態にならないためにも、ポイントを決めてトラブルシューティングする必要があります。

では、どのようにトラブルシューティングをしていくといいのでしょうか?

重要なのは調査のプロセスです。基本的に以下の流れで進めていくことが望ましいと思います。

1, 問題を把握
2, 事実の確認
3, 仮説を立てる
4, 検証を行う(異なれば、再度仮説を立てる)
5, 対策の計画
6, 対応を行う

それでは、各項目に関して細かく見ていきましょう。

1, 問題を把握
起きている問題をヒアリングし、現状どうなっているか、どうなればいいか理解します。サーバでどのようなサービスが動いているかを確認し、例えばメールの障害でしたら、postfixやdovecotかなと、当たりをつけます。

2, 事実の確認
システムの部分であれば「messages」、メールであれば「mail.log」と言ったように、対象のログを確認し、該当の時間にエラー等が出力されていないかを確認します。エラーが確認できた場合は、そのエラーに関して調べていきます。もし何も見つからないのであれば、違うログに対し該当の時間のログを調べていきます。このように、実際にサーバやクライアントの状況や動作から事実の確認をします。

3, 仮説を立てる
2の調査の結果から、根本的な原因は何か仮説を立て、それに関連した情報を収集します。ログが見つからず、問題が分からない場合に関しては、詳細なログが取れるように設定を変える事を検討したり、情報が取れるような仕組みを導入する事を検討します。

4, 検証を行う
仮説を元に、仮説が正しいかを検証環境にて検証します。もし、検証が上手くいかなかった場合、仮説が間違っていることになるため、再度3に戻り、仮説を立て直します。

5, 対策の計画
検証を行い、仮説が正しいことが分かれば、次はどのように対策するかを考えます。設定変更等の、メリット/デメリット、リスクから対策の方針を決定します。

6, 対応を行う
対策の計画を元に、実際に対応を行います。

デージーネットでは、一番大事な部分は最初のヒアリングとしています。状況が正確に分からないと、正確な調査ができず、適切な対策が取れないからです。

デージーネットマガジン2015年5月号記事一覧

トラブルシューティングについての先頭へ