現在位置: ホーム / 研究・開発成果 / 「Hatohol」の他システムとの相互接続性を向上する機能拡張

「Hatohol」の他システムとの相互接続性を向上する機能拡張

運用統合ソフトウェア「Hatohol」は開発中のモジュールであり、事前の告知なしに仕様、内容が変更される場合があります。

運用統合ソフトウェア「Hatohol(はとほる)」の機能

運用統合ソフトウェア「Hatohol」は、複数のZabbixサーバ、およびNagiosサーバからデータを取得し、ZabbixサーバやNagiosサーバをまたいだ環境の一括監視を可能にする、表示専用のソフトウェアです。「Hatohol」によって将来的に見込まれる監視規模・拠点の拡大やハイブリッドクラウド環境の監視などの要望に応え、エンタープライズ環境での利用に十分対応できる監視システムを提供します。

ミラクル・リナックスでは、OpenStackによるOSSクラウド環境を利用促進させるために、OSS統合運用管理ソフトウェア「Hatohol」の機能拡張を進めています。
機能拡張の一つとして、複数のクラウド環境を統合的に集約、可視化し、効率よく適切な運用管理を行っていく必要があるという考えのもと、2015年より「Hatohol」と他システムとの相互接続性を向上させるインターフェース「HAPI (Hatohol Arm Plugin Interface)」の拡張に着手しています。

「Hatohol」の機能拡張開発計画

1. 拡張インターフェース「HAPI」の整備と機能拡充

OpenStackだけでなく、CloudStackやVMware vSphereとvCloud Air、Microsoft Azure、Amazon AWS、IBM SoftLayerなど、さまざまなクラウド環境に関心が高まっており、今後はそれらのメリット/デメリットを考慮して、必要に応じて最適なクラウド環境を選択して複数のクラウド環境が併用されると考えられます。
そこでミラクル・リナックスでは、さまざまなクラウド環境や運用管理ソフトと連携できる拡張インターフェースHAPI(Hatohol Arm Plugin Interface)を開発し、整備する計画を進めています。

HAPIを使用したHatoholと監視サーバの接続イメージ
図1: HAPIを使用したHatoholと監視サーバーとの接続イメージ

 

HAPIの特徴

  • Hatoholサーバが、標準的なインターフェース層(HAPI)を提供する
  • 監視サーバの種類ごとの固有な処理は、別プロセスとして実装されるプラグインにより実現
    (図1での下段の水色部分)
  • Hatoholサーバとプラグイン間の通信は、データ列の転送を行うトランスポート層と、Hatoholが独自定義するコマンド群からなるメッセージ層で構成
  • トランスポート層として、メッセージキュー(AMQPブローカ)を使用

本フレームワークでは、新しい種類のプラグインに対応するには、図1での水色のボックスで示されるプラグインのみを開発します。プラグインは、ネットワークを介して通信を行うアプリケーションプログラムです。

ユーザ側のメリット

  • Hatoholサーバ本体の改造が不要
  • 任意の開発言語でプラグインを作成可能
  • プラグインがクラッシュやストールしても、Hatoholサーバへの影響がほとんどない
  • プラグインとHatoholサーバが直接通信できないネットワーク環境でも、それぞれがメッセージキューと接続できれば、データの転送が可能
  • 認証や暗号化などについては、トランスポート層の機能を利用することでプラグインでの対応を不要にできる

インターフェース機能「HAPI」は、開発状況、仕様などの技術情報や、利用方法、マニュアル、モデルケースのリファレンスなどをドキュメント化して随時公開する予定です。
2015年度は、以下の開発を計画しています。

メッセージ層のJSON対応

従来のHAPIでは、C/C++などの低レイヤー向け言語でプラグインを作成する場合に効率的な処理を実現するために、メッセージ層にはHatohol独自のバイナリプロトコルが使用されていました。一方、PythonやRubyなどの言語では、バイナリよりもテキスト主体のプロトコルとの親和性が高いため、HAPIの改良版では、Webアプリケーションなどで人気の高いJSONフォーマットによる通信プロトコルを策定しています。これにより、より多くの言語によるプラグイン開発を容易にします。

対応コマンドの拡充

現在のHAPIのメッセージ層プロトコルには、Zabbixサーバ、OpenStack/Ceilometer、Fluentdからの情報を取得するために必要なコマンド群が定義されています。これらのクラウド環境との接続において、現在の定義で十分かを検討し、必要に応じて、コマンドを追加していきます。また、従来のコマンドやそのオプションも再度精査し、より効率的で使いやすい仕様に改良します。

トランスポート層の選択肢を拡充

現在のHAPIでは、堅牢で高いセキュリティ機能を活用して、幅広い運用形態に対応するため、トランスポート層としてAMQPのみが使用されています。一方、機能性よりもスループットを上げたいという要求に応えて、機能は限定的ではあるがより高速なメッセージキューであるZeroMQを採用するほか、 Hatoholサーバとプラグインが同一マシンで動作する場合には、UNIXパイプなどによってメッセージキューがなくてもトランスポート層に使用できるなど、フレームワークの選択を可能にします。

プラグインの固有のUIパラメータ設定の容易化

プラグイン固有のUI用設定パラメータは、DBに格納されており、それらを追加・更新するためには、DBに付属するコマンド等を使用する必要があります。ユーザ環境ごとに使用するDBそのものやDB名が異なる可能性があり、RPM等のパッケージのスクリプト処理では、自動的な設定が困難です。そこで、Hatoholがそれらパラメータ追加・更新用の仕組みを備えて、自動設定を促進し、より簡易な利用を可能にします。

2. UI(ユーザーインターフェース)の刷新

現在のHatoholはOpenStackやZabbixとの連携を意識したUIで設計されています。今後、さまざまな環境と連携できる機能を目指して、複数クラウドの統合を意識したインターフェース設計に刷新します。
HAPIの拡張による他環境の統合と、それらの統括管理監視が行えるUI環境を実装します。

3. クラウド型トライアル利用環境の公開

ユーザが実際のシステムイメージを理解しやすいように、クラウド上にHatoholおよびモデルとなる監視対象を設置し、実際に動作させて見ることができる環境を公開します。イメージの理解を促進することによって、改善提案を増やし、製品自体の機能強化、実運用にマッチした開発計画を実現します。

4. オープンソースコミュニティの活性化:他OSS製品およびコミュニティとの関係強化

現在、クラウドをコントロールする様々な試みが、コミュニティや国家事業、企業研究所で行われています。他のOSSコミュニティで紹介されている製品・サービスとHatoholとの連携を視野に情報交換を重ね、双方が成長を行っていけるよう活動していく予定です。インターフェース機能「HAPI」は、開発状況、仕様など技術情報、利用方法、マニュアル、モデル使用ケースのリファレンスなどをドキュメント化して随時公開していく予定です。

 

お問い合わせフォームへ

Project Hatoholのサイトへ

製品トップページへ