クラスタの正常性のモニタリング

Cluster Dashboard では、クラスタの正常性を可視化して、パフォーマンスへの影響を迅速に判断できます。各ダッシュボードインジケータは、クラスタパフォーマンスのさまざまな側面に対応します。

重要な注意事項

  • [Cluster Inventory Dashboard] にマスターノードが 0(ゼロ)と表示される場合がありますが、これは想定内の動作です。オンプレミスのクラスタとは異なり、クラウドプロバイダーは Kubernetes プロジェクトとは別のペースで開発およびリリースし、個別に進化します。このマスターノード、または Amazon EKS、AKS、およびその他のクラウドベース環境またはクラスタ内のマスターノードの数によって、クラスタのマスターノードが非表示になります。報告されたクラスタの結果は、 コマンドで生成された結果に似ています。

  • クラスタレベルのリソース使用率メトリックは、各ポッドによって消費されるリソースの合計です。クラスタエージェントでは個々のポッドの合計を報告するため、これらのメトリック値が数十万に達することがあります。
  • ポッド使用率メトリックは、ポッド内で実行されている各コンテナの合計です。
  • ポッドの数とポッドの状態(実行中、保留中、削除済み、および失敗したポッド)のメトリックには、指定した期間における平均履歴値ではなく、リアルタイムの値が表示されます。「今」実行中のすべてのポッドが報告されます。

クラスタダッシュボード

コントローラからクラスタにアクセスするには、次の手順を実行します。

  1. [Servers > Clusters] を選択します。
  2. クラスタエージェントを選択し、ダブルクリックします。クラスタインターフェイスには、[Dashboard]、[Pods]、[Inventory]、および [Events] タブが表示されます。

ダッシュボード タブ

[ダッシュボード] タブ

  • Errors card各クラスタでモニター対象となる名前空間の円グラフが表示されます。
    • Errors:個々のポッドの [Errors](エラーイベント数)、[Evictions](削除されたポッド数)、および [Threats](削除脅威数)の数。
    • Pods by phase:さまざまな状態([Failed]、[Pending]、[Running]、[Succeeded]、[Unknown])にあるポッドの数。
    • Activity over period:[Running] のポッドの数、および所定の期間における [Pending] の状態を示す時系列グラフ。
  • Cluster Capacityスコアバーには [CPU]、[Memory]、および [Pods] が表示されます。緑色の線は容量の使用量を示します。ダッシュボードには、このクラスタのリソース容量を計画するために使用できるクラスタの [CPU]、[Memory]、[Pod] 容量の使用率が表示されます。
  • Issues card:次の情報が表示されます。
    • Pod issues:クラスタエージェントがポッドの再起動とエラーを監視する場合。
    • Image issues:イメージの取得とエラー。
    • Storage:エラーやクォータ違反などのストレージ容量に関する問題。
  • Utilization card:次の情報が表示されます。
    • CPU:要求、制限、および使用済み。
    • Memory:要求、制限、および使用済み。
    • PVCs:要求と容量。
  • Quotas cardそれぞれのクォータに関連するリソースの使用率(%)が表示されます。エージェントは、次のリソースを追跡します。
    • 使用済みの CPU 制限クォータの割合。
    • 使用済みのクォータのメモリ制限。
    • 使用済みの PVC クォータの割合。
    • 使用済みの CPU 要求クォータの割合。
    • 使用済みのメモリ要求クォータの割合。
    • 使用済みのストレージクォータの割合。

数字はクラスタ全体で累積されます。これらのインジケータを使用して、課されたクォータに基づいて特定のリソースの可用性を追跡し、クラスタ容量の計画で使用します。

[Pods] タブ

[Pods] タブで、さまざまな状態のポッドを表示してステータスの概要を共有します。この例では、Amazon EKS で実行されているポッドを示しています。すべてのポッドは、登録済みの [Namespace] および [Pod Name] に基づいて表示されます。

注: 終端されたポッドも Splunk AppDynamics コントローラから消去されるまで [Pods] リストに引き続き表示されますが、メトリックは更新されません。消去処理は定期的に自動実行されます。クラスタエージェントの管理

