OSProfiler を使用すると、OpenStack デプロイ内で主要サービスのトレースを有効にできます。トレースが有効な場合は、OpenStack 処理の一部であるすべての API、RPC、ドライバ、データベースの呼び出しの応答時間がキャプチャされます。

VMware Integrated OpenStack は Cinder、Glance、Heat、Neutron、および Nova のコマンドをサポートします。プロファイラのトレース データは Ceilometer または vRealize Log Insight に保存できます。

前提条件

  • Ceilometer を使用してトレース データを格納する場合は、Ceilometer を有効にします。Ceilometer コンポーネントの有効化を参照してください。

  • vRealize Log Insight を使用してトレース データを格納する場合は、vRealize Log Insight をデプロイして、構成します。vRealize Log Insightスタート ガイドドキュメントを参照してください。

手順

  1. OpenStack 管理サーバviouser としてログインします。
  2. デプロイで custom.yml ファイルを使用していない場合は、テンプレート custom.yml ファイルを /opt/vmware/vio/custom ディレクトリにコピーします。
    sudo mkdir -p /opt/vmware/vio/custom
    sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
  3. os_profiler_enabled パラメータのコメントを解除し、その値を true に設定します。
  4. os_profiler_hmac_keys のパラメータをコメント解除して、OSProfiler のパスワードを入力します。
  5. vRealize Log Insight を使用する場合は、os_profiler_connection_string パラメータをコメント解除して、その値を vRealize Log Insight サーバの場所に設定します。

    vRealize Log Insight サーバのアドレスを "loginsight://username:password@loginsight-ip" の形式で入力します。

    vRealize Log Insight デプロイに対して USER のロールを持つユーザーのユーザー名およびパスワードを指定します。

  6. 更新された設定をデプロイします。
    sudo viocli deployment configure

    設定をデプロイすると、OpenStack サービスが一時的に中断されます。

  7. vRealize Log Insight を使用する場合は、コントローラ ノードにログインし、OSPROFILER_CONNECTION_STRING 環境変数を手順 5 で使用した vRealize Log Insight サーバのアドレスに設定します。
    export OSPROFILER_CONNECTION_STRING="loginsight://username:password@loginsight-ip"

タスクの結果

これで、OpenStack コマンドのプロファイリングを有効にできるようになりました。--profile パラメータを指定して目的のコマンドを実行し、OSProfiler のパスワードを指定します。このコマンドを実行すると、プロファイリング トレースの UUID が出力されます。この UUID を使用して OSProfiler を実行し、レポートを作成します。例:

cinder list --profile osprofiler-password
osprofiler trace show --html profiling-uuid