マイクロサービス・アプリケーションの使用
このトピックでは、 VMware Tanzu 向けの「 Instana Microservices Application Monitoring」 の使用方法について説明します。
「 Instana 」インフラストラクチャマップにおける VMware Tanzu 財団
Instana VMware Tanzu 向けのマイクロサービス・アプリケーション監視は、完全に自動化されています。 インストール後、 Instana エージェントは、 VMware Tanzu 基盤上のすべての対応仮想マシンに展開されます。
Instana のインフラストラクチャマップは、複雑または大規模な展開環境を把握するための強力なツールをエンドユーザーに提供します:
- Dynamic Focus は、複数のデータコンテキストを同時に検索できる、堅牢で本格的なエディタです。Dynamic Focus の使用方法の詳細については、 Dynamic Focus のドキュメント( Instana )をご覧ください
- グループ化とパースペクティブは、大規模なインフラストラクチャを管理しやすいグループに整理するための手法です。詳細については、インフラストラクチャマップでのグループ化とパースペクティブの使用方法に関する「 インフラストラクチャ監視 ( Instana )」のドキュメントを参照してください
「 Instana Microservices Application Monitoring for VMware Tanzu 」は、グループ化を容易にするため、デフォルトで以下のBOSH関連タグを提供しています:
agent_bosh_release_versionホストにデプロイされているBOSHリリースのバージョンを検索するためのショートカットを提供します。BOSHリリースは、 Instana の「Microservices Application Monitoring for VMware Tanzu 」バージョンと完全に同期してアップグレードされるため、 Instana の「Microservices Application Monitoring for VMware Tanzu 」の更新状況の把握が容易になりますbosh_deployment、bosh_availability_zone、bosh_instance_name、およびbosh_instance_idは、 VMware Tanzu のプロビジョニング層であるBOSH に精通している VMware Tanzu オペレーターにとって、一目でわかるデータです。
Instana ダッシュボードの使用方法の詳細については、 『 Instana 』のドキュメントを参照してください。
Cloud Foundry 『 Instana 』誌の「Application Perspectives」欄に掲載された事例
「 Instana Microservices Application Monitoring for VMware Tanzu 」タイルを使用して監視される VMware Tanzu 基盤上にデプロイされたアプリケーションは、自動的に監視され、そのパフォーマンス情報は Instana のダッシュボードで即座に確認できます。

BOSH デプロイメントの自動保守期間
Instana タイルは、 VMware Tanzu 基盤上で実行されているBOSHデプロイメントを自動的に検出し、メンテナンスウィンドウの自動作成、スケジュール設定、およびスケジュール解除を行います。 Instana の「メンテナンス Windows 」機能に関する詳細については、 「メンテナンス ウィンドウのスケジュール設定 」のドキュメントページをご覧ください。
このタイルの「自動メンテナンス( Windows )」機能を使用するには、以下の設定が必要です:
- 「バックエンド接続」> 「 API 」エンドポイント URL を、 Instana 内のテナント単位を指すように設定します。
- バックエンド接続 > 「 API 」トークンには、(少なくとも) 以下の
Configuration of custom alerts権限を持つ「 API 」トークンが必要です。 API トークンの詳細については、 トークンのドキュメントページを参照してください。
タイル設定の 「エージェントの自動設定」>「BOSH用の自動メンテナンスウィンドウ」 オプションで、自動メンテナンス機能( Windows )を無効にすることができます。
この変更を適用するには、 OpsManager で 「変更を適用」 を実行し、VM 用の「 VMware Tanzu Application Service」または「 VMware Tanzu Kubernetes Grid 」タイルを選択する必要があります。
BOSH デプロイメントに対するパイプラインのフィードバック
「 Instana 」タイルは、 VMware Tanzu 基盤上で実行されているBOSHデプロイメントを自動的に検出し、 Instana の「Pipeline Feedback」機能の一部 releases としてそれらを報告します。 「パイプラインフィードバック」機能の詳細については、 パイプラインフィードバックのドキュメントページをご覧ください。
BOSHデプロイメント向けの 「Pipeline Feedback」機能は、オプトイン方式です。 これを有効にするには、 OpsManager の「 Instana 」タイルの設定画面に移動し、 「Agent automatic configurations」> [Experimental] Pipeline Feedback for BOSH オプションを有効にしてください。 また、以下の設定が正しく構成されていることを確認してください。
- 「バックエンド接続」> 「 API 」エンドポイント URL を、 Instana 内のテナント単位を指すように設定します。
- バックエンド接続 > 「 API 」トークンには、(少なくとも) 以下の
Configuration of releases権限を持つ「 API 」トークンが必要です。 API トークンの詳細については、 トークンのドキュメントページを参照してください。
この変更を適用するには、 OpsManager で 「変更を適用」 を実行し、VM 用の「 VMware Tanzu Application Service」または「 VMware Tanzu Kubernetes Grid 」タイルを選択する必要があります。
BOSH Agent、Gorouter、およびその他のプロセスの監視
Instana Cloud Foundry および Kubernetes のコントロールプレーンにおいて、主要なプロセスのCPU、メモリ、ファイルディスクリプタの使用状況を、導入直後から自動的に監視します。 具体的には、次のとおりです。
- BOSH エージェント
- BOSH DNS
- Gorouter
- Cloud Controller
- kube-apiserver
- kube-controller-manager
- kube-scheduler

