死活監視というと「監視サーバから監視対象の機器が稼動しているかどうかを確認すること」といった内容で説明されていることが多いでしょう。しかし、このことを正しく理解するには「機器が稼働している状態とは何か」を理解する必要があります。詳しく見てましょう。
死活監視とは
多くの死活監視で行っている具体的な内容は「物理的にLANケーブルが繋がっている監視対象機器のNIC(ネットインターフェースカード)のIPアドレスに対して疎通できるか」であり、一般的には「pingコマンドによる応答があるか」を確認していることになります。
これは、ネットワーク技術でいう専門用語「OSI 7階層参照モデル」における「ネットワーク層」の疎通確認をしているに過ぎません。つまり「DBサーバ上のOracle(例えばsmonプロセス)が起動しているかどうかまでは知りません、IPアドレスへ通信できるかだけを確認してますよ」という振る舞いになります。
死活監視では、まさに監視対象機器が軌道しているかどうかの確認がメインであり、サーバーなどの機器上で動作しているOSを含むアプリケーションなどの状況などは監視対象外なのです。まずは、この点を理解しておく必要があります。
死活監視の必要性
DBサーバのOracleの話は一例ですが、死活監視を含めたシステム監視の検討には、なぜその監視が必要なのか死活監視以外の監視方法の理解とともに必要性も理解していなければなりません。一方、死活監視は、どのシステムでも実施されています。理由は、トラブル解析の初動は死活監視状況を確認するからです。システム開発現場の言葉でいうと「まずは機器が生きているのか死んでいるのか」を確認してから、その次の確認に進むからです。
死活監視はDBサーバのようなサーバだけでなく、ストレージやネットワーク機器なども対象になります。ストレージやネットワーク機器の場合は、サーバとは違った監視方法を採用することもあります。次は具体的な監視方法を解説します。
死活監視方法
死活監視のシステム構成例を示します。
監視サーバがpingコマンドを監視対象機器へ送り、pingの応答が返ってくることで監視対象機器への疎通を確認し、pingの応答が返ってこないと監視対象機器と通信が途絶えたとみなされます。そして、死活監視はpingコマンドの結果確認だけではありません。
図の例のように、監視対象ネットワーク機器に対してはsnmpというプロトコルを利用することで、定期的にネットワーク機器の稼働情報(をポーリング(確認)することができます。snmpでは、ネットワーク機器のトラフィック、リソース状況を確認することが可能です。さらにsnmp trapという仕組みを利用すると、設定されたイベントやトラブルが起きた際に、監視対象機器が自ら障害状況を監視サーバに送信します。
これを理解するにはsnmp、snmp trap、mibに関する詳細理解が必要なのでここでは割愛しますが、下記を参照すると良いでしょう。
基本的な理解として、一般的に実施されている死活監視は下記2点であることを理解しておけばよいでしょう。
- pingコマンドによる監視対象機器との疎通
- snmp、snmp trapよる監視対象機器(主にネットワーク機器など)の稼働状況確認
ITエンジニアの転職ならNext Career(ネクストキャリア)がおすすめです。
コメント