新バージョン!
Zabbix 2.2 と検証結果のご紹介
SRA OSS, Inc. 日本支社
山本 博之

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

1

概要
 統合監視ツールとZabbixについて
 Zabbix 2.2の新機能
 各機能の検証結果
 弊社が提供するサービス

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

2

統合監視ツールとは１つのソフトウェアに複数の役割を持たせて一元管理

グラフによる視覚化

ログデータの管理
バックアップ
性能情報の蓄積

異常負荷の警告

スクリプト・ジョブ実行

Zabbix, Hinemos, etc…
死活チェックシステム情報の登録

サービス復旧

サービス監視ハードウェア監視

警告灯の点灯マップ化

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

資産管理3

Zabbixとは管理者

 OSS統合監視ツールの一つ (ライセンスはGPL) Zabbix SIAが開発
 Webベースの管理画面

通知

管理画面
閲覧、操作

 データ保存は各種RDBMSを選択可能(MySQL, PostgreSQL, Oracle, SQLite)





Zabbix Server

多数の対応プラットフォーム (Unix系、Windows)
サーバ、エージェントはC言語で実装
多様な監視方法 (エージェント、SNMP、Web、スクリプト etc.)
高度な障害通知機能、可視化機能
ディスカバリ機能による監視対象の自動検知、登録
Zabbixプロキシによる分散監視 Zabbixの操作を自動化できるAPIを提供
 テンプレートによる設定の一括適用

シンプルチェック
Web監視
SNMP
監視

エージェント監視

Zabbix ProxyCopyright © 2013 SRA OSS, Inc. Japan All rights reserved.

監視対象4

Zabbix 2.2の新機能
 VMWare監視機能
 ハイパーバイザ・ゲストVMのリソース監視 vSphere (ESXi)、VMの自動検知・登録

データベースの自動アップグレード機能
Web監視の改良
ローダブルモジュール形式の監視機能拡張パフォーマンスの改善
 複数timerプロセス、ヒストリデータのメモリキャッシュ、他 ヒストリデータのCassandraサポート (予定) その他細かな改善点多数
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

5

Zabbix 2.2のリリース予定
 当初5月予定だったが、リリースが遅れている 10/9にZabbix 2.1.7がリリース
 2.2系の最初のβ版
 2.2で予定されていた機能がほぼ実装された
 残りのバグが修正されたら2.2正式リリース

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

6

今回の検証内容
 データベース自動アップグレード機能
 Web監視の改良
 ローダブルモジュール形式の監視機能拡張
 パフォーマンスの改善

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

7データベースの自動アップグレード機能

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

8

データベース自動アップグレード機能
 Zabbix 2.0までは、添付のスクリプトを使って手動でデータベースをアップグレードする必要があった
 Zabbix 2.0から2.2へのデータベースのアップグレードは自動で行ってくれる 2.0で使用していたデータベースを参照するように設定して2.2を起動するだけでOK 1.8から2.2にアップグレードするには、一度手動で1.8から2.0にアップグレードした後、2.2への自動アップグレードを行う必要がある
 2.2以降のバージョンへの自動アップグレードもOK(予定)(2.0 → 2.4等)
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

9データベース自動アップグレード機能
 Zabbix サーバ起動時にデータベースのバージョンがチェックされ、アップグレードが必要であれば実行される
 進捗はログに逐次出力される
30068:20131004:154611.244 Starting Zabbix Server. Zabbix 2.1.6(revision 38841).
30068:20131004:154611.293 current database version(mandatory/optional): 02010000/02010000
30068:20131004:154611.293 required mandatory version: 02010176
30068:20131004:154611.294 starting automatic database upgrade
30068:20131004:154611.314 completed 0% of database upgrade
30068:20131004:154611.332 completed 1% of database upgrade
30068:20131004:154611.353 completed 2% of database upgrade...(中略)...
30068:20131004:154612.171 completed 99% of database upgrade
30068:20131004:154612.172 completed 100% of database upgrade
30068:20131004:154612.172 database upgrade fully completed
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