Instana を使用したマイクロサービスの監視方法について(詳細)
Instana の高度なトレースおよびモニタリング機能の使用方法の詳細については、 『 Instana 』のドキュメントを参照してください。
Cloud Foundry アプリケーションのデプロイ
「 Instana Microservices Application Monitoring for VMware Tanzu 」の目的は、 Cloud Foundry アプリケーションおよびそのサービスの監視を完全に自動化することです。この目標の達成に向けて取り組んでいますが、プッシュされる Cloud Foundry アプリケーションの種類によっては、場合によっては若干の設定作業が必要になることがあります。
Java アプリケーションのデプロイ
Java アプリケーションの監視は、 Instana エージェントによって完全に自動化されており、 Java アプリケーションを再起動することなく追跡します。
「 DotNet 」コア・ビルドパックを使用した DotNet コアアプリのデプロイ
「 Instana Microservices Application Monitoring for VMware Tanzu 」は、以下の手順に従うことで、 自己完結型ではないDotNet Coreアプリケーションの監視をサポートします
次のコマンドを実行して、 Cloud Foundry アプリケーションに Instana NuGetパッケージを追加します
dotnet add myproject.csproj package Instana.Profiler.Linux.Bundled.Refs公開する DotNet Core アプリケーションを準備します。
dotnet publish -c Release以下の環境変数をアプリケーション・マニフェストに追加します。
--- applications: - name: <application_name> path: bin/Release/netcoreapp3.1/publish/ env: CORECLR_ENABLE_PROFILING: 1 CORECLR_PROFILER: "{cf0d821e-299b-5307-a3d8-b283c03916dd}" CORECLR_PROFILER_PATH: "/home/vcap/app/instana_tracing/CoreProfiler.so" LD_LIBRARY_PATH: "/home/vcap/app/instana_tracing" DOTNET_STARTUP_HOOKS: "/home/vcap/app/Instana.Tracing.Core.dll"
変 path 数の値は、使用している.NET Core SDKや、フラグ -cdotnet publish -c Release を介してに指定された構成名によって変わる可能性があることに注意してください。この例では、 Releaseその構成名はです。
cf pushコマンドを使用して、 Cloud Foundry アプリケーションをプッシュします。cf push
上記の cf push コマンドは、アプリケーションの manifest.mf ファイルがコマンド cf push を実行したフォルダ内にあることを前提としています。 コマンド cf push をマニフェストファイルと組み合わせて使用する方法の詳細については、 「App Manifests を使用したデプロイ」 のページを参照してください。
Node.js ビルドパックを使用した Node.js アプリのデプロイ
instana_buildpack ビルドパックを使えば、コードベースを変更することなく、この設定を完全に自動化できます。必要な手順は、パッケージ @instana/collector を追加することだけです。詳細は、 Instana Node.js のドキュメントにある 「インストール 」のセクションをご覧ください。
Python ビルドパックを使用した Python アプリのデプロイ
instana_buildpack ビルドパックを使えば、コードベースを変更することなく、この設定を完全に自動化できます。Python Cloud Foundry アプリケーションをモニターするには、以下のステップを実行する必要があります。
instanaパッケージをrequirements.txtファイルに追加します。以下に示すように、値
instanaを持つAUTOWRAPT_BOOTSTRAP環境変数をアプリケーション・マニフェストに追加します。--- applications: - name: test-python-flask buildpacks: - python_buildpack env: AUTOWRAPT_BOOTSTRAP: instana
Ruby ビルドパックを使用した Ruby アプリのデプロイ
instana_buildpack ビルドパックを使えば、コードベースを変更することなく、この設定を完全に自動化できます。必要な手順は、この instana gem を追加することだけです。詳細は、 Instana ( Ruby )のドキュメントにある 「インストール 」のセクションをご覧ください。
Instana Cloud Foundry ビルドパック
instana_buildpack Cloud Foundry ビルドパックは現在 experimental 状況です。 instana_buildpack のデプロイメントは、タイルの「エージェントの自動構成」画面でオプトインできます。バージョン 1.177.0 以降、タイルは、Node.js、Python、または Ruby Cloud Foundry のアプリケーションの Instana セットアップを自動化する Cloud Foundry ビルドパックの instana_buildpack を統合しています。 instana_buildpack が Cloud Foundry アプリケーション・マニフェストでオプトインされると、Cloud Foundry アプリケーションが Instana でモニターされるようにするために必要なすべてのものをドロップレット (Cloud Foundry によって実行されるコンテナー・イメージ) に組み込むためのステージング・プロセスが自動的に構成されます。
instana_buildpack は、ロジックおよびリソースをステージング・プロセスに追加するいわゆる デコレーター・ビルドパックであり、Cloud Foundry アプリケーション・インスタンスを実際に起動する 最終 ビルドパックと一緒に使用する必要があります。 例えば、次のコマンド・ラインでは、instana_buildpack を使用して、Node.js アプリケーションのモニタリングを自動化しています。
cf push -b instana_buildpack -b nodejs_buildpack
次のように、アプリケーションの manifest.yml で複数のビルドパックを定義しても、同じことが実現できます。
---
applications:
- name: test-nodejs
buildpacks:
- instana_buildpack
- nodejs_buildpack
Cloud Foundry アプリケーションをプッシュする際に複数のビルドパックを使用する方法の詳細については、 「複数のビルドパックを使用してアプリをプッシュする」 のドキュメントを参照してください。
instana_buildpack ビルドパックをビルドパックのシーケンスの最後として使用しないでください。そうすると、ステージングエラーが発生します。VMware Tanzu Kubernetes Grid サポート
VMware Tanzu Kubernetes Grid (旧称: Pivotal Container Service (PKS) )は、あらゆるインフラ環境において迅速な成果、スケーラビリティ、および信頼性を実現するよう設計された、エンタープライズ向け Kubernetes プラットフォームです。 VMware Tanzu Kubernetes Grid に関する詳細については、「 VMware Tanzu Kubernetes Grid 」のページをご覧ください。
インストール
「 Instana 」の「 VMware Tanzu 向けマイクロサービス・アプリケーション監視」タイルでは、 VMware Tanzu Kubernetes Grid を完全にサポートしています。 「 VMware Tanzu 向け 『 Instana 』マイクロサービス・アプリケーション監視」のインストールおよび設定に関する手順については、『 VMware Tanzu 向け『 Instana 』マイクロサービス・アプリケーション監視』タイルのインストール方法に関するガイドを参照してください。
VMware Tanzu Kubernetes Grid がインストールされた基盤環境での展開後、 Instana の Kubernetes モニタリングは、 VMware Tanzu Kubernetes Grid Service Brokerによって作成されたすべての Kubernetes クラスタに自動的に展開されます。
Kubernetes 「 Instana 」タイルの展開以前に存在していたクラスターは、 Instana エージェントを受け入れるためにアップグレードする必要があります。 VMware Tanzu Kubernetes Grid を使用して Kubernetes クラスターをアップグレードする方法の詳細については、 「クラスターのアップグレード」 ページを参照してください。
構成
エージェントの設定は、BOSHおよび Kubernetes 上で実行されるエージェントに適用されます。エージェントレベルで設定可能な設定の概要については、「 VMware Tanzu 向け『 Instana マイクロサービス・アプリケーション・モニタリング』のインストールと設定 」のページを参照してください。
Kubernetes Instana 内のクラスタ
サポートされている他のすべての Kubernetes のバージョンおよびディストリビューションと同様に、 VMware Tanzu Kubernetes Grid を通じて作成された Kubernetes クラスタは、 Instana の「 Kubernetes 」ビューに表示されます。

他の Kubernetes ディストリビューションで利用可能なすべての機能は、 VMware Tanzu Kubernetes Grid でも利用可能です。 「 Instana 」タイルは、「 VMware Tanzu Kubernetes Grid 」タイルで設定されたPodセキュリティポリシーの設定に基づき、エージェントのデプロイを自動的に構成します。
「 Instana 」による「 Kubernetes 」の監視方法の詳細については、『 Instana 』ドキュメントの「 Kubernetes 」ページを参照してください。