インフラエンジニアの上流工程その5~監視設計
インフラエンジニアのタスクの一つにシステム監視があります。
システム監視はシステムが正常に稼働しているかを自動的に検知して、何か問題があればEMAILもしくは電話通知するという仕組みです。
このシステム監視は意外と奥が深く、何も考えずに監視できるところをすべて監視しようとすると簡単に100項目とか200項目を監視することになります。
また、この監視項目の設定を誤ると、夜中に電話が鳴りやまないという事態に陥ります。
今回は監視設計の勘所について見ていきたいと思います。
ユーザー影響の有無
基本的にはユーザー影響があるかないかで、問題の深刻度を決めた方がよいです。
入社して間もないころはCPUの使用率が90%を超えたら、異常が発生しているとして、電話連絡を設定していたのですが、瞬間的に90%を超えることはよくあることです。
しかも、瞬間的に超えただけだと、ユーザ影響出ていることはほとんどなく、無駄にびっくりして終わりです。
同じような監視項目の一つとして、Pingによる死活監視があります。
サーバーがシステム停止やネットワーク的にアクセスできない場合に発生するアラートなのですが、重要なシステムであれば1台停止しても、もう1台のサーバーでサービス提供していることがほとんどかと思います。
Ping監視のアラート対応はできれば早いに越したことはないですが、電話連絡もらうほどかというと、そうではありません。
では、ユーザー影響が出ているかどうかをどのように判断すればよいか。
よく使うのはURL監視です。
URL監視はその名の通り、特定のURLにアクセスして正常な応答が得られるか、また、設定した時間内に応答が返ってくるかを監視します。
URL監視でエラーを検知した場合はユーザーがサービスを利用できない状態が発生していますので、電話連絡するなど緊急度MAXの対応でよいかと思います。
逆にそれ以外のアラートについては夜間、休日であればメールだけ送っておいて翌営業日に対応でよいと考えられます。
イベントログの未知のエラー
Windows Serverであれば、イベントログの監視を設定することが多いかと思います。
イベントログはそれぞれのアラートに対して、Error、Warning、Informationとあるので、ErrorやWarningが発生した場合はアラート通知を設定します。
SIer時代に受け持っていた案件ではイベントログでErrorが出た場合は、無視してよいと判断したイベントログ以外はすべて携帯にメール通知としていたので、夜中でもガンガンメールが通知されていました。
こんな状態では本当に対応が必要なアラートなのか判断できませんよね。
未知のエラーをすべて検知しようとして、夜寝れない時期があったのはかなり公開しています。
イベントログの未知のエラーについても、基本的にはユーザー影響があるかどうかを判断すればよいのですが、イベントログからユーザー影響が出ているかを判断するのは難しいです。
このエラーが出たら、ユーザー影響が出ていると確定できるもの以外はほとんどが無視してよいものです。
もしくは何かの予兆を知らせるイベントログであることが多いです。
ですので、イベントログも基本的には翌日対応に設定しておくのがよいかと思います。
最後に
いかがでしたでしょうか。
監視設計は何でもかんでもエラーを通知してしまうと、夜寝れなくなったり、通知がオオカミ少年になってしまいます。
基本路線はユーザー影響があるか、ないかで監視設計を行い、
ぐっすり眠れるシステム運用ライフを目指しましょう。