Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OpenStack の Contrail Insights のインストールと設定

OpenStack 入門

Contrail Insights は、 OpenStack クラスター内のホストと仮想マシンのリソース制御と可視化を提供します。このトピックでは、OpenStack クラスターに Contrail Insights をインストールする方法について説明します。Contrail Insights Agent はホスト上で実行され、ホスト自体とそのホストで実行されている仮想マシンのリソース消費を監視します。 図 1 に、OpenStack を使用した Contrail Insights のアーキテクチャを示します。

図 1: OpenStack Contrail Insights Architecture with OpenStack を使用した Contrail Insights アーキテクチャ
  • Contrail Insights Agent は、コンピューティング ノードのリソース使用状況を監視します。

  • Contrail Insights Platform には、システムを設定するための REST API が用意されています。

  • Contrail Insights DataManager には、複数のエージェントからのデータが保存されます。

  • Contrail Insights ダッシュボードは、Web ベースのユーザー インターフェイスを提供します。

  • アダプターは、プラットフォーム固有のリソースを検出し、Contrail Insights プラットフォームを設定します。

  • OpenStack および Kubernetes 用のアダプタが存在します。

要件

Contrail Insights for OpenStack をインストールするための要件は以下の通りです。

  • サポートされているOpenStackバージョン:Icehouse、Juno、Kilo、Liberty、Mitaka、Newton、Ocata。

  • ソフトウェア要件およびハードウェア要件については 、Contrail Insightsの一般要件 をご覧ください。

  • OpenStack の管理者アカウント。

  • OpenStackサービスへのAPIアクセス:Cinder、Glance、Heat、Keystone、Neutron、Nova、SwiftContrail Insights はこれらのサービスから情報を読み取ります。管理者アカウントは、読み取り専用 API 呼び出しに対して十分なアクセス許可を提供する必要があります。さらに、Contrail Insights プラットフォームは、これらのサービスがリッスンするホストとポートへの接続を開くことができる必要があります。Contrail Insights は、 admininternal、または public のサービス エンドポイントを使用するように設定できます。 OS_ENDPOINT_TYPE OpenStack 環境変数の「Contrail Insights のインストール」セクションを参照してください。

  • メモ:

    アップグレードのお知らせ:Contrail Insights 3.2.6 以降、ライセンス ファイルの要件はなくなりました。3.2.6 より前のバージョンをインストールする場合は、インストール前にライセンスが必要です。

    ライセンス キーは 、mailto:APPFORMIX-KEY-REQUEST@juniper.net から取得できます。リクエストには、次の情報を入力してください。

3 つのステップのワークフロー

インストールは次の手順で構成されます。

  1. OpenStack を設定します。

  2. Ansibleインベントリを作成します。

  3. Contrail Insights をインストールします。

OpenStack の設定

Contrail Insights の管理者アカウントを作成するには、OpenStack Horizon ダッシュボードで以下のステップを実行します。

  1. ユーザー アカウントを作成し、 appformix という名前を付けます。

  2. ユーザー アカウントの新しいプロジェクトを選択します。

  3. [ 管理者としての役割] を選択します。

Ansibleインベントリの作成

Ansibleは、コンピューティングノードとプラットフォームホストにソフトウェアを展開するために使用されます。Ansibleインベントリ ファイルには、クラスタ内のホストのグループが記述されます。リリース ファイルとは別の場所にインベントリを定義して、インベントリをアップグレードに再利用できるようにします。

Contrail Insights を使用するには、2 つのグループの コンピューティングappformix_controllerが必要です。各グループには、そのグループ内のホストが一覧表示されます。 エージェントのみがコンピューティング ホストにインストールされます。エージェントと Contrail Insights プラットフォーム サービスが appformix_controller ホストにインストールされます。

オプションで、 openstack_controller グループを定義できます。エージェントは、OpenStack コントローラサービスを実行するホストを監視するために、このグループのホストにインストールされます。(v2.3.0の新機能)

ファイルとgroup_vars/allファイルを含むhostsディレクトリinventory(または選択した名前)を作成します。例えば:

この inventory/hosts ファイルには、各グループのホストのリストが含まれています。例えば:

Ansibleインベントリのドキュメントを参照してください。

Ansible構成変数

Contrail Insights ソフトウェアには、Contrail Insights の設定を実行するための Ansible ロールが多数含まれています。将来のアップグレードで設定とインベントリを使用できるように、ファイル内の inventory/group_vars/all 変数の値を定義します。

inventory/group_vars/allこのファイルで、OpenStack 向け Contrail Insights をインストールするための以下の変数を設定します。

