クラスタエージェントは AppDynamics コントローラから管理し、クラスタエージェントの有効化、無効化、設定、および削除を行うことができます。また、モニタする名前空間を変更することもできます。

コントローラで行われた設定変更は、クラスタエージェントにも適用されます。これらの変更には数分かかり、ステータスは進行状況インジケータで表示されます。

クラスタエージェントの概要の表示

[Controller UI ] パネルから次の手順に従います。

  1. 右上隅で [Settings] アイコン   > AppDynamics Agents をクリックします。
  2. [Cluster Agents] タブを選択し、クラスタのリストを表示します。デフォルトでは、すべてのエージェントが有効になっています。
    Cluster Agents tab
  3. クラスタエージェントをダブルクリックします。 現在の設定の [Cluster Agent Summary] を示すダイアログが表示されます。サマリーカードには、[Cluster Name]、[Kubernetes Version]、[Cluster ID] および現在モニタされている [Namespaces] が表示されます。[Namespaces] テーブルの右側には、名前空間で検索できる [Search] バーがあります。
    Cluster Agents Summary

  4. [X] をクリックして、[Cluster Agent Summary] カードを終了します。

クラスタエージェントの無効化

  1. リストからクラスタエージェントを選択します。
  2. [Disable] アイコン をクリックします。クラスタ名を選択して右クリックし、[Disable] を選択することもできます。
    エージェントが正常に無効になったことを確認するダイアログが表示されます。これらの変更には数分かかり、ステータスは進行状況インジケータで表示されます。エージェントを無効にすると、メトリックとイベントの報告またはポッドとコンテナのモニタは行われません。無効になっているエージェントを再度有効にすることができます。  
    Disable Cluster Agent

クラスタエージェントの有効化

  1. リストからクラスタエージェントを選択します。
  2. [Enable] アイコン をクリックします。クラスタ名を選択して右クリックし、[Enable] を選択することもできます。
    エージェントが正常に有効になったことを確認するダイアログが表示されます。これらの変更には数分かかり、ステータスは進行状況インジケータで表示されます。エージェントを有効にすると、メトリックとイベントの報告およびコンテナのモニタが行われます。
    Enable Cluster Agent

名前空間の編集

nsToMonitor または nsToMonitorRegex フィールドを使用して名前空間を変更できます。

次に、nsToMonitor フィールドを使用した一般的な名前空間の動作シナリオを示します。

  • クラスタエージェントの最初の登録が完了すると、クラスタエージェント YAML ファイルから名前空間が取得されます。
  • 最初の登録後、クラスタエージェントが再起動してコントローラが動作している場合は、コントローラ UI のユーザ名前空間設定が優先されます。
  • 最初の登録後、コントローラが再起動してクラスタエージェントが動作している場合は、コントローラ UI の名前空間に加えられた以前の変更内容が保持されます。
  • クラスタエージェントとコントローラの両方が再起動する場合は、名前空間が YAML ファイルから取得されます。

次に、nsToMonitorRegex フィールドを使用した一般的な名前空間の動作シナリオを示します。

nsToMonitorRegex フィールドを使用するには、コントローラバージョン 20.10 以降およびエージェントバージョン 20.9 以降を使用していることを確認します。

  • 最初の登録後、1 分ごとにエージェントは nsToMonitorRegex フィールドが名前空間に一致するかどうかチェックします。nsToExcludeRegex が指定されている場合、それらの名前空間はモニタ対象の名前空間から除外されます。

  • 名前空間構成がコントローラからモニタまたは無視される場合は、エージェント構成(クラスタエージェント YAML ファイル)よりも優先されます。したがって、名前空間が nsToExcludeRegex に構成されている正規表現を満たしているが、コントローラ構成ではその名前空間がモニタ対象の名前空間に含まれている場合、その名前空間はモニタされます。この名前空間をモニタ対象から除外するには、コントローラ構成で名前空間を削除する必要があります。このシナリオでは、エージェント構成とコントローラ構成の間に競合があるため、エージェント構成に関連する名前空間を追加または削除しても効果はありません。

  • エージェントが再起動すると、nsToMonitorRegex および nsToExcludeRegex フィールドは、コントローラで構成された名前空間とともにエージェント コンフィギュレーション ファイルから読み込まれます。

  • コントローラが再起動すると、コントローラ構成に含まれるモニタおよび無視される名前空間が保持され、エージェント構成とともに再適用されます。

  • エージェントとコントローラの両方が同時に再起動すると、nsToMonitorRegex および nsToExcludeRegex フィールドは、エージェント コンフィギュレーション ファイルから読み込まれます。モニタ対象の名前空間は、エージェント構成に基づいて決定されます。

  • 構成された正規表現に一致する新しい名前空間が追加されると、追加の構成なしで名前空間がモニタされます。同様に、構成された正規表現と名前空間が一致しない場合、その名前空間はモニタされません。

