メインコンテンツまでスキップ

Resource Exception

Resource Exception画面では、照会期間中にメモリ・CPU制限で強制終了または追い出されたイベントを状態別の状況と時間帯別の推移で確認し、Event Listで個別イベントのリソース使用量と発生原因を照会できます。

左側メニューでKubernetes > Performance Analysis > Resource Exceptionを選択してください。

Resource Exception全体画面

画面はEvent Status、Event Trendチャート、Event Listの3領域で構成されます。

照会条件を設定する​

Periodで照会期間を指定し、Group byでCluster/Namespaceのどちらを基準に照会するかを選択します。Group byで選んだ値に応じて、その横のフィルターの順序がCluster、NamespaceまたはNamespace、Clusterに変わります。条件を変更した後、[Search]ボタンをクリックしないと新しい条件で再照会されません。

Event Statusで状況を把握する​

Event Statusドーナツチャートの横には、Allの全体件数とともにイベントの種類別件数・比率が表示されます。

  • 紫色(Container Limit): コンテナが設定されたメモリ制限に達して強制終了されたイベントです。
  • オレンジ色(Node Eviction): ノードのリソース不足でPodが追い出されたイベントです。

Container LimitまたはNode Eviction項目をクリックすると、Event Trendチャートで該当種類のみが強調表示されます。再度クリックするかAllをクリックすると、全体表示に戻ります。

Event Trendで時間帯別の発生推移を確認する​

Event Trendには、照会期間の時間帯別イベント発生件数が棒グラフまたは折れ線グラフで表示され、右上のBar/Lineトグルで形式を変更できます。

画面を最初に開くと、Event Listには"No data. Click the Bar/Line chart to check the data."という案内とともにリストが空になっています。チャートで特定の時間帯の棒や地点をクリックすると、その時間帯に発生したイベントがEvent Listに表示され、リストのタイトル横に照会された時間範囲が表示されます。

参考

グラフをクリックするたびに、その時点を基準としたツールチップが一緒に表示され、クリックした時間帯と種類別の発生件数をすぐに確認できます。

Event Listで個別イベントを確認する​

Event Listには、選択した時間帯のイベントがKilled Time、Event、Node、Controlled By、Namespace、Pod Name、Status、Container(Exit Code)、Application、Exception、RestartとともにWorking Set Memory (Gi)、Memory Used (Gi)、Memory Request (Gi)、Memory Limit (Gi)、Mem Usage/Request (%)、Mem Usage/Limit (%)、CPU Used (m)、CPU Request (m)、CPU Limit (m)、CPU Usage/Request (%)、CPU Usage/Limit (%)、CPU Node Alloc (%)などのリソース使用量列で表示されます。

Event Listリソース使用量列

このリソース使用量列で、イベントが発生したコンテナのメモリ・CPU使用量がリクエスト(Request)・制限(Limit)に対してどれだけ高かったかを併せて把握できます。

リスト上部のフィルター入力欄にテキストを入力すると、列の値を基準に素早くフィルタリングでき、入力欄左側のOR/ANDドロップダウンで複数のフィルター条件をどのように組み合わせるかを選択できます。リスト右上の[⋮]ボタンをクリックすると、Reset user data、Export to Excel、Column Listメニューが開きます。

Nodeクリック時の詳細パネルを確認する​

Nodeの値をクリックすると、画面右側にHistory Management詳細パネルが開きます。

Node詳細パネル - Summaryタブ

Summaryタブには、照会時点の前後1時間のResource Report(CPU/Memory Usage、Avg/Maxトグルで平均・最大値を切り替え)、System Config(Architecture、Image、Capacity Memory、Capacity CPU、Container Runtime、kubelet)、Status Timeline、Pod Timelineが表示されます。Pod Timelineでは、このノードに配置されたPodごとの実行区間を時間帯別の棒で確認できます。

Metricタブでは、CPU/Memory/Disk Used、Network Receive/Transmit(エラー含む)、Load 1/5/15minなどのノード指標を、イベント発生時点を基準線として併せて確認できます。

Eventクリック時の詳細パネルを確認する​

Eventの値をクリックすると、画面右側にInformation、Metric、Event History、Logタブで構成された詳細パネルが開きます。

Event詳細パネル - Informationタブ

Informationタブには、Related Resourcesにこのイベントが属するCluster、Nodeとともにnamespace → podへとつながるリソース関係図が表示され、その下のEvent InformationにType、Reason、Namespace、Object Name、Created Time、First Seen、Last Seen、Source、Messageが表示されます。Messageには、カーネルが記録したOOM Killの詳細ログがそのまま表示され、どのプロセスがどのような条件で終了したかを確認できます。

Event Historyタブでは、この対象に関連するContainerLimitReachedなどのイベントを時系列で確認でき、同じ原因の再発有無を素早く把握できます。

Event詳細パネル - Event Historyタブ

Logタブでは、関連ログを確認できます。ログ収集が設定されていない場合は、[Set Logging]ボタンとともに案内メッセージが表示されます。

参考

Nodeクリック時に開く詳細パネルとEventクリック時に開く詳細パネルは互いに異なる画面です — Nodeはノード自体のリソース・状態履歴を、Eventは個別イベントの発生原因と関連リソースを表示します。