誰でも ZABBIX

Zabbixの使い方、役に立つ情報、等々

2. 監視アイテムの追加 - シンプルチェック(tcp、udp)

シンプルチェックは、監視対象に対して、特定のプロトコルでの通信が可能か、どの程度のレスポンスがあるか、というチェックが可能です。

シンプルrチェックは、Pingだけでなく、TCPUDPでのチェックが可能で、通信ができるかどうかだけではなく、応答時間も監視データとして収集できます。

監視対象に特別な設定をしたり、エージェントのインストールをする必要がないのも、シンプルチェックのメリットです。

シンプルチェックアイテムの登録

シンプルチェック アイテムの登録例です。 f:id:Unam:20180118215939p:plain

設定のポイントは以下の通りです。
|項目|内容| |-|-| |タイプ|シンプルチェック| |キー|httpのアクセス状態のチェック。IPアドレスを指定しない場合は、ホストインターフェースのIPアドレスにアクセスします。| |値のマッピング|Service State|

シンプルチェックのステータスチェックの結果は、接続できない場合は0、できる場合は1になります。値のマッピング は、監視データの数値データを、わかりやすい言葉に置き換えて表示してくれる機能です(保存するデータは数値のままです)。値のマッピングの内容は、選択リストの横にあるリンクをクリックして確認できます。

f:id:Unam:20180118220835p:plain

シンプルチェックで使用するService State は以下のように定義されています。

f:id:Unam:20180118221116p:plain

実際の監視データはこのように表示されます。

f:id:Unam:20180118233700p:plain

単に、0/1で表示されるよりも、内容が一目で把握できます。

シンプルチェックの仕様

シンプルチェックのキーの仕様は、以下のページで確認できます。

5 Simple checks [Zabbix Documentation 3.4]

対応可能なプロトコルとチェック内容は、以下のページで詳細が確認できます。

10 Implementation details of net.tcp.service and net.udp.service checks [Zabbix Documentation 3.4]

tcpの場合は、コネクション確立のやり取りで通信状態がチェックができるため、原則的にどのようなプロトコルでもチェックが可能だと思います。上記のページに記載されているサービス(プロトコル)は、ある程度アプリケーションレベルのチェックまで行っているものが結構あります。

udpは、「データ(リクエスト)を送りつけて、結果を受け取る」というシンプルな通信なので、プロトコル毎の具体的な通信内容を知らないとチェックできません(適当なパケットを投げて、エラーが返ればポートは開いているかどうか判断できるとは思いますが、そのような手段で監視するのはちょっとマナー的どうかと思います)。udpのチェックが可能なのは、現時点(Ver3.4)ではプロトコルはntpだけです。

シンプルチェックの設定例と監視データ

以下、いくつかのパターンを設定した際の事例と、監視結果です。

http

レスポンスタイムも取得できます。サーバにアクセスが集中して応答が悪くなっているかどうか確認可能です。 f:id:Unam:20180118222830p:plain

https

ホスト名やIPアドレスを指定し、ホストインターフェース以外のホストのチェックも可能です。
f:id:Unam:20180118222904p:plain

ssh

sshは、コネクションの確立後、バージョンチェックまで行うようです。
f:id:Unam:20180118223056p:plain

telnet

通常、telnetのサービスはセキュリティ上閉じていることが多いと思います。ステータスのチェックで、通信できる状態になったときに警告発信するという使い方もあります。 f:id:Unam:20180118223139p:plain

Zabbix-agent

tcpはポート番号を指定すればどのようなプロトコルでもチェック可能です。この例では、ZabbixAgentと10050ポートをチェックしています。

f:id:Unam:20180118225311p:plain

ちなみに、ZabbixAgentが入っているならシンプルチェックは不要では、と思うかもしれません。しかし、実際の設定時は、ZabbixAgentを動かした後も、ZabbixAgentからのデータが取得できない、というケース結構あります。その際、ZabbixAgentの設定に問題があるのか、Networkレベルで拒絶されているのか、という判断をする上で、シンプルチェックの結果で、問題の切り分けをすることができます。

Zabbix Agentはひとつのたとえですが、シンプルチェックのような監視データを障害解析の手段の一つとして、活用方法を検討してみてください。

ntp

udpで対応しているのは、ntpプロトコルのみです。 f:id:Unam:20180118224906p:plain

注意点

シンプルチェックとはいえ、接続される側にはログに記録されますし、間隔が短いとそれなりの負荷にもなるかもしれません。外部のサイトにチェックする場合には、監視(アクセス)の必要性と更新間隔を考慮のうえ使用してください。

例: sshのログ(/var/log/auth.log)

f:id:Unam:20180118225141p:plain

問題が発生した際、アクセスログの記録が監視データばかり、というのも結構邪魔になったりします。