上部カードには、モニタ対象のポッドの概要と各クラスタでのポッドのステータスが表示されます。

  • Total Pods:モニタ対象のクラスタ内にあるポッドの合計数。
  • Running:実行状態のポッドの割合と数。
  • Pending:保留状態のポッドの割合と数。通常、保留中のステータスは問題を示します。Kubernetes のマニュアルを参照してください。
  • Evicted:消去されたポッドの割合と数。
  • Failed:エラーが発生したポッド割合と数。

[Namespace] または [Pod Name] に基づいて検索できます。

ポッドタグとラベルに基づいて、さらにフィルタ処理できます。

任意のポッドをダブルクリックして、[Pod Details] パネルを表示します。[Pod Details] パネルから、そのポッド、ポッドイベント、およびポッドのラベルおよびタグで実行されているコンテナを確認できます。ポッドの詳細パネル

クラスタエージェントは、ポッドを自動的に検出します。

  • ステータス
  • 名前空間
  • ポッド名
  • コンテナ ID
  • ホストまたはサーバ
  • CPU %(ポッド内で実行中のコンテナの合計)
  • メモリ MB(ポッド内で実行中のコンテナの合計)
  • 再始動

ポッドは、次の理由で削除されます。

  • 名前空間がモニタされていない場合。
  • ポッドがクラスタから削除された場合(失敗したポッドを除く)。
  • ポッド数がポッド制限を超えた場合。
  • ポッドがブロックリストに登録されている場合。

[Pod Details] パネル

[Pod Details] パネルには次のように表示されます。

  • Namespace:ポッドが実行されている名前空間。
  • Hostname:名前空間またはポッド名。
  • Pod Eventskubectldescribe pods コマンドから生成された最新のイベントのリスト。
  • Container(数):このポッドのコンテナ ID によって表示される実行中のコンテナのリスト。各コンテナをクリックすると、個々のコンテナメトリックが表示されます。
  • Tags: このポッドに指定される Kubernetes ラベル。

[Pod Details] パネル

[Container ID] をクリックすると、展開され、2 つのコンテナメトリック(CPU およびメモリの使用率)が表示されます。

コンテナのメトリック

[インベントリ(Inventory)] タブ

[Inventory] タブには、クラスタの高レベルのスナップショットまたはインベントリビューが表示されます。このタブにはクラスタの内容が表示されます。これにより、クラスタ内で実行されているアプリケーションのトラブルシューティングを行うことができます。

[Inventory] タブ

クラスタカードが次のように表示されます。

  • Cluster Name:クラスタの名前。
  • Kubernetes Version:クラスタで実行されている Kubernetes のバージョン。
  • Cluster ID:クラスタエージェントの ID。
  • Pods:モニタ対象ポッドの数。
  • Namespaces:モニタ対象名前空間の数。
  • Masters:マスターノードの数。
  • Workers:ワーカーノードの数。
  • Disk Pressure:クラスタ内のディスク負荷傾向のスニペット。
  • Memory Pressure:クラスタ内のメモリ負荷傾向のスニペット。

ポッドカードが次のように表示されます。

  • Pods by Phases:ポッドが実行中、削除中、保留中、または失敗かどうか。この数は、[Pod] タブで「実行中」状態のポッドと同じ数になります。
  • Privileged Pods:ポッドはルートとして動作します。
  • No Limits:開始するポッドに制限を指定できます。制限なしメトリックは、制限が定義されていないポッドの数を示します。
  • No Readiness Probe:準備状況をモニターするプローブを Kubernetes に設定した場合、値がここに表示されます。
  • No Liveness Probe:稼働状況をモニターするプローブを Kubernetes に設定した場合、値がここに表示されます。
  • Missing Dependencies - Config Maps & Secrets:ポッドが [Config Maps & Secrets] に依存している場合、それらの依存関係は失われています。
  • Missing Dependencies - Services:ポッドがいずれかのサービスに依存している場合、それらの依存関係は失われています。
  • Scaledowns:展開および ReplicaSets のスケールダウンの数。
  • Pod Kills:キルされたポッドの数。

Namespaces:検索バーから検索できる名前空間のリスト。

