SlideShare a Scribd company logo
Zabbixローレベルディスカバリ機能&
先取りZabbix2.2新機能「仮想環境監視」紹介
TIS 池田 大輔( @ike_dai )
Agenda
● Zabbixの基本
● Zabbix1.8での課題
● Zabbix2.0のローレベルディスカバリ機能
● 先取りZabbix2.2新機能「仮想環境監視」紹介
~Zabbixの基本~
Zabbixとは
OSS統合監視ツール
ラトビアのZabbixSIA社が開発
現在の最新安定版2.0.6
監視対象機器
- Linux
- Windows
- NW機器
等
監視方法
- Zabbix Agent監視
- SNMP監視
- IPMI監視
- エージェントレス監視
等
監視内容
- リソース監視
- 死活監視
- ICMPPing
- プロセス
- Web監視
- ログ監視
- HW監視
- SQL監視
等
Zabbix Server
dbsyncer
trapper
poller
alerter
discoverer
・
・
・
Shared Memory
~Zabbixの基本~
Zabbixの監視の仕組み
Apache
(Zabbix Frontend)
DB Server
設定情報
監視結果情報
Zabbix Agent
SNMP Agent
SNMP Agent
ホストグループ
テンプレート
ホスト
アイテム トリガーグラフ割当
ホスト
アイテム トリガーグラフ
・
・
・
・
・
・
アクション
アクション
アイテム トリガーグラフ
ホストグループ:Linux
ホスト:Server1
テンプレート:LinuxServerテンプレート
アイテム:CPU使用率
トリガー:CPU使用率が5分間平均80%以上
アクション:管理者にアラートメール送信
例
~Zabbixの基本~
Zabbixの監視設定の基本
Zabbix1.8での課題
lo
eth0
eth1
/
/boot
/var
監視対象ホスト
NWやディスクの監視をインタフェース毎、パーティション毎に実施したい場合
↓
それぞれ監視アイテムを登録する必要があり手間がかかる
● Zabbix2.0から搭載された便利機能
○ NIC,Disk,SNMPOIDの情報を自動探索
ローレベルディスカバリ
lo
eth0
eth1
/
/boot
/var
/proc/mountsの情報を自動取得
注)Linuxの場合
/proc/net/devの情報を自動取得
注)Linuxの場合
注)NIC,DiskのディスカバリにはZabbix2.0のAgent導入が必要
Zabbix Agent
探索
Zabbix Server
探索定期実行
SNMP Agent 探索定期実行
DB
探索結果に応じて
アイテム自動登録
● 実施することは以下
○ ディスカバリルールの設定
■ ディスカバリルールに利用できるキー
● net.if.discovery →タイプ:Zabbixエージェント
● vfs.fs.discovery →タイプ:Zabbixエージェント
■ SNMP OIDの場合は任意のSNMP OID(hrStorageDescr
等)
○ アイテム、トリガー、グラフのプロトタイプの設定
■ プロトタイプで利用できるマクロ
● {#FSNAME} :ディスカバリされたファイルシステムの名前が格納されるマクロ
● {#FSTYPE} :ディスカバリされたファイルシステムのタイプが格納されるマクロ
● {#IFNAME} :ディスカバリされたNICの名前が格納されるマクロ
● {#SNMPINDEX} :ディスカバリされたSNMP OIDのインデックス番号が格納されるマクロ
● {#SNMPVALUE} :ディスカバリルールで指定した OID
ローレベルディスカバリ設定
ローレベルディスカバリ設定
ネットワークインタフェース
ルール設定
アイテムプロトタイプ設定
ローレベルディスカバリ設定
ファイルシステム
ルール設定
アイテムプロトタイプ設定
ローレベルディスカバリ設定
SNMP OID
ルール設定
アイテムプロトタイプ設定
● ディスカバリルールはZabbixの監視アイテムの一種
○ この仕組みがわかればカスタマイズ可能
● ファイルシステムのローレベルディスカバリルールのレスポ
ンス仕様
ローレベルディスカバリのカスタマイズ
{
"data":[
   {
   "{#FSNAME}":"/",
  "{#FSTYPE}":"rootfs"},
  {
  "{#FSNAME}":"/proc",
  "{#FSTYPE}":"proc"},
  {
  "{#FSNAME}":"/sys",
  "{#FSTYPE}":"sysfs"},
  ・・・省略
}
● 例:特定のディレクトリ以下のファイル一覧をディスカバリ
○ 仕様に沿った形で値を返すスクリプトを作成
○ ZabbixエージェントUserParameterを利用してディスカバリルールを定義
○ ローレベルディスカバリルールにfile.path.discoveryを設定
○ ディスカバリ結果は{#FILEPATH}に格納されるのでこのマクロを利用した
アイテムプロトタイプを登録
ローレベルディスカバリのカスタマイズ
#!/bin/bash
for file_path in $(/bin/find $1 -type f); do
filelist="$filelist,"'{"{#FILEPATH}":"'$file_path'"}'
done
echo '{"data":['${filelist#,}' ]}'
UserParameter=file.path.discovery[*],/bin/sh /var/scripts/filepath_discovery.sh $1
filepath_discovery.sh
Zabbix2.2の機能紹介
以降の話は開発途中の次期2.2の情報です。
仕様が変わる可能性があります。
利用時は注意!
Zabbix2.2「仮想環境監視」
● Zabbix2.2から実装
● VMware ESXiおよびvCenter Server経由の監
視機能
● Zabbixローレベルディスカバリの仕組みを活用
● ホスト、ゲストの監視を実現
○ リソース情報やイベントログ情報の監視
● ホストとゲストを紐付けた管理を実現
○ ハイパーバイザ名でホストグループを自動作成しVMを
ハイパーバイザ毎に管理
仮想監視機能の仕組み
● Zabbixのシンプルチェックを利用
● libcurlを利用しvSphere APIにアクセス
○ 注) 仮想監視機能を利用するには、 libcurl、libxml2が必要
● vSphere APIのPropertyCollectorを利用して情
報取得
● イベントログはvSphere APIのEventManager
を利用して取得
仮想監視機能の使い方
● vCenterServerで管理している場合
○ 以下の情報をvCenterServer用のZabbixホストとして登録
■ 3マクロを設定
     {$URL} ← vSphereAPIのURLを指定(例 https://vcenter-server-hostname/sdk)
          {$USERNAME} ←vSphere APIアクセスユーザ名を指定
          {$PASSWORD} ←vSphereAPIアクセスユーザのパスワードを指定
    ■vCenter Server監視用テンプレート割り当て
     テンプレート名: Template Virt VMware vCenter
vCenterServerの1ホスト
登録のみでホスト、ゲスト
全て自動登録
仮想監視機能自動登録
● 自動化されること
○ ホスト登録
○ グループへの登録
■ ハイパーバイザであれば「Hypervisors」グループ
■ VMであれば「Virtual Machines」「{#HV.NAME}」グループ
○ テンプレートの割り当て
■ ハイパーバイザであれば「Template Virt VMware vCenter
Hypervisor」
■ VMであれば「Template Virt VMware vCenter Guest」
各テンプレートにリソース監視等のアイテム情報が登録
各仮想マシンはハイパーバイザ名のホストグループに自動登録されるため、
どのハイパーバイザ上にどのマシンが稼働しているか等、VMとハイパーバイザを紐
付けた管理が可能に
まとめ
● Zabbixローレベルディスカバリの活用で面倒な
設定が大幅に削減(Zabbix2.0以上)
○ ローレベルディスカバリルールは監視アイテムの一種な
のでカスタマイズ可能
● ローレベルディスカバリの機能を活用した
VMware監視機能がまもなく登場する予定
(Zabbix2.2)
● お試し下さい

More Related Content

Zabbixローレベルディスカバリ機能&Zabbix2.2仮想環境監視機能紹介