狠狠撸

狠狠撸Share a Scribd company logo
谷沢智史, 西村一彦(e-ambition),
 長久勝, 横山重俊, 吉岡信和(NII)
            2012/6/11
?   背景
?   目的
?   設計
?   評価
?   関連研究
?   結論
?   ハードウェア群は国立情報学研究所 千葉分館に配置
    ? 約250台の計算用マシン、約30台のストレージ装置
    ? 運用チームは主に一ツ橋で利用者のサポート
?   運用作業が複雑
    ? 利用場面(研究、授業)が多様: パターン化が難しい
    ? 作業ステップが多い: ミスを誘発
?   電力不足による計画停電への対応
    ? 停止を前提としないシステム設計
?   異種ハードウェア、ソフトウェアが混在
    ? 短期間での開発に起因する、統一されていない設定
    ? 漸進的な設備増強
?   どのような機器を監視対象とするのか?
    ? 多様であるため、あらかじめ与えられるのはホスト名、IPアドレス、アクセスに
      必要なアカウント情報程度とする
    ? 仕様情報自体も収集対象とする
マシン?機器              スペック                               数
PowerEdge R710      CPU: Xeon X5520   Memory: 32GB          41
                    HDD: 500GB ×3
                    (HDD, Memoryはいくつかバリエーションあり)

PowerEdge R610      CPU: Xeon X5530   Memory: 32GB         180
                    HDD: 500GB ×3
                    (HDD, Memoryはいくつかバリエーションあり)

EqualLogic PS6000   HDD: 450GB×16                           22
                    (HDD, Memoryはいくつかバリエーションあり)

Latitude E6500      CPU: Core2 Duo T9600 Memory: 4GB         1
                    HDD: 160GB
PowerVault MD3000   HDD: 1TB×15                              2
PowerVault MD1000   HDD: 1TB×15                              4
EMC Ship NX4        HDD: 1TB×12                              6
?   共通の監視ソフトウェアは存在しない
    ? 共通の監視ソフトウェアを全マシンにインストールするのは現実的
      ではない
       ? 作業コスト
       ? 既存監視ツールとの競合などのリスク
?   複数のデータ収集エージェントとそれらの情報の統合
監視?管理ツール             インストール対象                 数
Munin-node (Munin)   PE R610, 710の一部              210
snmpd (Hinemos)      PE RXXXすべて                   221
EQL Group Manager    PS6000すべて                     22
iDRAC                PE R610すべて, PE R710の一部       216
IPMI                 PE R610すべて, PE R710の一部       207
?   バラバラの監視ツール
?   Machine-readableでない
?   edubase Cloudの運用効率を向上させる監視アー
    キテクチャの設計、適用試行
    ? 特定のハードウェア?ソフトウェアに依存しない
     ? ハードウェア?ソフトウェア各種レベルの情報を統合的に扱える
     ? メーカーが異なるシステムの情報を統合的に扱える
    ? 複数の視点で可視化できる
     ? アプリケーションレベル:仮想リソースの分配状況
     ? ハードウェアレベル:物理リソースの稼働状況
?   2つのレイヤーから構成
    ? (1)Status Repository
    ? (2)Visualizer: (2-1), (2-2)
                                                   Another Segment



                                                                            Switches




                        Developer
           Manager                                                          Machines

                        (2-1)WEB
                       Application
                                                                                Switches
                                       (1)Status
           Operator
                                      Repository


                        (2-2)Visual
                          Query                                      Trac
             Non-          Tool
           Developer

                                                     Mailing List
?   多様性への対応
    ? Status Repository
     ? 最低限のゆるい形式化
     ? 形式化のゆるさによるデータのゆれはVisualizerで担保
     ? 性能情報だけでなく、仕様に関する情報も収集
    ? Visualizer – Status Repository
     ? シンプルなプロトコル

?   開発行為を前提とした構造
    ? 複合的な構造のプライベートクラウドの可視化: 開発行為なしには
      行えない
    ? 開発”チーム”を必要としない: 既存のライブラリなどのPublicなソフ
      トウェア資産を最大限に活用できる
    ? とにかく、Machine-readableな生データを!
?   全体構成
?   各モジュール
    ? 状態リポジトリ
    ? 可視化WEBサービス
    ? Visual Query Client


?   システム上どのような課題があり、それをどのように
    解決するか?
?   データ収集部と可視化部の分離
                                                                                        iDRAC
                    可視化WEBサービス
                                                                       Management
                                                           HTTP+JSON    Machine
      WEB                 App.                   状態リポジトリ
    Browser
                         Server      HTTP+JSON
                                                                                        IPMI


                                                     App. Server

              Visual Query Client
                                    HTTP+JSON                                   iDRAC
                                    +PNG
              Drawing Tool

                     Plugin
                                                         DB
                                                                                IPMI
                                                     (Key-Value)