インターネットからファイルをフェッチできないプラットフォームホストに依存関係をインストールする手順については、「 プラットフォームの依存関係 」を参照してください。

前提条件を取得するための HTTP プロキシの構成

Ansibleプレイブックは、プラットフォームホストに前提条件をインストールするためにインターネットからファイルをフェッチします。プラットフォームホストがインターネットにアクセスするために HTTP プロキシを必要とする場合は、 で inventory/group_vars/all次の変数を構成します。

prerequisites_envは、必須コンポーネントをインストールするコマンドを呼び出すときに使用される環境変数を定義するディクショナリです。上記の例では、単一のプロキシを使用して HTTP および HTTPS URL にアクセスできるため、 と の両方の環境変数にhttp_proxyhttps_proxy同じプロキシ URL(http://proxy.example.com:1234)が使用されています。便宜上、プロキシ URL は変数でhttp_proxy_url一度定義されます。必要に応じて、ネットワークのプロキシ要件に合わせて調整prerequisites_envします。

Contrail Insightsのインストール

Contrail Insights をインストールするには、次の手順に従います。

  1. Contrail InsightsプラットフォームノードにAnsibleをインストールします。Ansibleは、プラットフォームにdockerとdocker-pyをインストールします。

    メモ:

    RHEL の場合、ポート 9000 にアクセスするには次の IPtables ルールが必要です。

  2. 次のコマンドを使用して、計算ノードにインストールします libvirt

    これにより、KVM (カーネルベースの仮想マシン) と、計算ノードで実行されている仮想マシンからデータを収集するための関連パッケージがインストールされます。

  3. Contrail Insights Agent が実行されているコンピューティングノードで、Python virtualenv がインストールされていることを確認します。

  4. パスワードレスログインを有効にして、AnsibleでContrail Insightsプラットフォームノードがノードにエージェントをインストールできるようにします。Ansible プレイブックが実行されているノードに SSH 公開キーを作成し、そのノードにキーをコピーします appformix_controller

  5. この Sample_Inventory ファイルをテンプレートとして使用して、ホスト・ファイルを作成します。

  6. インベントリ ファイルにリストされているすべてのホストが Contrail Insights プラットフォームから到達可能であることを確認します。

  7. ディストリビューションの最上位に、という名前の group_varsディレクトリを作成します。

  8. Contrail Insights インストール パッケージをソフトウェア ダウンロードから Contrail Insights プラットフォーム ノードにダウンロードします。次のファイルを取得します。

    3.2.6 より前のバージョンをインストールする場合は、Contrail Insights ライセンス ファイルを Contrail Insights プラットフォーム ノードにコピーします。

  9. ディレクトリに group_vars 、. allという名前のファイルを作成します。以下を追加します。

    3.2.6 より前のバージョンをインストールする場合は、Contrail Insights ライセンス ファイル group_vars/allへのパスを に含めます。

  10. Contrail Insights は、OpenStack クラスターと通信するように設定する必要があります。Ansibleプレイブックでは、OpenStack環境変数を使用して、OpenStack環境の詳細とともにContrail Insightsを設定します。

  11. openrc(手順 10) 環境変数を含むファイルをソース化し、変数が Ansible プレイブックの実行元のシェルの環境にあることを確認します。次に、プレイブックを実行して appformix_openstack.yml Contrail Insights をインストールします。前に作成したディレクトリへのinventoryパスを指定します。

  12. Contrail Insights ダッシュボードをウェブブラウザで開きます。例えば:

    インストールをスキップ」 を選択すると、初期構成はステップ 10 で OpenStack 環境変数を使用して Ansible によって実行されました。OpenStack Keystone の認証情報を使用して Contrail Insights ダッシュボードにログインします。

追加のAnsible構成

追加のAnsible構成をセットアップするには:

  1. Keystone SSL 対応クラスターにインストールするには、ファイルに以下の変数を含めます group_vars/all

    Contrail Insights Ansible はこの Keystone CA をすべての Contrail Insights Platform ノードに配布し、SSL を有効にしたこの CA ファイルを使用して Keystone と通信するよう Contrail Insights コンポーネントに要求します。

    メモ:

    廃止のお知らせ: appformix_mongo_cache_size_gb Contrail Insights 2.19.5 以降で使用可能だったパラメータは廃止され、Contrail Insights 3.2.0 以降ではサポートされなくなります。Contrail Insights バージョン 3.2.0 以降、Mongo は Contrail Insights Platform ノードで使用可能なメモリの最大 40% を使用するように設定されます。

  2. クラスターでネットワーク デバイスの監視を有効にするには、ファイルに次の情報を含めます group_vars/all

  3. Contrail Insights 認定プラグインをクラスターにインストールするには、ファイルに次の変数 group_vars/all を含めます。

    例えば:

    インストール可能なすべての Contrail Insights 認定プラグインのリストについては、 ファイルroles/appformix_defaults/defaults/main.ymlで始まるエントリplugin_infoを探します。

    OpenStack ログパーサープラグインは、各 OpenStack サービスの API ログファイルを解析して、API 呼び出しとレスポンスステータスコードに関するメトリクスを収集します。これらのプラグインをインストールするには、上記のように のgroup_vars/all変数appformix_openstack_log_pluginsに追加します。このリストの各プラグイン エントリでは、呼び出されlog_file_pathるパラメーターを指定する必要があります。このパラメーターは、OpenStack Controller ノード上のサービスの API ログファイルへの完全なパスに設定する必要があります。複数のコンマ区切りパスを指定できます。

    log_file_path指定する適切なログ ファイルを特定するには、クライアント IP アドレス、REST 呼び出しの種類、応答状態コードを含む次のようなエントリを探します。

    これらのファイルのデフォルトの場所は、 のroles/appformix_defaults/defaults/main.yml変数appformix_openstack_log_factory_pluginsにリストされています。

  4. Contrail Insights バージョン 2.19.8 では、OpenStack サービスに接続するためのタイムアウト値を設定できます。このタイムアウトのデフォルト値は秒で10、 と20秒(両方を含む)の値5に変更できます。値を変更するには、次の変数group_vars/allを に追加します。

    Contrail Insights プラットフォームのインストール後にタイムアウト値を変更するには、上記の説明に従って変数 group_vars/all をファイルに追加し、Contrail Insights インストール プレイブックを再実行します。プレイブックの完了後に appformix-openstack-adapter Docker コンテナーを再起動します。

アップグレードに関する通知

メモ:

Contrail Insights バージョン 3.2.0 では、OpenStack Octavia Load Balancer サービスの検出のサポートが追加されました。Contrail Insights は、 や などのprovisioning_statusoperating_statusロード バランサーの状態情報とフレーバー情報のみを収集します。このサービス検出を有効にするには、Octavia サービスのエンドポイントをgroup_vars/allファイル内の変数appformix_octavia_endpoint_urlとして指定します。例えば:

チャージバック コストは、Octavia ロード バランサー サービス用に構成することもできます。「 ロードバランサーのコストの設定」を参照してください。

作成したインベントリ ファイルで Ansible を実行します。

メモ:

Contrail Insights バージョン 3.0 では、この変数appformix_openstack_factory_pluginsは非推奨になりました。すべての OpenStack ログパーサープラグインは、変数 appformix_openstack_log_pluginsで指定する必要があります。古いバージョンからバージョン 3.0 にアップグレードする場合は、 または appformix_plugins appformix_openstack_log_pluginsappformix_openstack_factory_plugins定義されているすべての OpenStack ログパーサープラグインを に移動してください。また、Contrail Insights バージョン 3.0 では、上記の手順 3 で説明したように、このリストのすべてのエントリを値でlog_file_path指定する必要があります。

バージョン 2.18.x からバージョン 3.0 にアップグレードする場合は、ファイルに次の変更を加え group_vars/all ます。

バージョン 2.18.x では、次のようになります。

バージョン 3.0.x の場合:

openrc OpenStack コントローラノード(/etc/contrail/openstackrc)から Contrail Insights Platform ノードにファイルを入手し、コントローラサービスに対する管理者権限にアクセスするためのアダプタを認証します。ファイルは次のようになります。

作成したインベントリ ファイルで Ansible を実行します。

Contrail Insights からのノードの削除

Contrail Insights からノードを削除するには、次の手順に従います。

  1. インベントリ ファイルを編集し、Contrail Insights から削除する各ノードに追加します appformix_state=absent

  2. 編集したインベントリ ファイルで Ansible を実行します。これにより、ノードとそのすべてのリソースが Contrail Insights から削除されます。

OpenStack クラスター向け Contrail Insights のアップグレード

Contrail Insightsは、新しいリリースのプレイブックを実行すること appformix_openstack.yml で簡単にアップグレードできます。インストールと同じ手順に従います。

OpenStack クラスターからの Contrail Insights のアンインストール

Contrail Insights をアンインストールしてすべてのデータを破棄するには、次のコマンドを実行します。