Zabbixによる OpenStack/Contrailの監視

Zabbixによる
OpenStack/Contrailの監視
2014.05.13 OpenContrail Day 2014 Spring
Zabbix Japan 代表 寺島 広大
Zabbix社について
商号
Zabbix SIA
本社
リガ、ラトビア共和国
設立
2005年4月
代表者
Alexei Vladishev
事業内容
コンピュータソフトウェア開発および
サポート、コンサルティング、トレーニング
商号
Zabbix Japan
本社
東京
設立
2012年10月
代表者
寺島 広大
事業内容
サポート、コンサルティング、トレーニング
2
© 2001-2014 by Zabbix Japan. All rights reserved.
オープンソース統合監視ソフトウェア
Zabbix
Zabbix = 統合監視ソフトウェア
ステータス情報の収集
ネイティブエージェント、SNMP、IPMIを含む様々な方法を利用して収集
アラート送信
収集したデータを閾値と比較し、様々な方法(メール、スクリプト)で障害通知
データストレージ
収集したデータを長期蓄積、傾向分析に活用
可視化
Webインターフェースによるグラフィカル表示
4
© 2001-2013 by Zabbix Japan. All rights reserved.
Zabbixが選ばれる理由
マルチプラットフォーム対応と様々な監視機能
どのような環境にも対応可能
多様な監視機能とカスタマイズ性の高さ
オープンソースソフトウェア
ライセンス費用なしにすべての機能を利用可能
世界各国に活発なコミュニティと数万∼数十万の利用ユーザー
エンタープライズ環境の実績
多数のエンタープライズ環境での稼働実績
数万デバイスの監視を行えるスケーラビリティ
商用サポートや各種サービスの提供
5
© 2001-2013 by Zabbix Japan. All rights reserved.
Zabbixの動作環境
障害/復旧通知
SNMP監視
ネットワーク機器
監視データの
一元管理
Zabbixエージェント
による監視
Zabbixエージェント
導入サーバ
ping監視
ポート監視
ステータス確認
監視設定
Zabbixエージェント
未導入サーバ
管理者
6
© 2001-2013 by Zabbix Japan. All rights reserved.
豊富な監視機能
Zabbixエージェント監視機能
•  Zabbixエージェント
ロードアベレージ
CPU
•  死活監視/ポート監視
CPU使用率
メモリ
•  SNMP v1 / v2 / v3エージェント
•  IPMIエージェント (ハードウェア監視)
•  JMX (JavaVM)監視
メモリ使用率
スワップ/ページファイル使用率
ネットワーク送受信バイト数
ネットワーク
ネットワークエラー/ドロップパケット数
コリジョン
ディスク
ファイルシステム使用率
ディスクI/O
プロセス監視
•  Web (URL) 監視
Windowsサービス
•  ODBCを利用したRDBMS監視
サービス
7
TCPポート応答時間
DNS監視
•  Telnet/SSHエージェントレス監視
•  スクリプト実行によるカスタム監視
TCPポート接続状況
NTP監視
Textログ
ログ
イベントログ
ファイル
ファイル監視
その他
パフォーマンスカウンタ(Windowsのみ)
© 2001-2013 by Zabbix Japan. All rights reserved.
マルチプラットフォーム対応エージェント
Confidential
8
© 2001-2013 by Zabbix Japan. All rights reserved.
障害通知機能
•  メール/SMS/チャットプロトコルによるリアルタイム通知
•  カスタムスクリプトの実行
•  エージェント上でコマンドを実行
•  エスカレーション機能
障害発生時
10分後
15分後
30分後
チケット
SMS
E-mail
マネージャ
SMS
E-mail
1時間後
ヘルプデスク
管理者
9
© 2001-2013 by Zabbix Japan. All rights reserved.
グラフィカル表示機能
•  ダッシュボード機能
•  リアルタイムグラフ機能
•  複数データのグラフ
•  複数グラフの表示
•  ネットワークマップ
Confidential
10
© 2001-2013 by Zabbix Japan. All rights reserved.
Zabbixによる仮想環境の監視
(Zabbix 2.2のVMware監視機能)
VMware監視機能の動作
• 
ホストディスカバリの動作
2.2
ホストのローレベルディスカバリ
VM
Hypervisor
vSphere
APIによる
データ収集
自動
登録
vSphereまたは
vCenter APIの
URLを登録
vSphere
vCenter
管理者
自動
登録
自動
登録
vSphere
12
© 2001-2014 by Zabbix Japan. All rights reserved.
VMware監視機能
•  VMware監視機能
ü  ハイパーバイザーのリソース監視
ü  ゲストVMのリソース監視
ü  vCenter/vSphereのイベント監視
ü  vSphere API、vCenter APIの双方をサポート
ü  ローレベルディスカバリによる自動検知、自動登録
ü  デフォルトでVMware監視用のテンプレートが付属
13
© 2001-2014 by Zabbix Japan. All rights reserved.
デバイスの自動検知 (ローレベルディスカバリ)
•  ディスク、ネットワーク、ネットワークポートの自動探索、自動監視設定
ハードディスク x2
ネットワーク x2
2.0
ハードディスク x4
ネットワーク x2
Linux用テンプレート
•  デバイスの自動探索
•  監視項目・しきい値・
グラフ設定の自動追加
ハードディスク x20
ネットワーク x8
Confidential
14
© 2001-2013 by Zabbix Japan. All rights reserved.
Zabbixによる
OpenStack/OpenContrailの監視
Contrail が提供するAPI
•  APIのドキュメントはContrailのホストで閲覧可能
ü  http://contrail-ip:8081/documentation
•  HTTPベースのGETリクエストでJSONデータが返る
ü  リソースの一覧とステータス情報 (User Visible Entities)
http://contrail-ip:8081/analytics/uves
ü  ログとフローのテーブル情報 (NoSQL内のデータ)
http://contrail-ip:8081/analytics/tables
ü  ログとフローのデータ取得 (JSON形式のクエリをPOST送信)
http://contrail-ip:8081/analytics/query
16
© 2001-2014 by Zabbix Japan. All rights reserved.
APIからリソース一覧を取得してみる
$ curl http://contrailhost:8081/analytics/uves | jq .
[
{
"name":
"href":
},
{
"name":
"href":
},
{
"name":
"href":
},
{
"name":
"href":
},
"xmpp-peers",
"http://192.168.10.20:8081/analytics/uves/xmpp-peers"
"service-instances",
"http://192.168.10.20:8081/analytics/uves/service-instances"
"modules",
"http://192.168.10.20:8081/analytics/uves/modules"
"config-nodes",
"http://192.168.10.20:8081/analytics/uves/config-nodes"
...
17
© 2001-2014 by Zabbix Japan. All rights reserved.
ゲストVMの一覧
$ curl http://contrailhost:8081/analytics/uves/virtual-machines | jq .
[
{
"name": "f88637e0-8dd3-4fcc-9e82-3966d98a492a",
"href": "http://192.168.10.20:8081/analytics/uves/virtual-machine/
f88637e0-8dd3-4fcc-9e82-3966d98a492a?flat"
},
{
"name": "700f087b-5a03-4b31-ba0e-b8847d8fdff4",
"href": "http://192.168.10.20:8081/analytics/uves/virtual-machine/
700f087b-5a03-4b31-ba0e-b8847d8fdff4?flat"
},
{
"name": "8eb20208-d067-4b71-b803-d731c2050201",
"href": "http://192.168.10.20:8081/analytics/uves/virtual-machine/
8eb20208-d067-4b71-b803-d731c2050201?flat"
}
]
...
18
© 2001-2014 by Zabbix Japan. All rights reserved.
ゲストVMのリソース詳細
$ curl "http://192.168.10.20:8081/analytics/uves/virtual-machine/
f88637e0-8dd3-4fcc-9e82-3966d98a492a?flat"| jq .
{
"UveVirtualMachineAgent": {
"interface_list": [
{
"gateway": "192.168.20.1",
"vm_name": "Zabbix",
"name": "f88637e0-8dd3-4fcc-9e82-3966d98a492a:bbea2979-a222-4609-96fc-cd12c95b3657",
"floating_ips": [],
"label": 18,
"mac_address": "02:bb:ea:29:79:a2",
"active": true,
"virtual_network": "default-domain:admin:default-virtual-network",
"ip_address": "192.168.20.251"
}
],
"vm_stats": {
"rss": 802912,
"peak_virt_memory": 2440608,
"vcpu_one_min_avg": [
"0.655738"
],
"vm_memory_quota": 2097152,
"cpu_one_min_avg": 0.0730118,
"virt_memory": 2440388
...
19
© 2001-2014 by Zabbix Japan. All rights reserved.
ZabbixからOpenContrail APIを利用した監視
•  監視方法
ü  OpenContrail APIを利用して監視 (エージェントレス)
ü  Template OpenContrailテンプレートを適用するだけ
ü  ローレベルディスカバリを活用して自動監視設定
ü  ゲストVMの自動検知、監視対象として自動登録
ü  ゲストVMのネットワークトラフィック、CPUなども自動監視登録
•  開発言語
ü  Pythonを利用
20
© 2001-2014 by Zabbix Japan. All rights reserved.
監視対象の自動検知
•  ゲストVMの自動検知
ü  自動的に登録されているゲストVMを監視対象として登録
ü  仮想ネットワークごとにグループ化
•  ゲストVMごとの監視項目
ü  CPU使用率
ü  メモリ使用率
ü  ネットワークトラフィック
21
© 2001-2014 by Zabbix Japan. All rights reserved.
ゲストVMごとの監視データの表示
•  収集した監視データの蓄積
•  長期間のグラフ表示
22
© 2001-2014 by Zabbix Japan. All rights reserved.
仮想ルータの自動検知
•  仮想ルータの自動検知
ü  自動的に登録されている仮想ルータを監視対象として登録
ü  仮想ネットワークごとにグループ化 (同一ネットワークのゲストVMと同じ)
•  仮想ルータごとの監視項目
ü  CPU使用率
ü  メモリ使用率
ü  ネットワークトラフィック
ü  フローのステータス (age, active, total)
ü  XMPPのステータス (OUT/INメッセージ数)
ü  プロセスの稼働状況
23
© 2001-2014 by Zabbix Japan. All rights reserved.
今後の課題
ZabbixからOpenContrail APIを利用した感想
•  JSONベースのAPIが使いやすく軽量
ü  いろいろな開発言語でパースしやすい
ü  UVEはGETでリクエストできるため開発も容易
ü  応答が軽くレスポンスよくデータを取り出せる
•  Zabbixから見たOpenContrail API
ü  各ContrailノードにもUUIDが欲しい
25
© 2001-2014 by Zabbix Japan. All rights reserved.
OpenContrailに適した監視とデータの見せ方
•  監視項目の充実化
ü  各ノードの詳細なステータスも取得可能
ü  OpenStack APIも併用した監視
ü  NoSQLに入っているログとフローの監視
•  OpenStack/OpenContrailに適した監視ポイント
ü  OpenContrailで重要な監視ポイントの理解
ü  フローの状況をどう可視化するか
26
© 2001-2014 by Zabbix Japan. All rights reserved.
お問い合わせ
日本国内から:
Zabbix Japan LLC
〒105-0004 東京都港区新橋4-21-3 新橋東急ビル2F
Tel: 03-6895-7527 Fax: 03-6895-7301
URL: http://www.zabbix.com/jp
Email: [email protected]
日本以外の地域から:
Zabbix SIA
117 Dzelzavas Street Riga, LV-1021, Latvia
Tel: +371 6 778 4742 Fax: +371 6 778 4741
Email: [email protected]
27
© 2001-2014 by Zabbix Japan. All rights reserved.