クラスタ内の名前空間は、次の方法で変更できます。

  • クラスタ エージェント コンフィギュレーション ファイルの名前空間の更新:クラスタエージェントを展開する前に、cluster-agent.yaml ファイル内の nsToMonitor または nsToMonitorRegex フィールドを変更します。nsToMonitor フィールドに記載されている名前空間は、最初の登録時にのみ考慮されます。登録後であっても nsToMonitorRegexフィールド(cluster-agent.yaml ファイル内)は更新できます。
    nsToMonitorRegex フィールドを使用して、モニタする名前空間の正規表現(regex)を指定できます。nsToMonitorRegex フィールドで指定された正規表現に一致する名前空間の一部をクラスタエージェントでモニタする必要がない場合は、nsToExcludeRegexnsToMonitorRegex とともに指定できます。たとえば、名前が exclude で始まる名前空間を除くすべての名前空間をクラスタエージェントがモニタする必要がある場合は、nsToMonitorRegex.*nsToExcludeRegex を ^exclude として指定します。

  • ユーザインターフェイスでの名前空間の編集:クラスタエージェントを展開した後に名前空間を編集します。展開すると、クラスタは AppDynamics エージェントやクラスタエージェントの下に表示されます。AppDynamics のブラウザベースの構成ユーザインターフェイスを開き、名前空間を編集します。

クラスタ エージェント コンフィギュレーション ファイルの名前空間の更新

クラスタ内の名前空間を更新するには、クラスタエージェントを展開する前に、cluster-agent.yamlnsToMonitor または nsToMonitorRegex フィールドを使用します。

cluster-agent.yaml ファイル内の nsToMonitor フィールドを使用して名前空間を更新しても、現在モニタされている名前空間は変更されません。ただし、nsToMonitorRegex を使用して名前空間を更新すると、現在モニタされている名前空間が変更されます。シナリオについては、「名前空間の編集」を参照してください。

クラスタエージェントポッドが予期せず再起動すると、コントローラに保存されている名前空間が優先され、保持されます。「クラスタエージェントのトラブルシューティング」を参照してください。

名前空間を更新するには、次の手順に従います。

  1. テキストエディタで cluster-agent.yaml ファイルを開きます。
  2. nsToMonitor フィールドを見つけます。

    nsToMonitor:
        "default"
        "appdynamics"

    または
    正規表現に基づいて名前空間を指定するには、nsToMonitorRegex フィールドを含めます。

    nsToMonitorRegex: <regular expression>
    nsToExcludeRegex: <regular expression> #This is an optional field

  3. 名前空間のリストを確認します。正しくない場合は、cluster-agent.yaml ファイル内の名前空間を追加または削除します。

  4. コマンド プロンプトを開きます。名前空間の変更を適用するには、次のように入力します。

    kubectl apply -f cluster-agent.yaml

  5. AppDynamics オペレータがモニタ対象の名前空間の値を登録していることを確認するには、次のように入力します。
    nsToMonitor フィールドを使用する場合:

    kubectl -n appdynamics describe cm cluster-agent-config | grep APPDYNAMICS_CLUSTER_MONITORED_NAMESPACES -A 2

    nsToMonitorRegex フィールドを使用する場合:

    kubectl-app describe cm cluster-agent-mon

次に、nsToMonitor の例で想定される出力を示します。

APPDYNAMICS_CLUSTER_MONITORED_NAMESPACES:
----
default

nsToMonitorRegex フィールドを使用する場合、nsToMonitor のデフォルト値は無視されます。

ユーザインターフェイスでの名前空間の編集

クラスタエージェントを展開すると、[Selected] 名前空間列に現在モニタされている名前空間が表示されます。クラスタから名前空間を編集するには、管理者権限を持っている必要があります。

  1. リストからクラスタをダブルクリックします。
  2. [Configure] アイコン をクリックします。
    [Edit Cluster Agent] ダイアログが表示されます。
    Edit Cluster Agent
  3. 名前空間を変更するには、対応するボックスをオンにして名前空間を選択します。 
  4. 目的の名前空間ボックスがオンになったら、矢印をクリックして、[Selected] 名前空間テーブルまたは [Available] 名前空間テーブルに移動します。 
  5. [OK] をクリックし、ダイアログボックスを閉じます。これらの変更には数分かかり、ステータスはバナー通知で表示されます。

cluster-agent.yaml ファイル内の名前空間を更新しても、現在モニタされている名前空間は変更されません。これにより、クラスタエージェントポッドが予期せず再起動した場合に、名前空間が保持されることが保証されます。クラスタエージェントのトラブルシューティング」を参照してください。

名前空間の追加または削除

クラスタから名前空間を追加または削除するには、次のように操作します。

  1. リストからクラスタをダブルクリックします。
  2. [Configure] アイコン をクリックします。
    Add or Remove Namespaces
  3. 名前空間を変更するには、対応するボックスをオンにして名前空間を選択します。Selected目的の名前空間ボックスがオンになったら、矢印をクリックして、[Available] 名前空間テーブルまたは [] 名前空間テーブルに移動します。
  4. [OK] をクリックし、ダイアログボックスを閉じます。これらの変更には数分かかり、ステータスは進行状況インジケータで表示されます。

モニタ対象の名前空間の削除

クラスタエージェントのモニタ対象名前空間を削除するには、次のように操作します。

  1. リストからクラスタをダブルクリックします。
  2. [Configure] アイコン をクリックします。[Edit Cluster Agent] ダイアログが表示されます。
  3. 対応するボックスをオンにして、名前空間を選択します。
  4. 矢印をクリックして、[Available] 名前空間または [Selected] 名前空間テーブルに移動します。
  5. Kubernetes クラスタから名前空間を削除します。

クラスタエージェントの削除

クラスタエージェントを削除するには、次のように操作します。

  1. 削除するクラスタエージェントの名前を選択します。
  2. [Delete] アイコン をクリックします。クラスタエージェントを削除するかどうかを確認するダイアログが表示されます。
  3. [Delete] をクリックします。クラスタエージェントを削除すると、すべての履歴データが失われます。

Delete Cluster Agent