Cloud Foundry へのホスト・エージェントのインストール
Cloud Foundry に Instana ホストエージェントをインストールして設定するには、 Instana エージェントのBOSHリリースをダウンロードし、そのリリースをBOSHディレクターにアップロードし、 Instana UAAクライアントを作成し、BOSHアドオンを設定します。
サポートされるバージョン
cf-deploymentv3.0 そしてその後- BOSHのディレクター: v255.4 およびそれ以降
サポートされる stemcell
BOSHリリースを使用して Instana エージェントをデプロイする
Instana エージェントのBOSHリリースのダウンロード
_ を、パスワードには有効なエージェント・キーを使用してください。 Instana のUIにあるダウンロードリンクには、ユーザー名とエージェントキーが事前に入力されていますので、そのままご利用いただけます。Instana エージェントのBOSHリリースをダウンロードするには、以下の手順に従ってください:
Instana UIのホームページで、 「エージェントとコレクター」 をクリックします。 [ Instana ] の [エージェント] タブで、 [エージェントのインストール] を選択します。
注:Instana の新しい試用インスタンスを起動する場合、エージェントカタログが表示され、インストールするホストエージェントを選択するよう求められます。タイル Cloud Foundry および BOSH をクリックします。
手順 1: ダウンロードしたい Instana エージェントのBOSHリリースを入力してください。
利用可能なBOSHのリリースを確認するには、 Artifactory の公開リポジトリにログインし、リリースディレクトリをご覧ください。
ステップ 2: 「instana-agent」リリース・アーカイブをダウンロードします。
BOSH Director への Instana エージェント BOSH リリースのアップロード
エージェント・リリース・アーカイブがダウンロードされたら、以下のコマンドを実行して、それらを BOSH Director にアップロードします。
bosh upload-release <path/to/agent-bosh-xyz.tar.gz>
Instana エージェントのランタイム構成の適用
Instana エージェントのBOSHリリースを組織全体に展開するには、BOSH ランタイム構成を使用してください。
Instana エージェントのBOSHリリースをすべてのデプロイメントに展開するには、以下の手順に従ってください:
以下のように、
yml文書で、ユース・ケースに適合する(REQUIRED)および(Optional)のマークが付いたフィールドの値を入力します。ランタイム構成を BOSH Director にアップロードするために、
bosh update-runtime-configコマンドを実行します。 ランタイム構成が更新されると、すべてのデプロイメントが古いものと見なされます。各デプロイメントに対して次回
bosh deployを実行したときに、Director によってランタイム構成の変更がそのデプロイメントに適用されます。releases: - name: instana-agent version: # (REQUIRED) Fill in the value with the actual release version. # For example, if you downloaded the file # agent-bosh-1.157.31.tar.gz, the right value is: 1.157.31 addons: - name: instana-agent-infrastructure jobs: - name: instana-agent release: instana-agent properties: tanzu: foundation: id: # (REQUIRED) A technical ID to identify this foundation name: # (REQUIRED) A name to identify this foundation instana: agent: &agent-configuration mode: INFRASTRUCTURE endpoint: # (REQUIRED) Instana ingress endpoint, e.g., ingress-red-saas.instana.io endpoint_port: # (Optional) Instana ingress endpoint port, default is 443 key: # (REQUIRED) Fill this with the agent key for your Instana tenant unit download_key: # (Optional) Download key for downloading agent updates. # This is necessary only in special cases, like running a private update repository. # If not specified, the agent will fall back to the value 'instana.agent.key'. zone: # (Optional, not advised) the name of the zone of the host. # If unspecified, the value of `tanzu.foundation.name` will be used instead. # (Optional) Add further configurations for the Agent's configuration.yaml files. # Activate support for the JREs used in the latest Java buildpacks custom_configuration: | # (Optional) Add more environment variables to be passed to the Instana agent. # Experimental flags of the Instana agent are activated using environment variables. # It is not advised to use these settings unless instructed by Instana's support. # Each environment variable must be entered in a text line. # This entire stanza can be omitted if there is no proxy between the Instana agents and the Instana backend environment: | USE_ATTACH_TOOLS=true proxy: type: # (Optional) Type of proxy to be used by the agent to connect to the Instana backend. # Valid values are 'http' (works also for HTTPS proxies), 'socks4' and 'socks5'. # Default is to use no proxy. host: # (Optional) Hostname of the proxy server, e.g., 'my.proxy' (without protocol). # This property is required if a value is set for 'instana.agent.proxy.type', and ignored otherwise. port: # (Optional) Port of the proxy server. # This property is required if a value is set for 'instana.agent.proxy.type', and ignored otherwise. user: # (Optional) User to be used to authenticate against the proxy server. # Default is not to use authentication. # This property is ignored if 'instana.agent.proxy.type' has no value set. password: # (Optional) Password to be used to authenticate against the proxy server. # Default is not to use authentication. # This property is ignored if 'instana.agent.proxy.type' or 'instana.agent.proxy.user' have no value set. dns: # (Optional) If set to 'true', DNS will be used to resolve the proxy address. # Default is 'true'. # This property is ignored if 'instana.agent.proxy.type' has no value set. updates: mode: dynamic # Whether the agent should update itself dynamically ("dynamic") or not ("static", default). # Default is dynamic. dynamic: repository: hostname: artifact-public.instana.io # The hostname of the repository to tap for updates to agent and sensors. # The agent will connect to the repository on port 80 and 443. version: # (Optional) Which version of the updates pack to use without further updates (version pinning). # This setting overrides 'instana.agent.updates.dynamic.frequency' and 'instana.agent.updates.dynamic.time'. frequency:# (Optional) How often to update the agent. # Valid values are "DAY" (default, means daily updates), "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" and "SUNDAY". # Default is 'DAY'. time: # Time of day when the update is executed, expected in hh:mm format in UTC. # Default is '04:30'. include: stemcell: &supported-linux-stemcells - alias: ubuntu-trusty os: ubuntu-trusty - alias: ubuntu-xenial os: ubuntu-xenial - alias: ubuntu-bionic os: ubuntu-bionic - alias: centos-7 os: centos-7 exclude: jobs: - name: garden release: garden-runc - name: instana-agent-apm jobs: - name: instana-agent release: instana-agent properties: instana: agent: <<: *agent-configuration mode: APM include: jobs: - name: garden release: garden-runc stemcell: *supported-linux-stemcells
エージェントの更新に関するポリシーの詳細については、「 エージェントのバージョン管理と更新管理 」のドキュメントページをご覧ください。
ホストエージェントの状態を確認する
ホストエージェントをインストールした後、 Instana のUIまたはホスト上で、ホストエージェントのステータスを確認できます。 詳しくは、 ホスト・エージェントの状況の確認を参照してください。
Cloud Foundry センサーの構成
Instana エージェントは、 Cloud Foundry ( API )から、 Cloud Foundry のアプリケーション、スペース、および組織に関するデータを取得することができます。 Instana は、この情報を使用して以下のような Cloud Foundry 関連機能を強化します。
- Cloud Foundry ダッシュボード、
- Cloud Foundry アプリケーション名に基づくサービス・マッピング (「 Service Mappings: Predefined Rules」を参照してください。
Cloud Foundry application nameを参照してください)。 - インフラストラクチャマップへの Cloud Foundry アプリケーションの統合に関するいくつかの側面( ダイナミックフォーカスやグループ化など)。
構成されていれば、どの Instana エージェントも Cloud Foundry API から必要なデータを収集できます。 ただし、 いつでもデータを収集するために推奨されるのは 1 つのエージェントのみですです。 タイルを使用すると、自動的に 1 つの Instana エージェントが収集を行います。これは、複数の Instana エージェントをホット・スタンバイ状態にして Cloud Foundry API データを収集できるようにするリーダーシップ選出メカニズムによって透過的に実現しています。これにより、例えば BOSH デプロイメントのローリング更新などでデータが継続的に取得されるようになります。 ただし、BOSH を使用して Instana エージェントを直接デプロイする場合は、Cloud Foundry センサーのセットアップを明示的に構成する必要があります。これは以下の方法で実行できます。
- 推奨: Cloud Controller 仮想マシン上で実行中の Instana エージェントに、BOSHランタイム設定を通じて Cloud Foundry ( API )のデータを収集させる
- Cloud Foundry API からデータを収集するように特別に構成された Instana エージェントを実行する専用の
instance_groupBOSH インスタンスを起動する
クラウドコントローラーマシンへの共置
以下の実行時設定により、Cloud Controllerの各インスタンス上で実行されている Instana エージェントが、 Cloud Foundry API のデータを収集できるようになります。また、 この ZooKeeper リリースで提供されるリーダーシップ選出メカニズムを通じて、どの Instana エージェントがどのタイミングでデータを収集するかを調整します:
releases:
- name: instana-agent
version:# (REQUIRED) Fill in the value with the actual release version.
# For example, if you downloaded the file
# agent-bosh-1.157.31.tar.gz, the right value is: 1.157.31
- name: zookeeper
version: "0.0.10"
url: "https://bosh.io/d/github.com/cppforlife/zookeeper-release?v=0.0.10"
sha1: "a6d227abceebf1e3e68ce4a3cabf68b0b93165d2"
addons:
- name: instana-cf-sensor
jobs:
- name: instana-agent-configuration-cf-sensor
release: instana-agent
properties:
tanzu:
foundation:
id: # (REQUIRED) A technical ID to identify this foundation
name: # (REQUIRED) A name to identify this foundation
cf:
uaa:
client: # (REQUIRED) A UAA client that has the 'cloud_controller.admin_read_only' authorities
client_secret: # (REQUIRED) Client secret matching the above client
- name: zookeeper
release: zookeeper
properties:
leader_serves: "yes"
# 42600 is the legacy leadership election port and we wanna avoid incompatibilities over update
leader_election_port: 42601
quorum_port: 42602
include:
jobs:
- name: cloud_controller_ng
release: capi
この実行時設定によると、 Instana エージェントには、 Cloud Foundry のユーザーアカウントおよび認証(UAA) に対して cloud_controller.admin_read_only 権限を持つクライアントが必要です。このクライアントは、以下のいずれかの方法で作成できます:
- Cloud Foundry のドキュメントにある 「UAA CLI(UAAC)を使用したユーザーの作成と管理」 のページに示されている手順に従い、手動で行います。
- 推奨:
instana-agentBOSH リリースのinstana-ensure-uaa-clientジョブを使用して自動的に作成する。この場合、以下の BOSH ランタイム構成を追加で使用します。
releases:
- name: instana-agent
version:# (REQUIRED) Fill in the value with the actual release version.
# For example, if you downloaded the file
# agent-bosh-1.157.31.tar.gz, the right value is: 1.157.31
addons:
- name: instana-ensure-uaa-client
jobs:
- name: instana-ensure-uaa-client
release: instana-agent
properties:
cf:
uaa:
client: # (REQUIRED) This entry must match the one of the `cf.uaa.client` property of the `instana-cf-sensor` runtime configuration
client_secret: # (REQUIRED) This entry must match the one of the `cf.uaa.client_secret` property of the `instana-cf-sensor` runtime configuration
include:
jobs:
- name: uaa
release: uaa
instana-ensure-uaa-client ジョブを使用する推奨の方法には、UAA client を誤って削除しても自動的に再作成されるという追加の利点があります。 注意点として、instana-ensure-uaa-client を uaa ジョブが実行される仮想マシンに配置して、この仮想マシンで利用可能な資格情報を使用できるようにする必要があります。
専用のインスタンス・グループ
専用の BOSH インスタンス・グループを作成して、Cloud Foundry センサーを実行するように構成された専用の Instana エージェントをデプロイすることが可能です。 ただし、コンピューティング・リソースがかなり無駄になるため、これはお勧めできません。センサーの作業は軽量であり、そのために専用の仮想マシンを割り当てるのは過剰です。 いずれにしても、以下のランタイム構成では、専用の仮想マシンが 1 つ含まれたインスタンス・グループを生成します。
---
name: instana-cf-sensor
stemcells:
- alias: &stemcell_name bosh-aws-xen-hvm-ubuntu-xenial-go_agent
os: ubuntu-xenial
version: "621.29"
releases:
- name: instana-agent
version: <instana-agent-bosh-release-version>
instance_groups:
- name: instana-cf-sensor
azs: ...
instances: 1
jobs:
- name: instana-agent-configuration-cf-sensor
release: instana-agent
properties:
cf:
api:
url: <TODO> # e.g., https://api.sys.mypcf.qainfra.instana.io
uaa:
url: <TODO> # e.g., https://uaa.sys.mypcf.qainfra.instana.io
client: <TODO>
client_secret: <TODO>
vm_type: t3.micro
stemcell: *stemcell_name
networks:
# Your network setup may look different
- default:
- dns
- gateway
name: instana-cf-sensor
update:
canaries: 1
canary_watch_time: 30000-300000
max_errors: 2
max_in_flight: 1
serial: false
update_watch_time: 30000-300000
注:
- このインスタンス・グループには 1個のインスタンスが含まれています。 グループ内のインスタンスを複数に増やしてローリング更新間の回復力を確保するには、
ZooKeeperジョブを同じ名前のZooKeeperリリースからマシンに追加でデプロイする必要があります。instana-agent-configuration-cf-sensorは、( BOSH リンクを介して) リーダーシップ選択メカニズムの存在を自動的に検出し、それを透過的に採用します。 - UAA API と Cloud Foundry API の URI を手動で構成する必要があります。 つまり、技術的にはこのデプロイメントを Cloud Foundry デプロイメントが使用するものとはまったく別のネットワーク、さらにはアベイラビリティー・ゾーンで実行できます。
- Cloud Foundry のドキュメントにある 「UAA CLI (UAAC) を使用したユーザーの作成と管理 」のページに示されているように、権限
cloud_controller.admin_read_only発行機関(AIA)でUAAクライアントとそれに対応するクライアントシークレットを作成する必要があります。
Instana エージェント・ランタイム構成の削除
Instana ランタイム構成を削除するには、bosh update-runtime-config コマンドを実行して以下をアップロードします。
releases: []
addons: []
ランタイム構成を更新すると、各デプロイメントで次回 bosh deploy を実行したときに Instana エージェントの BOSH リリースが削除されます。 すべてのデプロイメントが更新されて Instana エージェントの BOSH ジョブが削除されたら、bosh clean-up コマンドを実行して、不要になったリリースとその成果物を BOSH Director から削除することをお勧めします。
エージェントの展開に関するトラブルシューティング
エージェントのインストールに失敗した場合は、ログメッセージやトラブルシューティングのヒントを確認してください。 このトラブルシューティングの手順で問題が解決しない場合は、 IBM ( Instana )のサポートチームに、発生した状況の詳細をお知らせください。 この情報は、お客様へのサポートやドキュメントの改善に役立てられます。
すべてのホストエージェントに共通するトラブルシューティングに関する情報については、 「トラブルシューティング」 を参照してください。