Your SlideShare is downloading. ×
  • Like
HyClops for Zabbix紹介資料
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

HyClops for Zabbix紹介資料

  • 5,445 views
Published

第1回OSS運用管理勉強会で発表した資料です。

第1回OSS運用管理勉強会で発表した資料です。

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,445
On SlideShare
0
From Embeds
0
Number of Embeds
9

Actions

Shares
Downloads
35
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. HyClops for Zabbix TIS株式会社 コーポレート本部戦略技術センター 池田 大輔 2013/07/19 OSS運用管理勉強会
  • 2. ■ 背景・課題の共有 ■ HyClops for Zabbixの概要 ■ HyClops for Zabbixの技術解説 ■ HyClops for Zabbixデモ ■ HyClops for Zabbixの今後
  • 3. About me 名前:池田 大輔 所属:TIS株式会社 戦略技術センター Twitter:@ike_dai Facebook:https://www.facebook.com/ikedai 興味:Zabbix,AWS,fluentd,Chef,JobScheduler... Zabbix Conference 2012 @Rigaike-daiの日記 (http://d.hatena.ne.jp/ike-dai/)
  • 4. ちゃんと管理できてますか? 仮想化・クラウド化 進めたはいいが・・・
  • 5. 管理台数が激増... IaaSだとやっぱり 自分でもちゃんと管 理しないと... オートスケールやChef を使ったりで構築は簡 単だけど... マシンの増減が激しく て辛い... 変更が発生する度に 運用作業が発生する のもちょっと... 頑張って作り込めば なんとか自動化できる か?... お悩みじゃないですか?
  • 6. 以前はこんなことしてました...① 仮想マシンの 追加・削除したら 変更大変 あの障害が発生し た時どんな状態 だったっけ? エクセルで随時手で管理。。。
  • 7. 以前はこんなことしてました...② いろんなツールで管理。。。 AWSの管理は AWS管理コンソールで VMwareは vShpereClientで SSHクライアントも 沢山のサーバを 管理すると大変な ことに
  • 8. Zabbixにはいろんな情報が集まってくる Zabbixを活用してもっと効率良く運用できるように 作ってみました! この集まってくる情報を活用しない手はない サーバの構成情報 サーバの稼働状況 サーバの障害状況
  • 9. ハイブリッドクラウド環境 監視・管理向けZabbixプラグイン 『HyClops for Zabbix』
  • 10. HyClops for Zabbixとは? 運用を少しでも効率良くできるようにするため、Zabbixでの 監視設定を自動化したり、運用作業の入り口を統合化する ためのツール。 今のところ以下を実現 (詳しくはデモで) - AWS,vSphere環境の監視設定自動化 - マシン操作(起動/停止/再起動)実行インタフェースの統合 - EC2インスタンスやVMwareVMへのSSH接続の統合 ・少しでもOpsの担当者が楽になれるように ・もっとインテリジェントな仕事に力を注げるように ・Zabbixをもっと使えるツールになるように
  • 11. アーキテクチャ 3つのコンポーネントで構成 既存のZabbixに影響を与えることがないよう、各コンポーネントは別サーバで稼働させることが可能
  • 12. アーキテクチャ Zabbix Server - ダッシュボードを拡張し、AWS,vSphereのマシン一覧をダッシュボードに表示 - 各ホストに対する操作・SSH接続が実施できるよう拡張(Zabbixグローバルスクリプトの機能を活用) - 標準で割り当てる必須アイテム情報をテンプレート化  - vSphereESXi・AWS Accountテンプレートに定期的に各環境APIと連携するアイテムを登録  - 連携結果を格納するZabbixトラッパーアイテムを登録 - マクロに各種設定  - HyClopsサーバの情報、GateOneサーバの情報(Global Macro)  - AWSアカウント認証情報、vSphereESXi認証情報(Template/Host Macro)  - 仮想マシン用ホスト登録時に自動割当するテンプレート、グループ情報(Template/Host Macro)
  • 13. アーキテクチャ HyClops Server - 各環境のAPIと連携処理するためのバックエンド処理コンポーネント - メッセージキューを備え、Zabbixからのメッセージを処理  - Zabbixにはリクエストを投げた時点で結果を返答(Zabbix側のタイムアウト制約から解放)  - 各環境とのAPI連携処理に時間がかかる場合等HyClops側で重複実行制御等実施 - 各環境のAPIとの連携はメタクラウドAPIであるlibcloudを経由して実施  - メタクラウドAPIを利用することで今後のサポート環境拡張をしやすく - 各環境のAPIから取得後、Zabbixに情報連携  - Zabbix APIを使ってホスト登録・更新を実施  - ホストマシン情報、仮想マシン情報等をZabbix senderで送付
  • 14. アーキテクチャ - Webブラウザ上でSSH接続を実現するためのコンポーネント - Zabbixに登録されたインタフェース情報をもとにSSH接続を実行 - 公開鍵認証にも対応済み  - あらかじめGateOne Serverに鍵を登録することで実現可能 - 接続元制限機能、API認証機能があるため、セキュリティ的にも安 心 GateOne Server
  • 15. Zabbix API ■ Zabbix1.8から実装された外部ツールとZabbixとのインタフェース  - Zabbixに対する操作(設定変更、ホスト追加、グループ作成等)実施  - Zabbixで管理している監視結果の取得(history,event,IT service情報) ■ JSON-RPC形式のAPI  - URL: http://<zabbix-server>/zabbix/api_jsonrpc.php  - メソッド: host.create、host.update、item.get、history.getなど  - パラメータ: メソッド毎に必要なパラメータを渡す host.getの例 レスポンス { "auth": "xxxxxxx", "method": "host.get", "params": { "output": "extend", "filter": {"host":"Zabbix server"} }, "jsonrpc": "2.0", "id": 1 } { "jsonrpc":"2.0", "result":[{ "maintenances":[], "hostid":"10084", "proxy_hostid":"0", "host":"Zabbix server", ・・・略 }], "id":1 } リクエストパラメータ HyClopsではZabbix API操作Pythonライブラリ『python-zabbix-api』経由で実行
  • 16. Zabbix Sender Zabbix Server DB 監視結果情報 設定情報 Zabbix Trapper Zabbix API Zabbix Sender set Zabbix API library set get ■ 外部から監視結果を登録するためのプログラム  - Zabbixに事前に登録されているZabbix Trapperアイテムに対して値を登録可能  - 何らかのトリガーをきっかけに監視結果をプッシュ型で送付したい場合等に有効  - Zabbix Agentが稼働していなくてもzabbix_senderコマンドを実行するだけで実現可能 $ zabbix_sender -z <zabbix-server> -s "Zabbix server" -k "sender.test" -o 100 Zabbix sender実行例 ホスト: Zabbix server アイテムキー: sender.test に100という数値を送る例
  • 17. Zabbix ディスカバリ・自動登録 ディスカバリ(ポーリング型) 自動登録(プッシュ型) Zabbix Server or Zabbix Proxy Target Server Target Server Target Server Target Server Zabbix Server or Zabbix Proxy Target Server Target Server Target Server Target Server 指定したNW宛に定期ポーリング Zabbix Agent Zabbix Agent Zabbix Agent Zabbix Agent 起動時にプッシュ通知 ■ NWのIPrange指定をしてポーリング ■ 検知条件が豊富  - Zabbix Agent  - SNMP  - ICMP ping  - TCP  - HTTP 等 ■ Agent起動時にZabbixServerに通知  →無駄なパケットが発生しない(効率的) ■ 通知される情報が少ない  - Hostname  - ListenIP  - ListenPort HyClopsではAWS,vSphereに特化し、 より効率良く・高度な自動化ができるようZabbix APIを使って実現する方式を選択
  • 18. libcloud ■ OSSメタクラウドAPI  - ApacheトップレベルPJの1つ  - Python実装のAPI  - 最新ver.0.13.0 ■ サポートAPI(http://libcloud.apache.org/supported_providers.html)  - Compute   EC2,OpenStack,CloudStack,   Rackspace,GoGrid,Eucalyptus,   VMware vCloud等  - Storage   S3,OpenStack Swift,CloudStack,   Google Cloud Storage,   Azure Blob Storage等  - Load-Balancer   ELB,CloudStack,Rackspace等  - DNS   Route53,Rackspace Cloud DNS等    #!/bin/env python from libcloud.compute.types import Provider from libcloud.compute.providers import get_driver ACCESS_KEY_ID = 'アクセスキー' SECRET_ACCESS_KEY = 'シークレットキー' Driver = get_driver(Provider.EC2_AP_NORTHEAST) conn = Driver(ACCESS_KEY_ID,SECRET_ACCESS_KEY) nodes = conn.list_nodes() print nodes EC2インスタンスリスト取得サンプルコード
  • 19. HyClops for Zabbixを使うには? 1. HyClops for Zabbix各コンポーネントのインストール  詳しくは公式サイトをご覧下さい(http://tech-sketch.github.io/hyclops) 2. HyClops、GateOne情報をグローバルマクロに登録 3. AWSアカウント/vSphereESXiホスト情報をホスト登録  - AWSアカウント:   ・認証情報をマクロに登録  - vSphereESXi:   ・管理ネットワーク情報をSNMPインタフェースとして登録   ・認証情報をマクロに登録 4. 上記ホストにテンプレート割当  - AWSアカウント: AWSAccountテンプレート  - vSphereESXi: vSphereESXiテンプレート
  • 20. デ モ
  • 21. 今後の方向性 ■ サポート環境の範囲が狭いのでlibcloudを活用して拡張  - CloudStack,OpenStackへの対応を検討中 ■ 運用自動化、省力化に必要な監視項目拡充  - CloudWatchとの連携強化等 ■ バックエンド処理負荷の軽減  - 特にvSphereAPI連携部分の負荷軽減
  • 22. 自動化で運用コストを省く! その一歩としてZabbix+HyClopsを
  • 23. ご清聴ありがとうございました HyClops for Zabbix Official site http://tech-sketch.github.io/hyclops GitHub repository https://github.com/tech-sketch/hyclops.git Chef-repo https://github.com/tech-sketch/hyclops-chef-repo.git e-mail hyclops@ml.tis.co.jp