Kubernetes モニタリングのインストールおよび設定

ご使用の Docker 環境から Kubernetes モニタリングをインストールして設定します。 このセクションで提供される YML コードには Deployment と Daemon のセットが含まれています。 ポッド コンテナは、特権モードで実行する必要があります。 続行する前に、ポッド コンテナを特権モードで実行するために必要なロールを Kubernetes 管理者から付与されていることを確認します。 詳細については、「Kubernetes」を参照してください。
apmdevops106
ご使用の Docker 環境から Kubernetes モニタリングをインストールして設定します。 このセクションで提供される YML コードには Deployment と Daemon のセットが含まれています。 ポッド コンテナは、特権モードで実行する必要があります。 続行する前に、ポッド コンテナを特権モードで実行するために必要なロールを Kubernetes 管理者から付与されていることを確認します。 詳細については、「Kubernetes」を参照してください。
インストールおよび設定
ご使用の環境に Kubernetes モニタリング拡張機能をインストールして設定します。
以下の手順に従います。
  1. イメージをダウンロードします。
    docker pull caapm/kubernetesmonitor:latest
  2. ご使用のプラットフォームに対応する YML ファイルを任意の場所にダウンロードします。
    • オンプレミスの CA Application Performance Management (APM)の場合、以下の
      caagent-kubernetesmonitor.yml
      ファイルを使用します。
      250
    • CA Digital Experience Insights Application Performance Management の場合、CA Digital Experience Insights インスタンスのインストール手順に含まれている
      caagent-kubernetesmonitor.yml
      ファイルを使用します。
  3. 以下の変数をセットアップ詳細に置き換えます。
    • (CA APM オンプレミス)
      [AGENTMANAGER_URL]
      エージェントまたは Enterprise Manager 接続の詳細 -
      IntroscopeAgent.profile
      で提供されている接続の詳細に似ています。
    • [KUBERNETES_CONNECTION_URL]
      Kubernetes 接続の詳細。 これらの詳細を取得するには、
      kubectl config view
      を実行します。
    • [APITOKEN]
      接続 URL の API トークン。 デフォルト ワークスペースでクラスタリーダ ロールを持つサービス アカウントを作成することにより、このトークンを取得できます。 詳細については、「API トークンの取得」を参照してください。
  4. (オプション) YML ファイルで指定されている環境変数に加えて、インフラストラクチャ エージェント プロファイル内のプロパティを使用して環境を設定します。 インフラストラクチャ エージェントのプロパティの詳細については、「インフラストラクチャ エージェント プロパティ リファレンス」を参照してください。
    インフラストラクチャ エージェント プロパティを環境変数として
    install.yml
    ファイルに渡すには、
    environment
    セクションの最後に追加します。 YML 形式では、プロパティ名に区切り文字「.」は使用できません。 プロパティ名のドットをアンダースコアに置き換える必要があります。 たとえば、エージェント名およびプロキシ サーバを設定するには、
    introscope.agent.agentName
    および
    introscope.agent.enterprisemanager.transport.http.proxy.host
    プロパティを以下のように使用します。
    env:
    - name: agentManager_url_1
    value: [AGENTMANAGER_URL]
    - name: connectionurl
    value: [KUBERNETES_CONNECTION_URL]
    - name: apitoken
    value: [APITOKEN]
    - name: type
    value: Kubernetes
    - name: HostMonitoring
    value: disabled
    - name: introscope_agent_agentName
    value: example_agent_name
    - name: introscope_agent_enterprisemanager_transport_http_proxy_host
    value: example_proxy_server.com
  5. (オプション)ホスト モニタをインストールすると、コンポーネント ビュー内のホスト関連情報には
    StorageName
    メトリックが含まれます。 UNIX または Linux システムでは、ストレージ フィルタを設定して、このメトリックに関連付けられているように表示されるマウント ポイントを設定できます。 ストレージ フィルタを設定するには、以下の環境変数を使用します。
    • storage_mount_filter
      StorageName
      メトリックの考慮対象から削除するマウント ポイントを指定するための変数。 1 行に 1 つのマウント ポイント、または 1 行に複数のマウント ポイントをカンマで区切って指定できます。
    • storage_outofbox_filter_enabled
      有効にされている場合、以下のマウントを除外する標準装備のフィルタ。
      • devicemapper/mnt
      • docker/containers
      • docker/devicemapper
      • docker/
      • kubelet/pods
      • openshift.local.volumes
      このフィルタはデフォルトで有効です。 無効にするには、その値を
      no
      に設定します。
    /host/home
    マウント ポイントは非表示にしますが、
    storage_outofbox_filter_enabled
    フィルタでリストされているすべてのマウント ポイントを含めて、標準装備のフィルタを無効化します。 これを行うには、以下のように YML ファイルの最初の環境変数セクションに環境変数を追加します。
    env:
    - name: containerflow
    value: enabled
    - name: agentManager_url_1
    value: [AGENTMANAGER_URL]
    - name: type
    value: Kubernetes
    - name: interval
    value: "120"
    - name: storage_mount_filter
    value: "/host/home"
    - name: storage_outofbox_filter_enabled
    value: "no"
  6. (オプション)以下の環境変数を使用して、インフラストラクチャ エージェントが実行される JVM の
    xms
    および
    xmx
    パラメータを設定できます。
      • MIN_HEAP_VAL_IN_MB
        デフォルト:
        256
      • MAX_HEAP_VAL_IN_MB
        デフォルト:
        512
    YML ファイルを使用して Java ヒープの値を更新できます。 例:
    env:
    - name: containerflow
    value: enabled
    - name: agentManager_url_1
    value: [AGENTMANAGER_URL]
    - name: type
    value: Kubernetes
    - name: interval
    value: "120"
    - name: MIN_HEAP_VAL_IN_MB
    value: "335"
    - name: MAX_HEAP_VAL_IN_MB
    value: "670"
  7. caagent-kubernetesmonitor.yml
    ファイルを保存します。
  8. ファイルを実行します。
    kubectl create -f caagent-kubernetesmonitor.yml