?   時間別データを蓄積
?   シンプルなKey-Valueモデルのみ規定
                    t1              t2                  tn
                    Key 1           Key 1               Key 1
                      JSON Object     JSON Object         JSON Object

                    Key 2           Key 2               Key 2
                      JSON Object     JSON Object         JSON Object
                                                    …
          Group 1   Key 3           Key 3               Key 3
                      JSON Object     JSON Object         JSON Object


                            …




                                            …




                                                                …
                    Key n           Key n               Key n
                      JSON Object     JSON Object         JSON Object




                                            …
                    t1              t2                  tn
                    Key 1           Key 1               Key 1
                      JSON Object     JSON Object         JSON Object

                    Key 2           Key 2               Key 2
                      JSON Object     JSON Object         JSON Object
                                                    …
          Group n   Key 3           Key 3               Key 3
                      JSON Object     JSON Object         JSON Object
                            …




                                            …




                    Key n           Key n               Key n
                                                                …
                      JSON Object     JSON Object         JSON Object
?   Group – Type
    ? 同じTypeのものをまとめて参照するなど
    ? 中に入るデータの表現揺れなどは可視化処理側で対処



              Type 1         Type 2             Type m

                Group 1-1      Group 2-1          Group m-1
                Group 1-2      Group 2-2          Group m-2
                Group 1-3      Group 2-3    …     Group m-3
                Group 1-4      Group 2-4          Group m-4
                       …




                                      …




                                                      …
                Group 1-n1     Group 2-n2         Group m-nm
?   WEB アプリケーションとして作りこみ
    ? Status Repositoryの保持するデータを取得し、可視化
