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 サービス内の各データポイントに、複数のパブリッシャーを設定することができます。これにより、同じ技術メーターまたはイベントを複数のターゲットに複数回公開することができます。この場合、それぞれ異なる転送方法を使用することが可能です。
手順
パブリッシャーパラメーターおよびデフォルト値を記述するための YAML ファイルを作成します (例:
ceilometer-publisher.yaml
)。以下のパラメーターをparameter_defaults
に追加します。parameter_defaults: ManagePipeline: true ManageEventPipeline: true EventPipelinePublishers: - gnocchi://?archive_policy=high PipelinePublishers: - gnocchi://?archive_policy=high
カスタマイズしたオーバークラウドをデプロイします。オーバークラウドをデプロイするには、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 と呼ばれます。保管されたこのデータを使用して、システムの監視、パフォーマンスのボトルネックの特定、および将来的なシステム負荷の予測を行うことができます。
関連情報
- Gnocchi についての詳細は、「Gnocchi を使用したストレージ」を参照してください。
- collectd についての詳細は、「collectd のインストール」を参照してください。