21
クラウド+オンプレミス統合管理に 向けたZabbixカスタマイズの紹介 TIS株式会社 コーポレート本部 戦略技術センター 池田 大輔

クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)

Embed Size (px)

Citation preview

クラウド+オンプレミス統合管理に向けたZabbixカスタマイズの紹介

TIS株式会社コーポレート本部戦略技術センター

池田 大輔

自己紹介

name Daisuke Ikedatwitter @ike_daifacebook https://www.facebook.com/ikedai

Zabbix2.0紹介記事(ThinkIT)

弊社技術ブログ『Tech-Sketch』毎週技術系記事を公開中!!(http://tech-sketch.jp/)

Self-Introduction

今日の話題

クラウド+オンプレミス統合管理に向けた取り組み紹介- コンセプト

- デモ

- 今後の取り組み予定

Today's Theme

全て絶賛開発中です!

最終的にはいろいろと変わることを

前提にお聞き下さい!!

ご意見も随時募集中! 採用できるかは要相談

早速ですが・・・

こんな感じで管理してませんか?

仮想マシンとハイパーバイザの関係をドキュメント管理Problems

仮想マシンの追加・削除したら変更大変

あの障害が発生した時どんな状態だったっけ?

早速ですが・・・

こんな感じで管理してませんか?

いろんなツールを駆使した管理 Problems

AWSの管理はAWS管理コンソールで

VMwareはvShpereClientで

SSHクライアントも沢山のサーバを管理すると大変なことに

管理するの大変じゃないですか?

高頻度で仮想マシンの削除・追加・移動発生 環境の多種多様化

Problems

面倒なことなくしたい!

マルチ環境一括管理できるようにしてみよう!

既に監視で利用しているZabbixから

管理できるなら便利かも!

何ができるようになった?

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

Console接続の仕組み

Console Architecuture

Future Work

基本的なことだけできてもメリット少ない・・・

マルチ環境間連携とか実現できないか?これから求められていくのは"CloudFederation"!

環境間バックアップ・オートメーション等に挑戦でも実現方法は・・・?すでに存在するマルチクラウド運用管理ツールとの差別化はどうする?(Scalr,RightScaleなどなど沢山出てきている)

Future Work

AWS,vSphere,物理マシンだけだと・・・

幅広く管理できるようにならないか?

KVM・Xen・その他OpenStackへの対応検討OpenStackなどに全ての環境を集約すればZabbixから実施できる必要ない?→既存の環境への影響をできる限り少なく・かつ統合管理したい場合もあるのでは?

最終的には?

統合管理できるZabbixを皆さんに使ってもらいたい

OSS公開?Zabbix本体に機能を取込んでもらえたらなぁ

外部ツール使いすぎて厳しいかも・・・

Goal?

目標!

1.公開できるレベルまで仕上げてどこかで公開

2.皆さんのご意見を聞きながら少しずつ良いものに

3.Zabbixをクラウド時代の運用方法にもマッチしたツールに

できなかったら...

@ike_dai end