1.3. データ収集

Red Hat OpenStack Platform (RHOSP) は、2 種類のデータ収集をサポートします。

  • インフラストラクチャーモニターリング用の collectd。詳細は、「collectd」を参照してください。
  • OpenStack コンポーネントレベルのモニターリング用の Ceilometer。詳細は、「Ceilometer」を参照してください。

1.3.1. Ceilometer

Ceilometer は OpenStack Telemetry サービスのデフォルトのデータ収集コンポーネントで、現在の OpenStack コアコンポーネント全体にわたってデータを正規化し変換することができます。Ceilometer は、OpenStack サービスに関連する計測データおよびイベントデータを収集します。デプロイメントの設定に応じて、ユーザーは収集したデータにアクセスすることができます。

Ceilometer サービスは、3 つのエージェントを使用して Red Hat OpenStack Platform (RHOSP) コンポーネントからデータを収集します。

  • コンピュートエージェント (ceilometer-agent-compute): 各コンピュートノードで実行され、リソースの使用状況の統計値をポーリングします。このエージェントは、パラメーター --polling namespace-compute を使用して実行しているポーリングエージェント ceilometer-polling と同じです。
  • 中央エージェント (ceilometer-agent-central): 中央の管理サーバーで実行され、インスタンスまたはコンピュートノードに関連付けられないリソースの使用状況の統計値をポーリングします。複数のエージェントを起動して、サービスをスケーリングすることができます。これは、パラメーター --polling namespace-central で実行されているポーリングエージェント ceilometer-polling と同じです。
  • 通知エージェント (ceilometer-agent-notification): 中央の管理サーバーで実行され、メッセージキューからのメッセージを処理してイベントデータおよび計測データをビルドします。その後、データは定義されたターゲットに公開されます。デフォルトでは、データは Gnocchi にプッシュされます。これらのサービスは、RHOSP の通知バスを使用して通信します。

Ceilometer エージェントは、パブリッシャーを使用してデータを該当するエンドポイント (Gnocchi 等) に送信します。この情報は、pipeline.yaml ファイルで設定することができます。

関連情報

1.3.1.1. パブリッシャー

Telemetry サービスでは、さまざまな転送方法により収集したデータを外部システムに送付することができます。転送方法の要件はこのデータを使用するシステムにより異なり、たとえばモニターリングシステムではデータ損失が許容され、請求システムでは信頼性の高いデータ転送が必要とされます。Telemetry は、両方のシステム種別の要件を満たす方法を提供します。サービスのパブリッシャーコンポーネントを使用して、メッセージバスを介してデータを永続ストレージに保存することや、1 つまたは複数の外部コンシューマーに送信することができます。1 つのチェーンに複数のパブリッシャーを含めることができます。

以下のパブリッシャー種別がサポートされます。

  • Gnocchi (デフォルト): Gnocchi パブリッシャーが有効な場合、計測およびリソース情報が時系列データに最適化されたストレージ用の Gnocchi にプッシュされます。Ceilometer は Identity サービスを通じて正確なパスを検出するので、Gnocchi を Identity サービスに登録するようにします。
  • panko: Ceilometer からのイベントデータを panko に保管することができます。panko は、Red Hat OpenStack Platform のシステムイベントのクエリーを行うための HTTP REST インターフェイスを提供します。データを panko にプッシュするには、パブリッシャーを direct://?dispatcher=panko に設定します。
1.3.1.1.1. パブリッシャーパラメーターの設定

Telemetry サービス内の各データポイントに、複数のパブリッシャーを設定することができます。これにより、同じ技術メーターまたはイベントを複数のターゲットに複数回公開することができます。この場合、それぞれ異なる転送方法を使用することが可能です。

手順

  1. パブリッシャーパラメーターおよびデフォルト値を記述するための YAML ファイルを作成します (例: ceilometer-publisher.yaml)。以下のパラメーターを parameter_defaults に追加します。

    parameter_defaults:
    
    ManagePipeline: true
    ManageEventPipeline: true
    EventPipelinePublishers:
    - gnocchi://?archive_policy=high
    PipelinePublishers:
    - gnocchi://?archive_policy=high
  2. カスタマイズしたオーバークラウドをデプロイします。オーバークラウドをデプロイするには、2 とおりの方法があります。

    • 変更した YAML ファイルを openstack overcloud deploy コマンドに含めて、パブリッシャーを定義します。次の例では、<environment-files> をデプロイに含める他の YAML ファイルに置き換えます。

      $ openstack overcloud  deploy
      --templates \
      -e /home/custom/ceilometer-publisher.yaml
      -e <environment-files>
    • local_modifications.yaml など、すべてのローカル変更を含める YAML ファイルを作成します。以下の例に示すように、スクリプトを使用してデプロイメントを実行することができます。

      $ sh deploy.sh:
      
      #!/bin/bash
      openstack overcloud deploy
      -e <environment-files> \
      -e local_modifications.yaml \
      ....

関連情報

  • パラメーターについての詳細は、オーバークラウドのパラメーターTelemetry パラメーター およびオーバークラウドの高度なカスタマイズパラメーター を参照してください。

1.3.2. collectd

パフォーマンスのモニターリングでは、データ収集エージェントを使用してシステム情報を定期的に収集し、その値をさまざまな方法で保管および監視することができます。Red Hat は、データ収集エージェントとして collectd デーモンをサポートします。このデーモンは、データを時系列データベースに保管します。Red Hat がサポートするデータベースの 1 つは Gnocchi と呼ばれます。保管されたこのデータを使用して、システムの監視、パフォーマンスのボトルネックの特定、および将来的なシステム負荷の予測を行うことができます。

関連情報