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 のスタート ガイドドキュメントを参照してください。
手順
- OpenStack 管理サーバ に
viouser
としてログインします。
- デプロイで 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
- os_profiler_enabled パラメータのコメントを解除し、その値を true に設定します。
- os_profiler_hmac_keys のパラメータをコメント解除して、OSProfiler のパスワードを入力します。
- vRealize Log Insight を使用する場合は、os_profiler_connection_string パラメータをコメント解除して、その値を vRealize Log Insight サーバの場所に設定します。
vRealize Log Insight サーバのアドレスを "loginsight://username:password@loginsight-ip"
の形式で入力します。
vRealize Log Insight デプロイに対して USER
のロールを持つユーザーのユーザー名およびパスワードを指定します。
- 更新された設定をデプロイします。
sudo viocli deployment configure
設定をデプロイすると、OpenStack サービスが一時的に中断されます。
- 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