~問題を正確に把握できていますか?~
システム管理のつぼ(2016年3月号)
フロンティア開発部 米山 陽介
サーバの構築はもちろん簡単なものではありませんが、それ以上に大変なのは、サーバを正常に動かし続けることです。問題が発生した場合、問題の根本の原因を把握し、正確に対応する事が重要です。そのためには、素早く状況を把握できるようにサーバの状態を記録する事が第一歩です。
サーバの状況を把握するためには、主に以下があります。
[ログ出力]
外部からの攻撃や、設定ミスなどによるエラーをログを使って把握します。
[ネットワーク状態]
各サーバの疎通状態を確認し、サーバが正常に動作しているかを把握します。
[サービス状態]
サービスが起動しているか、正常に動作している等、サービスを確認します。
[パフォーマンス/リソース状態]
CPUやメモリ、I/O等の負荷状況を確認します。
デージーネットでは、サーバの状況を正確に把握するために、アプリケーションのログはもちろんのこと、sysstatやnetstat、ps等で定期的に情報を取得します。それぞれから取得したログを確認し、トリガーとなるものを見つけ、どのような状況で問題が起こるのかを判断します。
例えば、psの結果とapacheのログがバラバラにあった場合、それだけでは解決できないかもしれません。しかし、apacheのログでPIDを出力するように設定を変更することで、psの結果から、各プロセスの状態を把握することができます。
このように、いろいろな情報を紐付け、より正確に問題を把握することで、適切な処置が施せるのです。