OSC tokyo fall 2011 - 統合監視ソフトウェアZabbixの機能紹介とリアルタイムデモ
-
Upload
takanori-suzuki -
Category
Technology
-
view
2.923 -
download
1
Transcript of OSC tokyo fall 2011 - 統合監視ソフトウェアZabbixの機能紹介とリアルタイムデモ
統合監視ソフトウェア Zabbixの機能紹介とリアルタイムデモ
Takanori Suzuki
自己紹介
Takanori Suzuki
ZABBIX-JP メンバー 修正パッチ作ったりしてます ときどき、 ZABBIX-JPフォーラムや twitterでサポート
Zabbix Conference 2011 @ Latvia で発表してきました
Twitter: @BlueSkyDetector
2
ZABBIX-JP について
日本における Zabbixコミュニティー http://www.zabbix.jp
2005年より活動開始 日本向け RPMパッケージ・ Yumリポジトリの公開 フォーラムでのサポートの提供 修正パッチの作成・投稿 リリースノート、マニュアル、WebUIの翻訳 各種ドキュメントの公開
3
アジェンダ
Zabbix概要
Zabbix 2.0
Zabbix 2.0 開発版 (1.9.7)デモ
Zabbix 2.x とか
4
Zabbix概要
Zabbix = 統合監視ソフトウェア
監視機能 機器から情報を取得する 取得したデータの保存
履歴管理・表示機能 監視データの管理・表示 グラフ、マップの表示 障害履歴管理・表示
障害検知・通知機能 障害を検知するための閾値設定 管理者への障害 /復旧通知
6
Zabbixの特徴
主な特徴 オープンソース・ソフトウェア Webインターフェースから選択式による監視設定、表示が可能
柔軟に設定可能な監視、障害検知、通知機能 マップ、グラフ、複数グラフの表示機能 監視設定、収集データを RDBMSで一元管理 テンプレートによる監視、障害検知、グラフ設定の一元管理
ユーザスクリプトによる監視項目の拡張機能 さまざまな OSに対応した専用エージェント SNMP、 IPMI、 ODBC、 sshなどエージェントレスの監視にも対応
Zabbixプロキシによる大規模システムの監視機能7
Zabbix動作環境
ZabbixサーバZabbixサーバMySQLMySQL
管理者
SNMP &SNMP Trap
Ping/ポート監視Telnet/SSH
ネットワーク機器
Zabbix エージェント導入サーバ
Zabbixエージェント未導入サーバ
障害通知
表示
設定
ZabbixエージェントZabbixエージェント
Zabbix Webインターフェース
Zabbix Webインターフェース
8
対応プラットフォーム
プラットフォーム Zabbixサーバ Zabbixエージェント
Linux ○ ○
Windows - ○
Solaris ○ ○
AIX ○ ○
HP-UX ○ ○
Mac OS X ○ ○
FreeBSD ○ ○
OpenBSD ○ ○
Novell Netware - ○
SCO Open Server ○ ○
Tru64/OSF ○ ○
9
監視機能 : Zabbix Agent機能
基本監視項目 リソース監視 (CPU、メモリ、ディスク、ネットワークの各使用率 )
ポート監視 プロセス監視 ログ監視 ファイル監視 Windowsサービス監視 Windows イベントログ監視 など
監視項目を独自に拡張可能 アプリケーションの監視などを独自に設定可能 独自監視プログラムなどで利用
10
SNMP, SNMP Trap によって、ネットワーク機器などの監視が可能 OIDを設定して監視可能
監視機能 : SNMP, SNMP Trap監視
11
ZabbixサーバZabbixサーバ
SNMP
SNMP Trap
SNMP 対応機器SNMP 対応機器
Telnet, SSHを利用したサーバ監視が可能 Telnetまたは SSH経由でのコマンド実行結果を監視結果として保存可能
エージェントレスでの監視が可能 パスワードや鍵の事前登録が必要
監視機能 : Telnet, SSH監視
12
ZabbixサーバZabbixサーバ
コマンドの実行
実行結果の監視
Telnet, SSH が起動しているサーバ
Telnet, SSH が起動しているサーバ
IPMI監視電源の故障、ファンの故障、温度などを監視 データベースモニタ監視UnixODBCを利用して DBを監視 シンプルチェック監視TCPポート、 Ping などシンプルな監視 Zabbixインターナル監視Zabbix自体の状況を監視 外部チェック監視任意のコマンドの実行結果を監視 計算監視Zabbix内の他の項目の監視結果を、計算して値を監視結果として保存
などなど
監視機能 : その他
13
表示機能
監視データ表示 障害発生箇所の一覧表示 グラフ表示 マップ表示 スクリーン機能 (レポート作成機能 )
14
通知機能
メールによる通知 障害時 /復旧時の通知 送信するメールの内容を設定可能
通知先・障害レベルの設定が可能 通知するユーザー /グループを設定可能 通知する障害レベル設定が可能
スクリプトにより、通知方法をカスタマイズ可能 自動でプロセスの再起動 特定のアプリケーションを実行
15
大規模なシステムや遠隔地の拠点の監視が可能 監視設定や収集データは Zabbixサーバで一元管理
拠点 A拠点 A
その他 : Zabbixプロキシによる監視
16
ZabbixサーバZabbixサーバ
ZabbixプロキシサーバZabbixプロキシサーバ ZabbixプロキシサーバZabbixプロキシサーバ
• 監視設定• 監視データ• 監視設定• 監視データ
その他 : 監視テンプレート
監視テンプレートとは 監視項目設定、障害閾値設定、グラフ設定をひとまとめにして扱うことができる機能
ホストとリンクさせることで、テンプレートに含まれる設定内容を一括適用することが可能
複数台のサーバで共通の監視設定をテンプレート化して管理することで、監視設定の管理を容易にすることができる
17
テンプレート A• 監視項目 A• 障害閾値 A• グラフ A
テンプレート A• 監視項目 A• 障害閾値 A• グラフ A
テンプレート B• 監視項目 B• 障害閾値 B
テンプレート B• 監視項目 B• 障害閾値 B
ホスト Y• 監視項目 B• 障害閾値 B
ホスト X• 監視項目 A• 障害閾値 A• グラフ A
• 監視項目 B• 障害閾値 B
リンク
Zabbix Webインターフェイス概観
監視データの表示
19
監視データの表示
20
障害情報の表示
21
障害情報の表示
22
障害情報 (時系列 )の表示
23
アクション(メール通知結果)の表示
24
マップの表示
25
スクリーンの表示
複数のグラフやマップを 1つの画面で表示
26
Zabbix 2.0
2011年中を予定 状況によっては予定が変更される可能性もあり
(To be released when ready) 現時点では 2.0の開発版として、 1.9.7を試用可能
1.9.6以降からはベータ扱いになっており、バグ潰しの最中
過去のリリース状況 1.4 ・・・ 2007/5 1.6 ・・・ 2008/9 1.8 ・・・ 2009/12 2.0 ・・・ 2011/12??
※奇数バージョンは開発版、偶数バージョンは安定版になります
2.0 リリース時期について
28
ZABBIX-JPから 1.9.7の rpmを提供中 zabbix-java-proxyパッケージが追加 依存関係は、 Zabbix-1.8.* 用のもの +
java>=1.6.0 JMX関連のものが簡単に設定できるようにパッケージングされてます
既に Bug huntingモードなので、 2.0リリースまで機能追加は基本的にありません。機能確認をしたい場合はお試しください
バグを見つけたら、バグレポートをお願いします。
2.0 ベータ版 (1.9.7)の利用について
29
Zabbix API の正式実装 JMXを利用した Javaアプリケーション監視機能監視対象デバイスの自動検知ハードウェア構成情報の自動収集 Webインターフェイスのデザインの改善 SNMP Trap機能の強化
2.0 での追加機能
30
1.8 において試験的に実装されていた Zabbix APIを正式に実装
JSON-RPCを利用した APIにより、 API経由での監視結果の取得や監視設定の追加・変更・削除が実現可能
コミュニティーにおいて、すでに Rubyによるコマンドラインツールや各種プログラム向けのライブラリが利用可能
APIを利用して作成された、 iPhoneや Androidアプリが存在
Zabbix API の正式実装
31
ZabbixサーバZabbixサーバAPIへアクセス
結果を取得
プログラムプログラムWebサーバWebサーバ JSON-RPC
以前は zapcatを利用し実現していた Javaアプリケーションの監視機能を Zabbix自体に実装
Zabbixサーバーや Javaアプリとは別に Zabbix Java Gatewayを経由してデータを取得
Zapcatと比べ、記法は少し変更 JBoss, WebLogic, WEBSphere, Tomcat などに対応
JMXを利用した Javaアプリケーション監視機能
32
Zabbix ServerZabbix Server
Zabbix Java GatewayZabbix Java Gateway
Zabbix サーバー
TomcatTomcat
TomcatTomcatJMX
JMX経由にて取得可能な情報を監視可能 メモリの使用状況 スレッド数 スレッドの状況 …セッション数 など
Jconsoleと同等の情報を取得可能
JMXを利用した Javaアプリケーション監視機能
33
JMXのセットアップ /etc/zabbix/zabbix_server.conf の編集
JavaProxy=localhostJavaProxyPort=10052StartJavaPollers=5
/etc/zabbix/zabbix_java_settings.sh の編集LISEN_PORT=10052
zabbix-java-proxy サービスの起動# service zabbix-java-proxy start
zabbix-server サービスの起動# service zabbix-server start
監視アイテムのタイプとして「 JMXエージェント」を選択して設定
JMXを利用した Javaアプリケーション監視機能
34
ネットワークデバイス名、ディスクデバイスの構成などを検知し、自動的に監視対象に追加
自動検知により、細かな構成の違いによるテンプレートの分割が不要に
監視対象デバイスの自動検知 (LLD)
35
ZabbixサーバZabbixサーバ
監視
各マシンに合わせて自動的に監視項目を検知各マシンに合わせて自動的に監視項目を検知
監視テンプレート
ホストの設定要素に「ディスカバリ」が追加 ディスカバリ後の自動アイテム登録方法を設定
監視対象デバイスの自動検知 (LLD)
36
自動検知
OS、MACアドレス、 CPUアーキテクチャ、などを収集し、インベントリ情報として自動登録可能
アイテムの登録画面からインベントリへの取込みが設定可能
ハードウェア構成情報の自動収集
37
見た目の改善 AJAXによる、より柔軟な操作の実現
Webインターフェイスのデザインの改善
38
タブの採用によって画面がシンプルに
Webインターフェイスのデザインの改善
39
煩雑であった SNMP Trap監視設定を容易に設定可能 1.8まで必須であった、 Zabbix Sender実行用のカスタムスクリプトの作成が不要
snmptrap[正規表現 ]、 snmptrap.fallback というキーが新規追加
SNMP Trap機能の強化
40
簡易化簡易化
1つのホストに複数の IPアドレスを設定可能マップ上のアイコンに複数の URLリンクを設定可能
マップ上のホストから、そのホスト上でコマンドを実行可能(グローバルスクリプト)
複数のアイコンを同時に一括編集可能マップのグリッド幅が変更可能ホスト名からマップ上で使うアイコンを自動判定して割り当てる機能
その他
41
Zabbix 2.0 のロードマップページ
http://www.zabbix.org/wiki/Docs/specs/2.0_roadmap
その他
42
Zabbix 2.0 demo
Zabbix 2.x とか
NoSQL採用による、より大規模な監視の実現クラウド・仮想化への対応ジョブスケジューリング機能の追加WebUIの安定性・利便性の向上
追加予定機能について
45
RDBによるパフォーマンスの限界を超えるためにNoSQLを検討
Cassandra, Hadoop, Hbase, Hypertable, MongoDB, CouchDB, Neo4J などが検討対象
NoSQLの適用対象は監視履歴テーブル 理論上は 15,000 (監視項目 /秒 ) -> 100,000 (監視項目 /秒 ) 程度への向上
※ Zabbix Conference 2011 であった話として、 Cassandraについては、すでに Zabbix SIAで対応したバージョンを特定顧客向けに開発した実績はあるが、現時点で公開はされていない。公開の検討はされているらしい。
NoSQL採用による、より大規模な監視の実現
46
仮想化環境への対応いままでは追加プログラム等から間接的に情報収集する必要があったが、 Zabbix自体に仮想化環境監視機能を実装予定
KVM, XEN, VMWare への対応を予定仮想環境の管理機能の追加
クラウド環境への対応各種クラウド APIへ対応
Amazon EC2 Rackspace Cloud VMWare
クラウド環境の監視に対応クラウド環境の管理機能の追加
クラウド・仮想化への対応
47
すでに存在しているリモートコマンド機能を利用し、ジョブスケジューリング機能の実装を検討定期バックアップや定期タスクの実行クラウドや仮想化環境のリソースの ON/OFF障害の発生状況により、実行するコマンドを決定
など
ジョブスケジューリング機能の追加
48
安定性の向上 MVC化を進め、保守性の高いコードに改善スケーラビリティーの向上
利便性の向上ユーザによるカスタマイズを可能に
WebUIの安定性・利便性の向上
49
Fin.Any Questions?