Instana リモートエージェントのインストール

Instana のリモートエージェントを使用すると、 IBM Concert (CVE)、 IBM Turbonomic、あるいは DB2 など、リモート監視に対応しているシステムなど、標準の Instana エージェントをインストールできないシステムを監視することができます。 リモート監視では、エージェントのセンサーは、監視対象のシステム上でローカルに動作するのではなく、APIやインターフェースを介してネットワーク経由でこれらのシステムに接続します。

Instana のリモートエージェントは、現在、 Kubernetes の環境でのみサポートされています。

Instana エージェントとリモートエージェントのアーキテクチャの比較

Instana Agentと Instana のリモートエージェントアーキテクチャの比較

Instana エージェントは、クラスタ内の各ワーカーノードに1つずつエージェントを展開する DaemonSet, として実行されます。 したがって、すべてのエージェントは同じ設定(カスタムリソース)を共有します。 リモート監視センサーが設定されている場合、各エージェントは同一のセンサーを実行し、同じリモートシステムから同じデータを収集します。 クラスタが拡張するにつれて、すべてのノードからリモートシステムへの接続が重複して作成されるため、リソースの非効率的な使用やデータの重複が生じます。

Instana のリモートエージェントはデプロイメントとして実行されるため、各インスタンスには固有の設定が適用されます。 これにより、同じリモートシステムへの重複した接続が防止され、リモート監視中のリソースが効率的に使用されるようになります。

リモートエージェントのインストール

リモートエージェントは、 Instana エージェントオペレーターを使用して展開されます。 リモートエージェントのインストールおよび設定に関する詳細については、以下のセクションを参照してください:

注記:

  • Instana のリモートエージェントを再インストールする場合は、リモートエージェントのクラスタレベルのオブジェクトを含め、以前のインストールを完全に削除してください。 詳細については、 Kubernetes の「 Instana エージェントのアンインストール 」をご覧ください。

  • このオペレーターの新バージョンは、かなり頻繁にリリースされています。 修正、改善、新機能に関する最新情報を入手するには、オペレーターの最新版がインストールされていることを確認してください。 オペレータの最新バージョンを確認するには、 「現在のオペレータバージョン」 をご覧ください。

  • Instana のリモートエージェントは、Operatorバージョン v2.1.30 以降でサポートされています。

前提条件

Instana リモートエージェントをインストールする前に、 前提条件が満たされていることを確認してください。

Red Hat OpenShift にリモートエージェントをデプロイする際は、次のコマンドを実行して、リモートエージェントに対するセキュリティコンテキスト制約(SCC)の権限を追加する必要があります

oc adm policy add-scc-to-user anyuid -z instana-agent-remote -n instana-agent
 
注:Red Hat OpenShift では、 Instana エージェントがコンテナ内の特定のディレクトリへの読み書きを行うために、root権限が必要です。 root権限がないと、エージェントは正常に起動しません。 SCC anyuid はこの必要な許可を付与します。

operator を使用して、 Kubernetes にリモートエージェントをインストールする

Instana が提供する Kubernetes オペレーターを使用して、以下の手順でリモートエージェントをインストールできます:

