動的ホスト・エージェントの更新の構成

Instana の動的ホストエージェントは、エージェント、センサー、ディスカバリーなどのバンドルの新しいバージョンに自動的に更新されます。 必要に応じて、希望する更新スケジュールを設定したり、特定のバージョンを固定したり、更新機能を完全に無効にしたりすることで、この更新を管理できます。

注: 自動更新は、 Instana の動的ホストエージェントにのみ適用されます。 静的ホストエージェントを使用する場合は、必要なホストエージェントパッケージをインストールして、手動でエージェントを更新する必要があります。 更新を行うには、 Ansible や Terraform などのツールをご利用いただけます。 静的エージェントと動的エージェントの違いに関する詳細については、 「ホストエージェントの種類」 を参照してください。

ダイナミックホストエージェントの自動更新では、エージェントバンドルのみが更新されます。 エージェントのブートストラップを更新するには、エージェントを手動で再インストールする必要があります。 必要なブートストラップの変更が確実に適用されるよう、定期的にエージェントを再インストールすることをお勧めします。 「 エージェントセクションの予定されている更新」を参照し、リスクを回避するために手動での更新を計画してください。

エージェントのバージョン更新設定

デフォルトでは、動的エージェントは毎日午前4時15分から午前4時45分の間に新しいバージョンの有無を確認します。 この自動チェックを、特定の頻度、時間、および曜日に実行するようにスケジュール設定できます。 エージェントに更新の確認を行わせたくない場合は、この機能を無効にすることもできます。 さらに、エージェントは、同期化されたリクエストによってネットワークが混雑するのを防ぐため、指定された期間内にランダムにバージョン確認と更新を実行します。 この期間は設定 jitter を使用して変更でき、エージェントが再起動する時間範囲を設定できます。

注: 重要なワークロードを実行している本番環境では、スケジュールされた更新は推奨されません。 この方法を選択する場合は、メンテナンス時間帯にスケジュールされた更新を実行し、その後ワークロードを再起動するようにしてください。

また、エージェントの更新時に本番環境でのリスクを最小限に抑えるため、特定の固定バージョンを使用するようエージェントを設定することもできます。 このアプローチにより、バージョン更新を完全に管理できるようになります。 「エージェントバージョンの固定」という更新戦略を使用することで、エージェントを手動で再インストールすることなく、特定の時点でエージェントが自動的に更新されるように設定できます。 このアプローチは、重要な本番環境において推奨されます。

エージェントの更新を管理し、バージョンを固定する手順は、エージェントがホスト環境に展開されているか、 コンテナ化された環境に展開されているかによって異なります。

注: 異なる環境に展開された複数のエージェントを実行しており、一元的なバージョン管理が必要な場合は、 「 Git を使用したエージェントの更新管理 」を参照してください。
注: 自動更新を無効にすることは推奨されません。 自動更新を無効にしても、エージェントは再起動時に最新バージョンに更新されます。 Kubernetes および Red Hat OpenShift の環境では、Pod が再起動されるたびに最新のエージェントバージョンが取得されます。 最新の更新プログラムや修正プログラムを確実に利用できるよう、エージェントのバージョンを6ヶ月以上固定しないことをお勧めします。

ホストエージェントの更新を制御する

ホストエージェントの自動チェックインのスケジュール設定を行うには、ファイル etc/instana/com.instana.agent.main.config.UpdateManager.cfg を開き、必要に応じて設定を変更してください。 以下の例を参照してください。

# Instana Update Manager configuration.
# AUTO for automatic updates with given schedule. OFF for no automatic updates.
mode = AUTO
# DAY for daily, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
every = DAY
# Time is hh:mm in 24 hours format.
at = 04:30
# Spread updates randomized over 30 minutes around the configured time
jitter = 30

エージェントのバージョンを固定し、今後のすべての更新を停止するには、起動前に ファイル *instanaAgentDir*/etc/instana/com.instana.agent.bootstrap.AgentBootstrap.cfg を開き、以下の設定を追加してください:

version = <sha or tag>

ここで sha 、 は 「Agent Updates」 リポジトリ( Git )内のエージェントバージョンのコミットのSHA値であり、 tag は 「Agent Updates - tags 」ページに記載されているエージェントバージョンのリリース識別子です。

コンテナ化されたエージェントにおける更新の管理

ホストエージェントの自動チェックインのスケジュール設定を行うには、以下の環境変数を使用する必要があります:

  • INSTANA_AGENT_UPDATES_FREQUENCY: バージョン確認と更新の頻度を指定します。 有効な値は (毎日更新)、 MONDAYTUESDAYWEDNESDAY THURSDAYDAYFRIDAY、、 SATURDAY または です SUNDAY。 コロンで区切って、複数のオプションを追加できます。
  • INSTANA_AGENT_UPDATES_TIME: バージョン確認と更新を実行する時刻を指定します。

エージェントのバージョンを固定し、今後のすべての更新を停止するには、環境 INSTANA_AGENT_UPDATES_VERSION 変数を使用し、 Git リポジトリ内のエージェントバージョンのコミットのSHA値を指定してください。

これらの環境変数に関する詳細については、 「ホストエージェントの環境変数」 を参照してください。

環境変数を設定するには、次のいずれかの方法を使用してください:

  • 環境変数の設定を、エージェントのカスタムリソースファイル内の spec.agent.env に保存し、次のコマンド instana-agent.customresource.yaml を実行して変更を適用してください:

    kubectl apply -f instana-agent.customresource.yaml
    
  • フラグ を使用して、コマンドライン --set agent.env.<ENVIRONMENT_VARIABLE>=<value> 上で直接設定を指定します。

現在のバージョンを取得する

以下のホスト・エージェント API エンドポイントは、ホスト・エージェントのコンポーネントのバージョンを提供します。

curl localhost:42699/version