オブジェクトカードには次が表示されます。

  • Jobs:モニター対象となっている名前空間の合計ジョブ数、および失敗したジョブ数、アクティブなジョブ数、成功したジョブ数。
  • Deployments:モニタ対象となっている名前空間の展開数、および使用可能/使用不可の合計レプリカ数。
  • ReplicaSets:モニタ対象となっている名前空間の ReplicaSets 数、および使用可能/使用不可の合計レプリカ数。
  • DaemonSets:モニタ対象となっている名前空間の DaemonSets 数、および使用可能/使用不可/実行されなかった合計ポッド数。
  • StatefulSets:モニタ対象となっている名前空間の StatefulSets 数、および準備完了/未準備の合計レプリカ数。

サービスカードには、クラスタ全体の正常性が表示されます。

  • Services:モニター対象となっているサービスの合計数。
  • Endpoints:モニター対象となっているエンドポイントの合計数。
  • Readiness:準備完了の IP アドレスがないエンドポイントの数。
  • Orphans:IP アドレスがない孤立状態のエンドポイントの数。

[イベント(Events)] タブ

[Events] タブには、選択したクラスタに固有のクラスタイベントが表示されます。[Filters] を使用して、特定のイベントを表示できます。

Important Notes

  • The kubectl get nodes kubectl get nodes Cluster Inventory Dashboard may display 0 (zero) for Master Nodes; this is expected behavior. Unlike on-premises clusters, cloud providers develop and release at a different pace compared to the Kubernetes project and evolve independently. This master node, or a number of master nodes, in Amazon EKS, AKS, and other cloud-based environments or clusters, hides the master node of the cluster. The reported cluster results are similar to the results generated by the

  • Cluster-level resource utilization metrics are the sum of resources consumed by each of the pods. These metric values may reach hundreds of thousands because the Cluster Agent reports sums for individual pods.
  • Pod utilization metrics are the sum of each of the containers running within a pod.
  • Pod count and pod state (running, pending, evicted, and failed pods) metrics show real-time values (not historical values averaged over a designated period of time). Whatever pods are running "now", are reported.

Clusters Dashboard

To access your cluster from the Controller:

  1. Select Servers > Clusters.
  2. Select a Cluster Agent and double-click. The cluster interface displays the Dashboard, Pods, Inventory, and Events tabs.

Dashboard Tab

Dashboard tab

  • Errors card:Displays pie chart graphs for the monitored namespaces in each cluster:
    • Errors: Number of Errors(Error events count), Evictions(Evicted pods count), and Threats(Eviction threats count) for individual pods.
    • Pods by phase: Number of pods that are in various states: Failed, Pending, Running, Succeeded, and Unknown.
    • Activity over period: Time-series chart that shows the number of pods in Running, and Pendingstates for a given time period.
  • Cluster Capacity: Score bar displays CPU, Memory, and Pods. A green line indicates the capacity usage. The Dashboard indicates the percent usage of CPU, Memory, andPodcapacity of the cluster which you can use to plan the resource capacity for this cluster.
  • Issues card:Displays:
    • Pod issues: When a Cluster Agent observes pod restarts and errors.
    • Image issues: Image pulling and errors.
    • Storage: Storage capacity issues such as errors and quota violations.
  • Utilization card: Displays:
    • CPU: Requests, limits, and used.
    • Memory: Requests, limits, and used.
    • PVCs: Requests and capacity.
  • Quotas card: Displays % utilization of resources relative to the respective quotas. The Agent tracks these resources:
    • Percentage of CPU Limit Quota Used.
    • Memory Limit of Quota Used.
    • Percentage of PVC Quota Used.
    • Percentage of CPU Request Quota Used.
    • Percentage of Memory Request Quota Used.
    • Percentage of Storage Quota Used.

Numbers are cumulative for the entire cluster. Use these indicators to track the availability of specific resources based on the imposed quotas and use in cluster capacity planning.

Pods Tab

The Pods tab displays pods in various states and shares a high-level summary of their status. This example shows pods running in Amazon EKS. All pods are displayed based on their registered Namespace and Pod Name.

注: Terminated pods continue to display in the Pods list until they have been purged from the Splunk AppDynamics Controller, however, their metrics are not updated. Purging occurs automatically at regular intervals. See Administer the Cluster Agent.