アンインストール
Kubernetes モニタリング拡張機能をアンインストールするには、以下のコマンドを実行します。
kubectl delete -f caagent-kubernetesmonitor.yml
API トークンの取得
API トークンは、サービスへのアクセスを要求しているアプリケーションの一意の識別子です。 YML ファイルには、接続 URL を認証するために Kubernetes によって生成された API トークンを含める必要があります。
caagent-kubernetesmonitor.yml
で必要な API トークンを取得します。
以下の手順に従います。
  1. Create a Service Account in the
    default
    ネームスペースでサービス アカウントを作成します。
    kubectl create sa caapm
  2. クラスタリーダ ロールを追加します。
    kubectl create clusterrolebinding cluster-read --serviceaccount=default:caapm --clusterrole=cluster-admin
  3. トークンを取得します。
    kubectl get secrets|grep caapm-token| cut -f1 -d " "|xargs kubectl describe secret | grep token
エージェント プロパティの使用
一部のエージェント プロパティには、エージェントの設定に使用できるエイリアスがあります。 以下の表の同じ行に記載されているプロパティの機能は同じです。 これらのプロパティは入れ替えて使用できます。
エイリアス プロパティ
説明
デフォルト値
docker.interval.seconds
間隔
com.ca.apm.kubernetes.monitor.polling.interval
データ収集のレポート間隔を設定します。
120 seconds
type
monitoring.type
com.ca.apm.docker.monitor.type
モニタリング タイプを設定します。
DockerMonitor
containerflow
com.ca.apm.docker.monitor.containerflow
Containerflow モジュールが有効か無効かどうかを示します。
enabled
connectionurl
KUBERNETES_CONNECTION_URL
com.ca.apm.kubernetes.monitor.connection.url
Kubernetes クライアントの接続 URL を示します。
空の文字列値
apitoken
com.ca.apm.kubernetes.monitor.api.token
Kubernetes クラスタに接続するために必要な API トークンを示します。
空の文字列値
k8s_username
com.ca.apm.kubernetes.monitor.username
クラスタ アクセス用の Kubernetes ユーザ名を示します。
空の文字列値
SHOW_METRICS_LEVEL
com.ca.apm.show.metrics.level
Kubernetes モニタリング用のメトリック レベルを示します。
設定可能な値:
full
または
minimum
minimum
DEFAULT_MAX_POD_INSTANCE
メトリック ツリーに表示されるインスタンスの最大数を設定します。 設定された最大値を超えるインスタンスは、メトリック ツリーの[InstanceDefault]ノードの下に表示されます。
デフォルト: 5
  • SHOW_METRICS_LEVEL が
    full
    に設定されている場合、または
    ReadyState
    1
    に設定されている場合、以下のメトリックが表示されます:
    ClusterMonitor
    Container State
    Containers Per Pod
    、および
    Total Containers Ready
  • SHOW_METRICS_LEVEL が full に設定されている場合、または
    Deployment Health
    1
    に設定されている場合、以下のメトリックが表示されます:
    ReadyState
    Available Replicas
    Desired Replicas
    、および
    UptoDate Replicas
    。これらのメトリックの詳細については、「Kubernetes モニタリング メトリック」を参照してください。