10データベース自動アップグレード機能
 1.8 → 2.0のときはヒストリテーブルの変更があったため、データ量によっては数時間かかった
 2.0 → 2.2ではヒストリテーブルは変更されないので、それほど時間はかからない 途中で中断したりした場合は戻せないので、事前に必ずバックアップをとる

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

11

Web監視の改良

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

12Web監視 WebサイトにHTTP/HTTPSクライアントとしてアクセスして監視 Webブラウザからのアクセスをシミュレート

 複数ページにまたがった監視(Webシナリオ)が可能
 死活監視、パフォーマンスの監視

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

13

Zabbix 2.2以前のWeb監視の問題点
 Web監視設定の再利用ができない-ホスト名が異なるだけで同じWebシナリオで監視設定をする場合でも再設定が必要-設定のエクスポート＆インポートができない-マクロが効かない
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

14

Zabbix 2.2でのＷeb監視（１） テンプレートの対応

 設定のエクスポート＆インポートもできる
しかし・・・Webシナリオのエクスポートができない(現時点では未実装)
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

15

Zabbix 2.2でのＷeb監視(2) 設定にマクロが使えるようになった
テンプレートとマクロを利用し設定の再利用ができる

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

16

Zabbix 2.2でのＷeb監視その他の改良点(1)Webシナリオ別にリトライ回数の指定

HTTPプロキシの設定
2.0以前ではhttp_proxy環境変数でグローバルに設定されたCopyright © 2013 SRA OSS, Inc. Japan All rights reserved.

17

Zabbix 2.2でのＷeb監視その他の改良点(2) グローバルサーチによる検索結果でグローバルサーチ
Web監視が追加
ホスト名入力（２．０以前では数が多いと探すのが大変)

取得値
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

設定値18

Zabbix 2.2でのＷeb監視その他の改良点(３) ログの改良
サーバ名、シナリオ名、ステップ名の表示
cannot process step "index.php" of
web scenario "Zabbix frontend" on host
"Zabbix server": Couldn't connect to server

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

19

Zabbix 2.2でのＷeb監視その他の改良点(4) 変数の改良-2.0ではシナリオ全体に変数が指定できたが、2.2からはシナリオの各ステップで変数指定ができるようになった-変数でregex:で始まるものは正規表現で値をマッチさせてから変数に格納できる{session}=regex:name="sid" value="([0-9a-z])"

この結果をPOSTすることで、動的なWebシナリオ確認ができる
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

20ローダブルモジュール形式の監視機能拡張

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

21ローダブルモジュール形式の監視機能拡張
 2.2から、ローダブルモジュールによりZabbixの機能を拡張できるようになった 従来のUserParameterによる拡張に比べ、性能面で有利 zabbix_agentd.conf内でLoadModulePath で指定したディレクトリから、LoadModule=xxxx.so のように指定した共有ライブラリファイルを読み込む ローダブルモジュールにより追加されたアイテムなどは、通常のZabbixの機能のように扱える
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

22ローダブルモジュール形式の監視機能拡張
 ソースコード内の以下の場所にサンプルがある
zabbix-x.y.z/src/modules/dummy/dummy.c
 以下のようにC言語で処理の内容を記述できる
int

zbx_module_pgsql_version(AGENT_REQUEST *request, AGENT_RESULT *result);

static ZBX_METRIC keys[] =/*KEY{{"pgsql.version",{NULL}};
int
{....

FLAG
CF_HAVEPARAMS,FUNCTIONTEST PARAMETERS */zbx_module_pgsql_version, NULL},

zbx_module_pgsql_version(AGENT_REQUEST *request, AGENT_RESULT *result)
SET_STR_RESULT(result, version);
return SYSINFO_RET_OK;}
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

23ローダブルモジュール形式の監視機能拡張 以下のようなモジュールを試験的に作成
 アイテムキー: pgsql.version
 PostgreSQLに接続し、以下のSQLを発行し、結果を文字列として返す
select version(); 接続は維持し、次回の実行時に再利用する

取得した文字列
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