The top card displays a summary of the monitored pods and their status in each cluster:

  • Total Pods: Total number of pods in the monitored cluster.
  • Running: Percentage and number of pods in a running state.
  • Pending: Percentage and number of pods in a pending state. Pending status normally indicates an issue. See Kubernetes documentation.
  • Evicted: Percentage and number of evicted pods.
  • Failed: Percentage and number of failed pods.

You can search based on Namespace or Pod Name.

You can further filter based on pod tags and labels:

Double-click any pod to display its Pod Details panel. From the Pod Details panel, you can review containers running in that pod, pod events, and pod labels and tags.Pod details panel

The Cluster Agent automatically detects a pod's:

  • Status
  • Namespace
  • Pod name
  • Container IDs
  • Host or server
  • CPU % (sum of running containers within the pod)
  • Memory MB (sum of running containers within the pod)
  • Restarts

Pods are deleted for these reasons:

  • When the namespace is un-monitored.
  • When pods are deleted from the cluster, except for the failed pods.
  • When the pod count exceeds the pod limit.
  • If the pod is blocklisted.

Pod Details Panel

The Pod Details panel displays:

  • Namespace: In which namespace the pod is running.
  • Hostname: Namespace or pod name.
  • Pod Events: List of the most-recent events generated from the kubectldescribe pods command.
  • Container(count): List of running containers displayed by Container ID in this pod. Click each container to display individual container metrics.
  • Tags: Kubernetes labels provided to this pod.

Pod Details panel

If you click the Container ID, it expands to display two container metrics: CPU and Memory Usage.

Container Metrics

Inventory Tab

The Inventory tab displays a high-level snapshot or inventory view of your cluster. It displays the contents of the cluster which enables you to troubleshoot applications running in the cluster.

Inventory tab

The Cluster card displays:

  • Cluster Name: Name of the cluster.
  • Kubernetes Version: Kubernetes version running on the cluster.
  • Cluster ID: ID of the Cluster Agent.
  • Pods: Number of monitored pods.
  • Namespaces: Number of monitored namespaces.
  • Masters: Number of master nodes.
  • Workers: Number of worker nodes.
  • Disk Pressure: Snippet of disk pressure trend in the cluster.
  • Memory Pressure: Snippet of memory pressure trend in the cluster.

The Pods card displays:

  • Pods by Phases: Whether a pod is running, evicted, pending or failed. This number is the same count as the pods in a "running" state in the Pods tab.
  • Privileged Pods: The pods run as root.
  • No Limits: You can specify limits to any pod that you are starting. The No Limits metric indicates how many pods do not have a limit defined.
  • No Readiness Probe: If you configured a probe in Kubernetes to monitor readiness, the values display here.
  • No Liveness Probe: If you configured a probe in Kubernetes to monitor liveness, the values display here.
  • Missing Dependencies - Config Maps & Secrets: If a pod is dependent on any Config Maps & Secrets, then those dependencies are missing.
  • Missing Dependencies - Services: If a pod is dependent on any Services, then those dependencies are missing.
  • Scaledowns: Count of scaledowns of your deployments and replicasets.
  • Pod Kills: Number of pods that were killed.

Namespaces: List of namespaces that you can search from the Search bar

The Objects card displays:

  • Jobs: Total number of jobs in the monitored namespaces, and the number of failed, active, and succeeded job counts.
  • Deployments: Number of deployments in monitored namespaces, and the total available and unavailable replica counts.
  • ReplicaSets: Number of replicasets in monitored namespaces, and the total available and unavailable replica counts.
  • DaemonSets: Number of daemonsets in monitored namespaces, and the total available, unavailable, and mis-scheduled pod counts.
  • StatefulSets: Number of statefulsets in monitored namespaces, and the total ready and not ready replica counts.

The Services card displays the health of the entire cluster:

  • Services: Total number of services being monitored.
  • Endpoints: Total number of endpoints being monitored.
  • Readiness: Number of endpoints without a ready IP address.
  • Orphans: Number of orphaned endpoints with no IP address.

Events Tab

The Events tab displays the cluster events that are specific to the selected cluster. You can use Filters to view any specific event.