クラウド時代の監視技術

著:宮﨑悟氏

Zabbixによる監視(2)第03回 19年03月更新

前回はZabbixの紹介を行いました。Zabbixでは対象を外部からと内部から監視することが可能です。今回は、外部監視についてお話したいと思います。

外部監視

外部監視は、監視対象をブラックボックスとして監視します。一般的には以下のような項目を監視します。

1.サービス監視
   HTTP、SMTP、SSHなどの必要なサービスが起動しているかどうかを監視

2.TCP/UDP監視
   指定したIPアドレスのTCP/UDPサービスポートが開いているかを監視

3.ICMP(ping監視)
   指定したIPアドレスへのネットワークが機能しているかどうか、ICMP(Internet Control Message Protocol )を使用して監視

4.SNMP監視
   SNMP(Simple Network Management Protocol)を使用して、ネットワーク機器、電源機器、サーバ機器を監視

SNMPは正確には外部監視ではなく、内部のSNMPデーモンと通信することで行う監視ですが、ネットワーク機器(L2SW/L3SW/Load Balancer)などを監視するために使われる事が多く、外部監視扱いになることが多いです。Zabbixでは、Zabbix Agentを使用した監視ではないことから、SNMPを外部監視として扱います。

外部監視は、エンドユーザに近い部分の監視が一番重要で、サービスの外部ネットワークから行う必要があります。できればネットワークプロバイダやクラウドサービスプロバイダも分ける事も検討しましょう。

HTTPサービスの監視であれば、想定されたプロトコルで接続できること、TLS情報が正しいこと、取得内容が想定どおりであることなどを監視対象として考えましょう。HTTPサービスにログインが必要であるならば、ログイン確認も検討しましょう。なにが正常で、何が正常でないかを判断するのはサービス提供者しかできません。

Zabbixでは、監視サーバを外部ネットワークにおくことで、HTTP/SMTP/SSHなどのサービス監視や、TCPサービスポート、ICMP、SNMPなどネットワーク経由の監視を実施することができます。また、ユーザシナリオに沿ったログインや取得内容の確認を行うことが可能です。

また、エンドユーザに近い部分からの監視だけではなく、サービス内部のネットワークやサーバ間のサービス接続(DB接続など)の監視も必要です。特に停止した場合の影響範囲が大きいDBであれば、サービス監視用のテーブルを用意したり、特定テーブルに対する読込・書込可能であるかどうかの監視も考えたほうが良いでしょう。

Zabbixでは、事前にスクリプトを用意することで柔軟な監視を行うことが可能です。

外部監視に対するアクション

一番エンドユーザに影響が出るのはサービス停止であることから、サービス監視は特に重要になります。エンドユーザに提供するサービスが停止することは事前に防がなければなりません。そのため、クラスタ構成にするなどの多重構成にしたり、自動的にサービス再起動するなどの処置を行いますが、最終的なサービス停止したかどうかの判断は外部監視で検知します。

サービスを多重化している場合は、サービスが縮退状態になったことを検知したら警告を出すことが多いです。クラウドによりサービス多重化している場合は、自動的なサービス再起動、サーバ再起動、サーバ追加などを行うというアクションを起こすことが容易に可能です。自動的にサービス復帰した場合は人間に警告を通知することは不要で、サービス復帰しない場合にのみ警告を出すべきです。

Zabbixでは、監視によって障害を検知した場合に、警告を出す、スクリプトを実行などのアクションを指定できます。サービスが停止した場合はサービス再起動、サーバが停止した場合にはサーバの再起動やサーバ追加などのアクションをスクリプトにより定義することが可能です。サービス縮退状態が続くような場合にのみ、警告を出すことも可能です。

ネットワーク機器などの障害の場合、仮想ネットワークや多重化してホットスワップ可能な状態であれば警告メールでの通知などでよいですが、コールドスワップになっているなどケーブルのつなぎ直しが必要な状態であれば、担当者へのSMSや音声での通知を考える必要があります。現在ではSlackなどSNS経由の通知や携帯電話への音声通知のアプリケーションもありますので、そのようなソリューションとの連携も考えたほうが良いでしょう。

障害時のアクションを決定することは、監視設計・運用設計の重要となる部分です。どの程度の障害を許容し、どのような障害時に、どのアクションを行うかを事前に決定しておきましょう。

 

 

さて、次回は内部監視について述べていこうと思います。お楽しみにお待ち下さい。