zabbix

Zabbix入門のメモ(監視タイプ)

More than 3 years have passed since last update.

アイテムの監視タイプの特徴と、どんな用途に使えそうなのかをまとめます。

参考文献:
http://www.sraoss.co.jp/technology/zabbix/introduction/02-2ndstep.php

Zabbixエージェント

  • Zabbixエージェントによる監視なので、クライアント側にZabbixエージェントのインストールが必要
  • LinuxもWindowsもOK
  • サーバからエージェントに対してデータを要求
  • CPU使用率、メモリ使用率、ディスク使用率、ファイル監視、Web監視などの監視に利用できる

キーのリファレンス

Zabbixエージェント(アクティブ)

  • Zabbixエージェントによる監視なので、クライアント側にZabbixエージェントのインストールが必要
  • LinuxもWindowsもOK
  • エージェントからサーバに対して定期的にデータを送信
  • ログ監視に利用できる

シンプルチェック

  • エージェントを使用しない監視
  • ping、TCP疎通、TCP応答時間の監視に利用できる

キーのリファレンス

SNMPエージェント

  • Zabbixサーバ→SNMPエージェントに問い合わせる
  • SNMPエージェントによる監視
  • CPU使用率、メモリ使用率、ディスク使用率、ディスクI/O、ネットワークI/Oの監視に利用できる

参考:SNMPv1、v2、v3の違い

SNMPv1エージェント

  • 平文のパスワードで認証
  • SNMPトラップでの再送確認なし

SNMPv2エージェント

  • 平文のパスワードで認証
  • SNMPトラップでの再送確認あり
  • v1よりもMIB情報が若干増え、新たなデータ型が定義されている

SNMPv3エージェント

  • ユーザーレベルでの暗号化された認証
  • SNMPトラップでの再送確認あり
  • ユーザごとにアクセスできるMIBの範囲を定義する「VACM(View-Based Access Control Model)」機能をサポート

SNMPトラップ

SNMPトラップとは

  • SNMPエージェント→Zabbixサーバに通知する
  • SNMPトラップによる監視

キーのリファレンス

Zabbixインターナル

  • Zabbixサーバ内部のステータス情報であるアイテムやトリガーの数、監視のキューの数の監視に利用できる

キーのリファレンス

Zabbixトラッパー

  • zabbix_senderを用いて送信されたデータを受信する場合に使用

トラッパーの設定

zabbix_sender

  • Zabbixサーバのトラッパープロセスにデータを送信するプログラム
  • Zabbixエージェントに付属してインストールされる
  • スクリプトに組み込んで監視データをZabbixサーバに送信し、DBに保存することができる

  • Zabbixサーバにデータを送信するコマンド

zabbix_sender -z <サーバ> -s <ホスト名> -k <アイテムのキー> -o <送信する値>
  • zabbix_agentd.confに保存されているZabbixサーバの設定やホスト名を利用してデータを送信するコマンド
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k <アイテムのキー> -o <送信する値>

Zabbixアグリゲート

  • 同じホストグループに属するホストの同じキーを持つアイテムの収集データを集計
  • 複数のWebサーバの平均CPU使用率、複数DBサーバの空きディスク容量の合計などの監視に利用できる
  • ZabbixのDBを参照してデータ集計を行うため、エージェントとの通信は発生しない

キーのリファレンス

外部チェック

  • Zabbixサーバ上にあるスクリプトやコマンドによる監視
  • 実行するスクリプトの設置場所は/etc/zabbix/zabbix_server.confExternalScriptsで指定
  • 外部チェックを利用する場合、スクリプト名[パラメータ]で指定

例:NTPサーバの稼動監視

/usr/lib/zabbix/externalscripts/ntpcheck.sh
#!/bin/sh
/usr/sbin/ntpdate -q $1; echo $?

・アイテム設定のキー
ntpcheck.sh[ntp.example.jp]

データベースモニタ

  • ZabbixサーバからODBCを利用してDBサーバにSQLクエリを発行し、その結果を取得
  • DBの稼動確認や内部のステータス情報を収集
  • データベースモニタを利用するには、ZabbixサーバにunixODBCまたはiODBCのライブラリをインストールする必要がある
  • DBサーバ側にZabbixサーバから接続できるよう設定しておく必要がある
  • DBサーバに監視用ユーザを追加するべき

キーのリファレンス

ODBCの設定

/etc/odbcinst.ini
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/lib/psqlodbc.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64        = /usr/lib64/psqlodbc.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1

[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
Driver64        = /usr/lib64/libmyodbc5.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage       = 1
/etc/odbc.ini
[postgresql]
Description = PostgreSQL Database
Driver      = PostgreSQL
Database    = <接続するデータベース>
Server      = <監視対象サーバのホスト名またはIPアドレス>
Port        = <監視対象サーバでPostgreSQLが利用しているポート番号>

[mysql]
Description = MySQL Database
Driver      = MySQL
Database    = <接続するデータベース>
Server      = <監視対象サーバのホスト名またはIPアドレス>
Port        = <監視対象サーバでMySQLが利用しているポート番号>

IPMIエージェント

  • IPMIにより、ハードウェアのステータス情報を収集
  • クライアント側にIPMIエージェントのインストールが必要(OpenIPMI、OpenIPMI-libなど)
  • サーバの温度や電源、ファンの状態などのステータスを取得

IPMIの概要

SSHエージェント

  • ZabbixサーバからSSHで監視対象にログインし、コマンドを実行し、結果を収集
  • Zabbixエージェントのインストールなしで内部のステータス情報やアプリケーションの詳細を監視できる
  • 公開鍵認証を利用してSSHエージェントを利用する場合、/etc/zabbix/zabbix_server.confSSHKeyLocationに公開鍵と秘密鍵を置いているディレクトリパスを設定する必要がある

TELNETエージェント

  • Zabbixサーバからtelnetを利用して監視対象にログインしてコマンドを実行し、結果を収集

JMXエージェント

  • JMXによるJavaアプリケーション監視

JMXの記事
JMXの概要

計算

  • 他のアイテムの値を基に計算
  • ディスクの残量やメモリの使用量、CPU全体のロードアベレージ、急激なリソースの変化の取得など

参考:
Zabbixでメトリクス監視する
監視を始めるお!その6-2:Tips計算アイテム