Upload
daisuke-ikeda
View
10.421
Download
4
Embed Size (px)
Citation preview
自己紹介
name Daisuke Ikedatwitter @ike_daifacebook https://www.facebook.com/ikedai
Zabbix2.0紹介記事(ThinkIT)
弊社技術ブログ『Tech-Sketch』毎週技術系記事を公開中!!(http://tech-sketch.jp/)
Self-Introduction
早速ですが・・・
こんな感じで管理してませんか?
いろんなツールを駆使した管理 Problems
AWSの管理はAWS管理コンソールで
VMwareはvShpereClientで
SSHクライアントも沢山のサーバを管理すると大変なことに
何ができるようになった?
Physical Machine ■ IPMIを利用したサーバの起動・停止
■ IPMIコンソール接続
■ SSH接続
VMware ESXi ■ HV,VMのリソース状況取得
■ VMの起動・停止
■ データストアの管理
■ VMコンソール接続
AWS EC2■ EC2インスタンス情報取得
■ EC2起動・停止
New Function
システム概略
Overview
Zabbix
DeltaCloud API
物理マシン
iLO,BMC等IPMI
VMware ESXi
vSphere API
AmazonWeb Services
AWS API
IPMI Driver vSphere Driver EC2 Driver
Add Custom Custom
Zabbix Frontend
External Scriptsmonitoring
Check Operation
Add
Custom
DeltaCloudとは?■ Apache Top Project (2012/02/16昇格)
■ 最新バージョン0.5.0(2012/05/12現在)
■ Ruby実装
■ RedHatのクラウドプロジェクトの1つ
■ CloudFormsの中の1コンポーネント
■ 対応クラウド
AWS,Eucalyptus,GoGrid,Opennebula,Rackspace, RHEV-M,Rimuhosting,Terremark,vSphere,OpenStack,WindowsAzure■ 各対応クラウド毎に環境操作用Driverが提供
■ RESTful API提供
What's DeltaCloud*Deltacloud公式サイトより引用(http://deltacloud.apache.org/index.html)
DeltaCloudの使い方
How to Use DeltaCloud
$ sudo gem install deltacloud-core$ deltacloudd -i ec2 -p 3000 -r 192.168.xx.xx --daemon
Install & Start Service
http://192.168.xx.xx:3000/
-i デフォルトドライバ指定
-p ポート番号指定
-r ホスト指定
--daemon デーモン起動
DeltaCloudの使い方
How to Use DeltaCloud
{"instances": [{"id":"i-86254000", "owner_id":"918550410000", "image_id":"ami-3e060000", "name":"ami-3e060000", "realm_id":"ap-northeast-1a", "state":"STOPPED", ・・・略
"href":"http://192.168.xx.xx:3000/api/instances/i-86254000" } { ・・・略
} ]}
API(ex. Get EC2 instances list)
$ curl --user "ACCSESS_KEY:SECRET_KEY" -H "X-deltacloud-Driver:ec2" -H "X-deltacloud-Provider:us-west-1" http://192.168.xx.xx:3000/api/instances?format=json
HTTP Request
JSON Response
X-deltacloud-DriverX-deltacloud-Provider を変えることでマルチな環境の操作を一括で実現
Zabbixカスタマイズ
Customize Zabbix
External Script
Template
● DeltaCloud経由でマシン稼働状況・マシンリソース状況を取得● 取得結果をZabbix Senderで該当アイテムに登録● vSphereやEC2の仮想マシン情報は 自動的にホスト登録
FrontEnd(Dashboard etc...)
● タイプ毎にテンプレート を作成○ IPMI用○ vSphere用(ホストOS用、ゲストOS用)○ AWS用(アカウント用、EC2インスタンス用)
● カスタマイズExternalScript実行結果をダッシュボードに表示● ホストに対する"操作"(起動・停止・再起動等)をダッシュボードから 直接実行可能に
○ 実行リクエストはDeltaCloud経由で各環境に送付● コンソール接続画面 を追加
Zabbixカスタマイズ
Customize Zabbix
External Script
Template
● DeltaCloud経由でマシン稼働状況・マシンリソース状況を取得● 取得結果をZabbix Senderで該当アイテムに登録● vSphereやEC2の仮想マシン情報はZabbix APIで 自動的にホスト登録&テンプレート割当
FrontEnd(Dashboard etc...)
● タイプ毎にテンプレート を作成○ IPMI用○ vSphere用○ AWS用
● カスタマイズExternalScript実行結果をダッシュボードに表示● ホストに対する"操作"(起動・停止・再起動等)をダッシュボードから 直接実行可能に
○ 実行リクエストはDeltaCloud経由で各環境に送付● コンソール接続画面 を追加
メリット・個々の仮想マシンの登録負荷軽減・基本情報監視アイテム化でリソース変化の管理可能
Zabbix Sender,Zabbix API便利!2つを駆使することで柔軟にカスタマイズ可能!
デ モ
デモがうまくいかない場合は動画でどうぞ・・・
AWS: http://db.tt/qmcdL9ORIPMI: http://db.tt/igUwYe9SvSphere: http://db.tt/LWOHoCnMVNC: http://db.tt/Ynwc4UwU
Demonstration
Future Work
基本的なことだけできてもメリット少ない・・・
マルチ環境間連携とか実現できないか?これから求められていくのは"CloudFederation"!
環境間バックアップ・オートメーション等に挑戦でも実現方法は・・・?すでに存在するマルチクラウド運用管理ツールとの差別化はどうする?(Scalr,RightScaleなどなど沢山出てきている)
Future Work
AWS,vSphere,物理マシンだけだと・・・
幅広く管理できるようにならないか?
KVM・Xen・その他OpenStackへの対応検討OpenStackなどに全ての環境を集約すればZabbixから実施できる必要ない?→既存の環境への影響をできる限り少なく・かつ統合管理したい場合もあるのでは?