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

19
Zabbixローレベルディスカバリ機能& 先取りZabbix2.2新機能「仮想環境監視」紹介 TIS 池田 大輔( @ike_dai )

description

Zabbixローレベルディスカバリについての紹介と、先取りでZabbix2.2の新機能「仮想環境監視機能」を紹介

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

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

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

TIS 池田 大輔( @ike_dai )

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

Agenda● Zabbixの基本● Zabbix1.8での課題● Zabbix2.0のローレベルディスカバリ機能● 先取りZabbix2.2新機能「仮想環境監視」紹介

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

~Zabbixの基本~

ZabbixとはOSS統合監視ツールラトビアのZabbixSIA社が開発現在の最新安定版2.0.6

監視対象機器- Linux- Windows- NW機器等

監視方法

- Zabbix Agent監視- SNMP監視- IPMI監視- エージェントレス監視等

監視内容- リソース監視- 死活監視 - ICMPPing - プロセス- Web監視- ログ監視- HW監視- SQL監視等

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

Zabbix Server

dbsyncer

trapper

poller

alerter

discoverer・・・

Shared Memory

~Zabbixの基本~

Zabbixの監視の仕組み

Apache(Zabbix Frontend)

DB Server設定情報

監視結果情報

Zabbix Agent

SNMP Agent

SNMP Agent

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

ホストグループ

テンプレート

ホスト

アイテム トリガーグラフ割当

ホスト

アイテム トリガーグラフ

・・・

・・・

アクション

アクション

アイテム トリガーグラフ

ホストグループ:Linuxホスト:Server1テンプレート:LinuxServerテンプレート

アイテム:CPU使用率トリガー:CPU使用率が5分間平均80%以上アクション:管理者にアラートメール送信

~Zabbixの基本~

Zabbixの監視設定の基本

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

Zabbix1.8での課題

lo

eth0

eth1

/

/boot

/var

監視対象ホスト

NWやディスクの監視をインタフェース毎、パーティション毎に実施したい場合↓

それぞれ監視アイテムを登録する必要があり手間がかかる

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

● 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

探索結果に応じてアイテム自動登録

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

● 実施することは以下○ ディスカバリルールの設定

■ ディスカバリルールに利用できるキー● net.if.discovery →タイプ:Zabbixエージェント● vfs.fs.discovery →タイプ:Zabbixエージェント

■ SNMP OIDの場合は任意のSNMP OID(hrStorageDescr等)

○ アイテム、トリガー、グラフのプロトタイプの設定■ プロトタイプで利用できるマクロ

● {#FSNAME} :ディスカバリされたファイルシステムの名前が格納されるマクロ

● {#FSTYPE} :ディスカバリされたファイルシステムのタイプが格納されるマクロ

● {#IFNAME} :ディスカバリされたNICの名前が格納されるマクロ

● {#SNMPINDEX} :ディスカバリされたSNMP OIDのインデックス番号が格納されるマクロ

● {#SNMPVALUE} :ディスカバリルールで指定した OID

ローレベルディスカバリ設定

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

ローレベルディスカバリ設定

ネットワークインタフェースルール設定

アイテムプロトタイプ設定

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

ローレベルディスカバリ設定

ファイルシステムルール設定

アイテムプロトタイプ設定

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

ローレベルディスカバリ設定

SNMP OIDルール設定

アイテムプロトタイプ設定

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

● ディスカバリルールはZabbixの監視アイテムの一種○ この仕組みがわかればカスタマイズ可能

● ファイルシステムのローレベルディスカバリルールのレスポンス仕様

ローレベルディスカバリのカスタマイズ

{ "data":[   {   "{#FSNAME}":"\/",  "{#FSTYPE}":"rootfs"},  {  "{#FSNAME}":"\/proc",  "{#FSTYPE}":"proc"},  {  "{#FSNAME}":"\/sys",  "{#FSTYPE}":"sysfs"},  ・・・省略

}

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

● 例:特定のディレクトリ以下のファイル一覧をディスカバリ

○ 仕様に沿った形で値を返すスクリプトを作成

○ ZabbixエージェントUserParameterを利用してディスカバリルールを定義

○ ローレベルディスカバリルールにfile.path.discoveryを設定

○ ディスカバリ結果は{#FILEPATH}に格納されるのでこのマクロを利用したアイテムプロトタイプを登録

ローレベルディスカバリのカスタマイズ

#!/bin/bash

for file_path in $(/bin/find $1 -type f); do filelist="$filelist,"'{"{#FILEPATH}":"'$file_path'"}'doneecho '{"data":['${filelist#,}' ]}'

UserParameter=file.path.discovery[*],/bin/sh /var/scripts/filepath_discovery.sh $1

filepath_discovery.sh

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

Zabbix2.2の機能紹介

以降の話は開発途中の次期2.2の情報です。

仕様が変わる可能性があります。

利用時は注意!

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

Zabbix2.2「仮想環境監視」

● Zabbix2.2から実装● VMware ESXiおよびvCenter Server経由の監

視機能● Zabbixローレベルディスカバリの仕組みを活用● ホスト、ゲストの監視を実現

○ リソース情報やイベントログ情報の監視

● ホストとゲストを紐付けた管理を実現○ ハイパーバイザ名でホストグループを自動作成しVMを

ハイパーバイザ毎に管理

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

仮想監視機能の仕組み

● Zabbixのシンプルチェックを利用● libcurlを利用しvSphere APIにアクセス

○ 注) 仮想監視機能を利用するには、 libcurl、libxml2が必要

● vSphere APIのPropertyCollectorを利用して情報取得

● イベントログはvSphere APIのEventManagerを利用して取得

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

仮想監視機能の使い方

● 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ホスト登録のみでホスト、ゲスト

全て自動登録

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

仮想監視機能自動登録

● 自動化されること○ ホスト登録

○ グループへの登録

■ ハイパーバイザであれば「Hypervisors」グループ

■ VMであれば「Virtual Machines」「{#HV.NAME}」グループ

○ テンプレートの割り当て

■ ハイパーバイザであれば「Template Virt VMware vCenter Hypervisor」

■ VMであれば「Template Virt VMware vCenter Guest」

各テンプレートにリソース監視等のアイテム情報が登録各仮想マシンはハイパーバイザ名のホストグループに自動登録されるため、どのハイパーバイザ上にどのマシンが稼働しているか等、VMとハイパーバイザを紐

付けた管理が可能に

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

まとめ

● Zabbixローレベルディスカバリの活用で面倒な設定が大幅に削減(Zabbix2.0以上)○ ローレベルディスカバリルールは監視アイテムの一種な

のでカスタマイズ可能

● ローレベルディスカバリの機能を活用したVMware監視機能がまもなく登場する予定(Zabbix2.2)

● お試し下さい