24ローダブルモジュール形式の監視機能拡張
 ローダブルモジュールの作成にはそれなりの知識が必要 今後、汎用的なモジュールがコミュニティからいろいろと出てくるかもしれない
 専門的、特殊なものはZabbixベンダーが作りこんで提供

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

25

パフォーマンスの改善

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

26

パフォーマンスの改善
Zabbixのキャッシュの改善の歴史
 1.8: 収集したデータをDBに書き込むときにまとめて書き込むようになった(書き込みキャッシュ) 2.0: 設定(アイテム、トリガー等)のキャッシュが追加された
 2.2: ヒストリデータ(監視データの履歴)の読み込みキャッシュ(value cache)が追加された
 トリガー、計算アイテム、累計アイテムの処理が高速化

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

27

2.0と2.2の性能比較
 Zabbix 2.0.8 vs 2.1.6
 100ホスト (同一エージェント) 100 x 44 = 4400アイテム
 100 x 17 = 1700トリガー
 5秒間隔で取得
 historyが空の状態から1時間監視
 ValueCacheSize=16M (Zabbix 2.1.6)
 デフォルトの8Mだと不足するため
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

28

Test 1: 通常の監視 トリガーは最新の値、もしくは最新と1つ前の値との差を取得(例){system.cpu.util[,iowait].last(0)}>20{vfs.fs.size[/,pfree].last(0)}<10{system.uptime.change(0)}<0

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

29

Test 1: CPU utilization

2.0.8: CPU user timeの負荷がやや高い

2.1.6: 負荷はかなり低い

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

30

Test 1: Zabbix internal processbusy

2.0.6: history syncer processesの負荷がやや高い

2.1.6: 全体的に負荷は低い

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

31

Test 2: 広範囲なヒストリを参照する場合
 トリガーで過去30分間の値の最大・最小・平均値を取得(例){system.cpu.util[,iowait].avg(1800)}>20{vfs.fs.size[/,pfree].min(1800)}<10{system.swap.size[,pfree].max(1800)}<50

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

32

Test 2: CPU utilization

2.0.8: CPU user timeの負荷がかなり高い(トリガーのヒストリ参照負荷が上乗せされた)

2.1.6: 負荷はかなり低い(Test 1の場合とほぼ同じ)

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

33

Test 2: Zabbix internal processbusy

2.0.6: history syncer processesの負荷がかなり高い

2.1.6: 全体的に負荷は低い

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

34

パフォーマンスの改善
 2.0に比べ、2.2は監視の負荷がかなり軽減されている
 DBへの負荷が軽減
 同一性能のマシンであれば2.2の方がより多くの監視が可能

 Value cacheの効果により、2.2ではトリガーで過去のヒストリを広範囲に参照しても負荷が軽い ちなみにvalue cacheを無効にすると2.0より負荷が高くなってしまうのでおすすめしない
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

35

Value cacheのチューニング
 ValueCacheSizeが足りない場合、以下のログが出力される
26791:20131009:144349.698 value cache is fully used:
please increase ValueCacheSize configuration parametervalue cacheの情報は以下のアイテムで取得できる
zabbix[vcache,buffer,pfree]zabbix[vcache,cache,hits]
zabbix[vcache,cache,misses](Template App Zabbix Serverにデフォルトで設定されている)
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

36

弊社が提供するサービス

Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

37

SRA OSSが提供するサービス
 PostgreSQLサポート
 OSSサポート Zabbixを含む多数のOSSのサポートを提供
 OSSプロフェッショナルサポート (33種以上)

 導入・構築・コンサルティング
 PostgreSQL 各種OSS

 自社製品 PowerGres, libTextConv, Sylpheed Pro
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

38

参考URL Zabbix http://www.zabbix.com/jp/

 ZABBIX-JP
 http://www.zabbix.jp/

 SRA OSS, Inc. 日本支社
 http://www.sraoss.co.jp

 弊社で公開中のZabbix技術情報
 http://www.sraoss.co.jp/technology/zabbix/
Copyright © 2013 SRA OSS, Inc. Japan All rights reserved.

39