?   お絵かきツール + プラグインで実現
    ? Inkpod( http://inkpod.carabiner.jp )で、Javaによるプラ
      グインを組み込み可能


             値?グラフなど              サブクエリ                値?グラフなど




                                                 クエリ

                  処理の対象
                 (解釈はプラグインにより
                     異な る)
                                      vclc0001


                                                          Plugin     Plugin   …     Plugin
                              プロトコル
                                             名前による
             グラフの起点                          対応付け
                                                             Visual Query Parser
                      localhost
                                                                    Inkpod
                                                                   (Drawing Tool)
?   デモ

?   運用上の必要に応じて表示内容を決定している
    ? ラックの温度
    ? VMの実行状態
?   デモ

?   監視元 –[プロトコル]- 監視対象キー
?   監視ツール
    ? Zabbix, Nagios
     ? プラグインで収集可能データを拡張できる
     ? 構造を持ったデータの収集、可視化は対象外
       ? 構造自体はあらかじめ定義
?   プライベートクラウド監視
    ? PCMONS: 可視化部分はNagiosで行ない、データ収集用中
      間サーバを独自に開発
?   クラウドアプリケーションの監視
    ? FU-JIN: Hadoopクラスタの可視化
    ? 今回は対象外
?   結論
    ? 多数/多種のマシン/ソフトウェアが混在する環境下でも既存
      構成に影響を与えることなく監視するアーキテクチャを設計?
      適用した

?   今後の課題
    ? 実運用に適用し、データの蓄積
     ? 時間的変化データの可視化
    ? Visual Queryの形式化
     ? Pluginのロジックに頼っている部分が大きい
ご清聴ありがとうございました

More Related Content

20120611 SC研究会

  • 1. 谷沢智史, 西村一彦(e-ambition), 長久勝, 横山重俊, 吉岡信和(NII) 2012/6/11
  • 2. ? 背景 ? 目的 ? 設計 ? 評価 ? 関連研究 ? 結論
  • 3. ? ハードウェア群は国立情報学研究所 千葉分館に配置 ? 約250台の計算用マシン、約30台のストレージ装置 ? 運用チームは主に一ツ橋で利用者のサポート
  • 4. ? 運用作業が複雑 ? 利用場面(研究、授業)が多様: パターン化が難しい ? 作業ステップが多い: ミスを誘発 ? 電力不足による計画停電への対応 ? 停止を前提としないシステム設計 ? 異種ハードウェア、ソフトウェアが混在 ? 短期間での開発に起因する、統一されていない設定 ? 漸進的な設備増強
  • 5. ? どのような機器を監視対象とするのか? ? 多様であるため、あらかじめ与えられるのはホスト名、IPアドレス、アクセスに 必要なアカウント情報程度とする ? 仕様情報自体も収集対象とする マシン?機器 スペック 数 PowerEdge R710 CPU: Xeon X5520 Memory: 32GB 41 HDD: 500GB ×3 (HDD, Memoryはいくつかバリエーションあり) PowerEdge R610 CPU: Xeon X5530 Memory: 32GB 180 HDD: 500GB ×3 (HDD, Memoryはいくつかバリエーションあり) EqualLogic PS6000 HDD: 450GB×16 22 (HDD, Memoryはいくつかバリエーションあり) Latitude E6500 CPU: Core2 Duo T9600 Memory: 4GB 1 HDD: 160GB PowerVault MD3000 HDD: 1TB×15 2 PowerVault MD1000 HDD: 1TB×15 4 EMC Ship NX4 HDD: 1TB×12 6
  • 6. ? 共通の監視ソフトウェアは存在しない ? 共通の監視ソフトウェアを全マシンにインストールするのは現実的 ではない ? 作業コスト ? 既存監視ツールとの競合などのリスク ? 複数のデータ収集エージェントとそれらの情報の統合 監視?管理ツール インストール対象 数 Munin-node (Munin) PE R610, 710の一部 210 snmpd (Hinemos) PE RXXXすべて 221 EQL Group Manager PS6000すべて 22 iDRAC PE R610すべて, PE R710の一部 216 IPMI PE R610すべて, PE R710の一部 207
  • 7. ? バラバラの監視ツール ? Machine-readableでない
  • 8. ? edubase Cloudの運用効率を向上させる監視アー キテクチャの設計、適用試行 ? 特定のハードウェア?ソフトウェアに依存しない ? ハードウェア?ソフトウェア各種レベルの情報を統合的に扱える ? メーカーが異なるシステムの情報を統合的に扱える ? 複数の視点で可視化できる ? アプリケーションレベル:仮想リソースの分配状況 ? ハードウェアレベル:物理リソースの稼働状況
  • 9. ? 2つのレイヤーから構成 ? (1)Status Repository ? (2)Visualizer: (2-1), (2-2) Another Segment Switches Developer Manager Machines (2-1)WEB Application Switches (1)Status Operator Repository (2-2)Visual Query Trac Non- Tool Developer Mailing List
  • 10. ? 多様性への対応 ? Status Repository ? 最低限のゆるい形式化 ? 形式化のゆるさによるデータのゆれはVisualizerで担保 ? 性能情報だけでなく、仕様に関する情報も収集 ? Visualizer – Status Repository ? シンプルなプロトコル ? 開発行為を前提とした構造 ? 複合的な構造のプライベートクラウドの可視化: 開発行為なしには 行えない ? 開発”チーム”を必要としない: 既存のライブラリなどのPublicなソフ トウェア資産を最大限に活用できる ? とにかく、Machine-readableな生データを!
  • 11. ? 全体構成 ? 各モジュール ? 状態リポジトリ ? 可視化WEBサービス ? Visual Query Client ? システム上どのような課題があり、それをどのように 解決するか?
  • 12. ? データ収集部と可視化部の分離 iDRAC 可視化WEBサービス Management HTTP+JSON Machine WEB App. 状態リポジトリ Browser Server HTTP+JSON IPMI App. Server Visual Query Client HTTP+JSON iDRAC +PNG Drawing Tool Plugin DB IPMI (Key-Value)
  • 13. ? 時間別データを蓄積 ? シンプルなKey-Valueモデルのみ規定 t1 t2 tn Key 1 Key 1 Key 1 JSON Object JSON Object JSON Object Key 2 Key 2 Key 2 JSON Object JSON Object JSON Object … Group 1 Key 3 Key 3 Key 3 JSON Object JSON Object JSON Object … … … Key n Key n Key n JSON Object JSON Object JSON Object … t1 t2 tn Key 1 Key 1 Key 1 JSON Object JSON Object JSON Object Key 2 Key 2 Key 2 JSON Object JSON Object JSON Object … Group n Key 3 Key 3 Key 3 JSON Object JSON Object JSON Object … … Key n Key n Key n … JSON Object JSON Object JSON Object
  • 14. ? Group – Type ? 同じTypeのものをまとめて参照するなど ? 中に入るデータの表現揺れなどは可視化処理側で対処 Type 1 Type 2 Type m Group 1-1 Group 2-1 Group m-1 Group 1-2 Group 2-2 Group m-2 Group 1-3 Group 2-3 … Group m-3 Group 1-4 Group 2-4 Group m-4 … … … Group 1-n1 Group 2-n2 Group m-nm
  • 15. ? WEB アプリケーションとして作りこみ ? Status Repositoryの保持するデータを取得し、可視化
  • 16. ? お絵かきツール + プラグインで実現 ? Inkpod( http://inkpod.carabiner.jp )で、Javaによるプラ グインを組み込み可能 値?グラフなど サブクエリ 値?グラフなど クエリ 処理の対象 (解釈はプラグインにより 異な る) vclc0001 Plugin Plugin … Plugin プロトコル 名前による グラフの起点 対応付け Visual Query Parser localhost Inkpod (Drawing Tool)
  • 17. ? デモ ? 運用上の必要に応じて表示内容を決定している ? ラックの温度 ? VMの実行状態
  • 18. ? デモ ? 監視元 –[プロトコル]- 監視対象キー
  • 19. ? 監視ツール ? Zabbix, Nagios ? プラグインで収集可能データを拡張できる ? 構造を持ったデータの収集、可視化は対象外 ? 構造自体はあらかじめ定義 ? プライベートクラウド監視 ? PCMONS: 可視化部分はNagiosで行ない、データ収集用中 間サーバを独自に開発 ? クラウドアプリケーションの監視 ? FU-JIN: Hadoopクラスタの可視化 ? 今回は対象外
  • 20. ? 結論 ? 多数/多種のマシン/ソフトウェアが混在する環境下でも既存 構成に影響を与えることなく監視するアーキテクチャを設計? 適用した ? 今後の課題 ? 実運用に適用し、データの蓄積 ? 時間的変化データの可視化 ? Visual Queryの形式化 ? Pluginのロジックに頼っている部分が大きい