注:Red Hat OpenShift をご利用の場合は、 OpenShift's Operator Lifecycle Management( OLM )を使用してオペレーターをデプロイできます。 Instana エージェントオペレーターは、 Red Hat カタログで入手可能です。 この方法を選択する場合は、手順1~3をスキップして、手順4に進み、カスタムリソースを設定してください。
  1. Instana UIのホームページで、 「エージェントとコレクター」 をクリックします。 [ Instana ] の [エージェント] タブで、 [エージェントのインストール] を選択します。

  2. エージェント展開カタログページで、 「 Kubernetes - Operator」 のタイルをクリックします。

  3. 以下のようにオペレーターをデプロイします。 このコマンドは最新のオペレーターをインストールします。

    kubectl apply -f https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yaml
     

    このコマンドを実行すると、オペレーターは名前空間内で稼働状態 instana-agentとなり、カスタム InstanaAgentInstanaAgentRemote リソースの作成を待機します。

    DockerHub および Red Hat レジストリにおける latestInstana エージェントオペレーターイメージのタグはサポートされていません。

    Instana エージェントオペレーターの新しいバージョンを入手するには、 オペレーターの「 YAML 」を、オペレーターの「 GitHub 」リリースページから最新バージョンに更新してください。

  4. 以下に用意されている「 YAML 」テンプレートをコピーして、カスタムリソースの YAMLinstana-agent-remote.yaml ファイルを作成・編集してください。

    注: センサーの設定は、この例にあるCVEセンサーのようにカスタムリソースの YAML ファイル内で直接指定することも、後述の Turbonomic センサーの例のようにセクション agent.configuration_yaml 内で指定することもできます。
    apiVersion: instana.io/v1
    kind: InstanaAgentRemote
    metadata:
      name: remote-agent
      namespace: instana-agent
    spec:
      zone:
        name: edited-zone # name of the zone of the host
      agent:
        key: replace-key # replace with your Instana agent key
        endpointHost: ingress-red-saas.instana.io # replace with your Instana endpoint
        endpointPort: "443"
        env: {}
        configuration_yaml: |
          # Remote Sensor Configurations
          # CVE
          com.instana.plugin.cve:
            enabled: true
            concert:
              base_url: '<INSERT_CONCERT_BASE_URL_HERE>'  # Concert base url
              instance_id: '<INSERT_INSTANCE_ID_HERE>'    # Concert instance id
              api_key: '<INSERT_API_KEY_HERE>'            # Concert API Key
              poll_rate: 10
     

    設定オプションについては、 「その他の設定オプション」 を参照してください。

  5. カスタムリソース YAML ファイルを適用します:

    kubectl apply -f instana-agent-remote.yaml
     

    ここで instana-agent-remote.yaml 、は InstanaAgentRemote カスタムリソースの YAML ファイルの名前です。

    オペレーターは、カスタムリソースの YAML ファイルから設定を取得し、 Instana リモートエージェントをデプロイします。

    リモートエージェントがインストールされました。 特定のプラグインの設定に関する詳細については、 「次の手順」 のセクションをご覧ください。

    リモートエージェントを更新するには、 「オペレーターのインストールを更新する」 を参照してください。

追加構成オプション

以下の追加設定オプションを参照してください:

  • エージェントのエンドポイントに TLS 暗号化を追加する場合は、既存のシークレットを使用するか、証明書と秘密鍵を使用してください:

    • 既存のシークレットを使用する

      TLS 暗号化には、kubernetes.io/tlsタイプの既存のシークレットを使用できます。 ただし、カスタムリソースの YAML ファイル内で agent.tls.secretName 指定する必要があります。

    • 証明書と秘密鍵を使用する

      証明書と秘密鍵は base64-encoded でなければなりません。 このバリアントを使用するには、カスタムリソースの YAML ファイルに以下のパラメータを追加してください:

      • agent.tls.certificate
      • agent.tls.key

      が設定されている agent.tls.secretName 場合、およびは無視 agent.tls.key されます agent.tls.certificate

  • (任意):以下の値を変更することができます:

    • agent.env: このフィールドを使用して、エージェントのプロキシ設定など、エージェント用の環境変数を指定します。 可能な環境値について詳しくは、エージェント構成を参照してください。 以下の例を参照してください。

      spec:
        agent:
          env:
            INSTANA_AGENT_TAGS: staging
       
    • agent.configuration_yaml: このフィールドを使用して、エージェントの設定ファイルを指定します configuration.yaml。 以下の例を参照してください。

      spec:
        agent:
          configuration_yaml: |
            # Example of configuration yaml template
            # Turbonomic
            com.instana.plugin.turbonomic:
              enabled: true
              host: '<INSERT_TURBONOMIC_SERVER_HERE>'  # Turbonomic Server Host or IP address
              target: '<INSERT_TURBONOMIC_TARGET_NAME>' # Name of the target (Instana Server) as configured in Turbonomic
              auth:
                username: <INSERT_USERNAME_OF_TURBONOMIC_SERVER_HERE>  # User must have administrator, deployer, or automator authority.
                password: <INSERT_PASSWORD_OF_TURBONOMIC_SERVER_HERE>
              tags:
                - 'turbonomic'
       

      詳細については、 「エージェント設定ファイルを使用したホストエージェントの設定」 を参照してください。