Más contenido relacionado Más de Kodai Terashima (8) Zabbix 1.8の概要・開発状況とZabbixで使える便利ツール、Zabbix APIの紹介4. Zabbix = 統合監視ソフトウェア
• ステータス情報収集機能
✓ 監視対象サーバ、ネットワーク機器からステータス情報を取得
✓ 取得した情報をデータベースに保存、蓄積
• 障害検知、通知機能
✓ 障害を検知する閾値設定
✓ 障害発生時にメール通知やスクリプト実行
• グラフィカル表示機能
✓ マップ、グラフのリアルタイム表示
✓ 障害状況の確認や複数グラフの表示
4
5. Zabbixの主な特徴
• 主な特徴
✓ オープンソースソフトウェア
✓ Webインターフェースから設定・情報表示が可能
✓ リアルタイムなグラフ表示
✓ 監視データをデータベースに長期間蓄積
✓ 監視テンプレートによる設定のテンプレート化
✓ マルチプラットフォーム対応
✓ 豊富な監視機能
• Zabbixを使うメリット
✓ 障害検知 + グラフ表示 + αの監視機能
✓ 設定・操作がWebから簡単にできる
5
11. Zabbix 1.8のリリース
• Zabbix 1.8のリリース履歴
• 現在の状況
✓ 1.8.3で大きな新機能の追加は落ち着いたように見える
✓ 1.8.4に向けてバグフィックス修正が行われている
11
日付 バージョン 主な機能追加 バグフィックス数
2009/12/08 1.8 - -
2010/01/28 1.8.1 2個 fix 165個
2010/03/30 1.8.2 17個 fix 166個
2010/08/16 1.8.3 3個 fix 315個
現在 (2010/09/10) 1.8.4 (開発中) - open 362個
15. Zabbixの機能拡張 - MySQLの監視
• Heavy MySQL monitoring solution
✓ MySQLの内部ステータスを取得するphpスクリプト
✓ MySQL_Server, Replication_Master, Replication_SlaveのXMLテ
ンプレートが配布されている
✓ 100を超えるアイテムとトリガーが標準で利用できる
15
http://www.zabbix.com/wiki/howto/monitor/db/mysql/
extensive_mysql_monitoring_including_replication
16. Zabbixの機能拡張 - PostgreSQLの監視
• PostgreSQL UserParameters
✓ PostgreSQL用のUserParameter設定例が紹介されている
✓ コミット数、ロールバック数、コネクション数など
✓ 10個ほどのスクリプト例が紹介
16
http://www.zabbix.com/wiki/howto/monitor/db/postgresql
17. Zabbixの機能拡張 - Oracleの監視
• Zabora
✓ Oracle監視用バイナリ
✓ コミット数、コネクション数、キャッシュヒット率など
✓ SIDごとに監視が可能
✓ 他にもOrabbitという実装もある
17
http://www.zabbix.com/wiki/howto/monitor/db/orcale/oracle
18. Zabbixの機能拡張 - JavaVMの監視
• Zapcat
✓ ZabbixエージェントのJava実装
✓ JMXを利用したJavaVMの内部ステータスが監視可能
✓ JavaVMのメモリの状態、GC、Tomcatのコネクション数など
✓ Zabbixに標準でJava, Tomcat, Hibernateテンプレートが付属
✓ 他にもZabbix tools for Javaという実装もある
18
http://www.kjkoster.org/zapcat/Zapcat_JMX_Zabbix_Bridge.html
20. Zabbix senderの活用例 - Postfixの監視
• Postfix statistics with Zabbix
✓ pflogsummとlogtailを利用
✓ cronでPostfixのログを処理してzabbix_senderでデータ送付
✓ メール送受信数、送受信バイト数
✓ forward, reject, bounced数の監視など
20
http://www.zabbix.com/wiki/howto/monitor/mail/postfix/
monitoringpostfix
24. SNMPテンプレート作成スクリプト
24
• SNMP template generator
✓ snmpwalkした結果を元にXMLテンプレートを自動生成
✓ MIB2に加えて、いくつかの機器ではプライベートMIBに対応
✓ perlスクリプトで簡単に使える
$ snmpwalk -v2c -c public -On network-hostname 1.3.6.1.2.1 > snmpwalk.txt
$ ./gentemplate snmpwalk.txt
http://www.zabbix.com/wiki/scripts/gentemplate.pl
26. API機能
• JSON-RPCを利用した監視設定・データ取得API機能
✓ インターフェースは別途開発する必要がある
✓ Rubyを利用したAPI用コマンドラインツール ”Zabcon” が開発中
✓ その他にもphpやpythonを利用したライブラリの実装がある
+> get host
Host result set
+--------+---------------+
| hostid | host |
+--------+---------------+
| 10017 | Zabbix Server |
+--------+---------------+
1 rows total
+> get user
User result set
+--------+-------+
| userid | alias |
+--------+-------+
| 1 | Admin |
| 2 | guest |
+--------+-------+
2 rows total
26
Zabcon : http://trac.red-tux.net/wiki/zbx_api/interactive
27. Zabbix API使ってみました
• Zabbix APIの調査/デバッグ用ツールとして
✓ JavaScript + jQueryを利用して作成
✓ ブラウザ経由でZabbix APIにアクセス
✓ 取得したデータを表形式で表示
✓ 調査/デバッグ用ツールなので、あまり細かいことは気にせず
27
+
28. Zabbix API - JSONデータの作成
• JavaScriptのJSON.stringifyを利用すれば簡単
✓ Zabbix APIはJSON-RPC 2.0を利用
✓ rpcidはリクエストごとにインクリメント
✓ authidは認証済みかどうかをチェックする文字列
✓ methodには送信するメソッドを、paramsにはパラメータを指定
function createJsonObject(rpcid, authid, method, params) {
var parameter = {};
parameter.jsonrpc = '2.0';
parameter.id = rpcid;
parameter.auth = authid;
parameter.method = method;
parameter.params = params;
return JSON.stringify(parameter);
};
28
29. Zabbix API - JSONデータの送信
• jQueryの.ajax()を利用
✓ createJsonObjectで作成したJSONデータを.ajax()でPOST送信
✓ 成功するとJSONオブジェクトが返ってくる
✓ あとはeachやfor文でデータ取出、HTML作成
function sendJSONRequest(jsonobject) {
$.ajax({
url: 'http://zabbix-server/zabbix/api_jsonrpc.php',
contentType: 'application/json-rpc',
dataType: 'json',
type: 'POST',
processData: false,
data: jsonobject,
success: function(response) {<成功時の処理>},
error: function(response) {<失敗時の処理>}
});
};
29
31. 2010/9/10-11 OSC2010 Tokyo/Fall
• Alexei Vladishev氏の来日公演
✓ Zabbixの創始者、Zabbix SIAの代表
✓ Zabbix 2.0のロードマップについて講演していただきました
✓ 資料はこちら:
http://www.zabbix.jp DOCUMENTS セミナー資料
31
32. Zabbix 2.0 ?
• Zabbix 1.8の次期バージョン
✓ Zabbix 1.10になるかも?
✓ 2010年末にリリースしたいけど...信用しないでね
• Zabbix 2.0で実現したいこと
✓ すべてのプラットフォーム向けにオフィシャルパッケージ
(RPM, Deb, バイナリ)を提供
✓ アプライアンスイメージ(VMware, ISO)の提供
✓ パフォーマンスとクオリティの改善
✓ 機能追加
✓ 機能追加要望からアイデアの精査と実装
32
33. Zabbix 2.0の追加機能と改善 (予定)
• 追加/改善予定の機能
✓ ローレベルディスカバリ
✓ スクリーン設定をテンプレートに含める
✓ ホストに複数IPを設定可能に
✓ JMX監視を標準機能に取り込む
✓ Zabbixエージェントの設定をZabbixインターフェースから管理
✓ ハードウェアプロファイルの自動収集機能
33
34. Zabbix 2.0の追加機能のアイデア
• Zabbix SIAのfeature requestページからの主な案
✓ NoSQLストレージの採用によるパフォーマンス改善
✓ 翻訳フレームワークの利用
✓ クラウドAPIを利用したAmazon EC2, Rackspaceの監視機能
✓ 仮想環境(VMware, Xen, KVM)の監視機能
✓ タスクスケジューラ
✓ SSH/Telnetを利用したリモートコマンド
✓ 通信の暗号化と認証
✓ より簡単に利用できる監視拡張機能
✓ Webインターフェースの改善
34