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

Kubernetes アプリケーションのインストールとダッシュボードの表示

Kubernetes 用 Sumo Logic アプリケーションのインストール手順とダッシュボードの説明。

これで Kubernetes の収集のセットアップが完了したため、Kubernetes 用 Sumo Logic アプリケーションをインストールして、事前設定済みの検索やダッシュボードを活用できます。この検索やダッシュボードによって環境が視覚化されるため、全体的な使用状況をリアルタイムに分析できます。

ステップ 1: ソース カテゴリに対応するカスタム データ フィルタの決定

アプリケーションをインストールするとき、Kubernetes のログおよびメトリクスに対して Fluentd プラグインが生成したソース カテゴリに一致するカスタム データ フィルタを指定します。プラグインはソース カテゴリを動的に生成するため、ソース カテゴリは環境によって変わる可能性があります。このような理由から、Sumo でクエリを実行して、プラグインが生成したソース カテゴリを判別し、それに応じてカスタム データ フィルタを作成する必要があります。

Sumo Web アプリケーションの [Log Search (ログ検索)] タブで次のクエリを実行します。

_collector="<Collector Name>" | count by _sourceCategory

<Collector Name> は、Kubernetes のログの収集手順を実行したときに設定したホスト型コレクタの名前です。

次のような結果が表示されます。

以下の表の左側の列には、プラグインによって作成されたソースの一覧が表示されています。

  • 最初の 4 つのソースのカスタム データ フィルタ列には、上記のクエリ結果に基づいて、ソースのソース カテゴリに一致するフィルタが表示されています。上記で実行したクエリの結果を検証し、以下に示すフィルタが使用環境で作成されたソース カテゴリに一致しているかどうかを判断します。次の手順で値を指定するとき、必要に応じてフィルタを調整します。  

  • 最後の 2 つのソースのソース カテゴリ列には、次の手順でソースに設定する必要のあるソース カテゴリが示されています。

ソース カスタム データ フィルタ ソース カテゴリ
Kube Scheduler ログ ソース _sourceCategory=*kube/scheduler*  
Kube API Server ログ ソース _sourceCategory=*kube/apiserver*  
Kube Control Manager ログ ソース _sourceCategory=*kube/controller/manager*  
Kube-System Namespace ログ ソース _sourceCategory=*kube/system/*  
Kubernetes API ログ ソース   k8s/api
Kubernetes メトリクス ソース   kubernetes/metrics

ステップ 2: アプリケーションのインストール

App Catalog (App カタログ) から必要なアプリケーションを見つけて、インストールします。インストール前にアプリケーションに含まれているダッシュボードのプレビューを見たい場合は、[Preview Dashboards (ダッシュボードのプレビュー)] をクリックします。

  1. [App Catalog (App カタログ)] でアプリケーションを探して選択します。

  2. アプリケーションをインストールするには、[Add to Library (ライブラリに追加)] をクリックして、以下のフィールドに情報を入力します。

    1. App Name (アプリケーション名)。アプリケーションに既存の名前をそのまま使用することも、任意の名前を入力することもできます。


    2. Data Source (データ ソース)。下記で説明するように、一覧表示されているソースごとにカスタム データ フィルタまたはソース カテゴリを入力します。

      1. 「Kube Scheduler ログ ソース」の場合は、[Enter a Custom Data Filter (カスタム データ フィルタの入力)] を選択して、_sourceCategory=*kube/scheduler* フィルタか、使用環境のソース カテゴリに一致するフィルタを入力します。

      2. 「Kube API Server ログ ソース」の場合は、[Enter a Custom Data Filter (カスタム データ フィルタの入力)] を選択して、_sourceCategory=*kube/apiserver* フィルタか、使用環境のソース カテゴリに一致するフィルタを入力します。 

      3. 「Kube Control Manager ログ ソース」の場合は、[Enter a Custom Data Filter (カスタム データ フィルタの入力)] を選択して、_sourceCategory=*kube/controller/manager* フィルタか、使用環境のソース カテゴリに一致するフィルタを入力します。 

      4. 「Kube-System Namespace ログ ソース」の場合は、[Enter a Custom Data Filter (カスタム データ フィルタの入力)] を選択して、_sourceCategory=*kube/system/* フィルタか、使用環境のソース カテゴリに一致するフィルタを入力します。

      5. 「Kubernetes API ログ ソース」の場合は、[Source Category (ソース カテゴリ)] を選択したままにして、次のソース カテゴリを入力します。
        k8s/api か、使用環境のソース カテゴリに一致するソース カテゴリ。

      6. [Kubernetes Metrics Source (Kubernetes メトリクス ソース)] では、[Source Category (ソース カテゴリ)] を選択したままにしておき、次のソース カテゴリを入力します。
        kubernetes/metrics

    3. Advanced (詳細)。ライブラリ内の場所 (デフォルトはライブラリ内の [Personal (個人用)] フォルダ) を選択するか、[New Folder (新規フォルダ)] を選択して新しいフォルダを追加します。

    4. [Add to Library (ライブラリに追加)] をクリックします。

Kubernetes アプリケーションのダッシュボード

Kubernetes - Overview (概要)

kubernetes-overview.png

Masters (マスタ)。マスタの数。

Nodes (ノード)。任意のステータスのノード数。

Nodes Ready (準備完了ノード)。準備完了ステータスではないノード数。

Pods Scheduled (スケジュール済みポッド)。スケジュール済みポッドの数。

Nodes Not Ready (準備ができていないノード)。準備完了ステータスではないノード数。

Scheduled By Node (ノード別のスケジュール)。ノード別のスケジュール済みポッドの数。

Pods Scheduled By Namespace (名前空間別のスケジュール済みポッド)。名前空間別のスケジュール済みポッドの数。

Container by State (状態ごとのコンテナ)。コンテナとそのステータスを一覧表示します。

Pods by Phase (フェーズごとのポッド)。ポッドとそのステータス (Running (実行中)、Pending (保留中)、Succeeded (成功)、Failed (失敗)) を一覧表示します。

Pods Scheduled By Namespace (名前空間別のスケジュール済みポッド)。スケジュール済みポッドと関連する名前空間を表示します。

Pods Scheduled By Node (ノード別のスケジュール済みポッド)。スケジュール済みポッドと関連するノードを表示します。

Errors (エラー): スケジュール エラーの数を表示します。

Scheduling Details (スケジュールの詳細情報)。時間、名前空間、名前、理由、タイプなど、ポッドのスケジュールの詳細情報を表示します。

Kubernetes - Pods Level Metrics (ポッド レベルのメトリクス)

kubernetes-pod-level-metrics.png

CPU Usage by Pods and Namespace (ポッドと名前空間ごとの CPU 使用率)。ポットおよび名前空間別の CPU 使用量を表示します。

Top 10 Pods by Memory Usage (メモリ使用率ごとの上位 10 件のポッド)。最も多くのメモリを使用した 10 のポッドのメモリ使用量を表示します。

CPU Limit by Pods and Namespace (ポッドと名前空間ごとの CPU 制限)。CPU 制限が最も高い上位 10 件の名前空間とポッドの組み合わせを表示します。
Top 10 Pods by Memory Limit (メモリ制限ごとの上位 10 件のポッド)。メモリ制限が最も高い上位 10 件のポッドを表示します。

CPU Request by Pods and Namespace (ポッドと名前空間ごとの CPU リクエスト)。CPU リクエストが最も高く設定された上位 10 の名前空間/ポッドの組み合わせを表示します。

Top 10 Pods by Memory Request (メモリ リクエストごとの上位 10 件のポッド)。メモリ制限が最も高い上位 10 件のポッドを表示します。

Top 10 Pods by File System Usage (ファイル システム使用率ごとの上位 10 件のポッド)。最も多くの領域を使用した 10 のポッドのファイル システム使用量を表示します。

Top 10 Pods by File System Limit (ファイル システム制限ごとの上位 10 件のポッド)。ファイル システム制限が最も高い 10 のポッドを表示します。

Network (TX) Usage by Pod and Namespace (ポッドと名前空間ごとのネットワーク (Tx) 使用率)。ポッドおよび名前空間別の送信ネットワーク トラフィックを表示します。

Network (RX) Usage by Pod and Namespace (ポッドおよび名前空間別のネットワーク (RX) 使用量)。ポッドおよび名前空間別の受信ネットワーク トラフィックを表示します。

Kubernetes - Namespace Level Metrics (名前空間レベル メトリクス)

kubernetes-namespace-level-metrics.png

File System Usage (ファイル システム使用率)。名前空間別のファイル システム使用量を表示します。

Memory Usage (メモリ使用率)。名前空間別のメモリ使用量を表示します。

CPU Usage (CPU 使用率)。名前空間別の CPU 使用量を表示します。

Network (Tx, Rx) Usage (ネットワーク (Tx、Rx) 使用率) .名前空間別の送信/受信ネットワーク トラフィックを表示します。

Kubernetes - Cluster Level Metrics (クラスタ レベルのメトリクス)

kubernetes-cluster-level-metrics.png

Overall Cluster CPU Usage (全体的なクラスタ CPU 使用量)。クラスタの CPU メトリクス (avg(limit)、avg(request)、avg(usage)) を示す面グラフを表示します。

Overall Cluster Memory Usage (全体的なクラスタ メモリ使用量)。  クラスタのメモリ メトリクス (avg(limit)、avg(request)、avg(usage)) を示す面グラフを表示します。

Overall Cluster Network Usage (全体的なクラスタ ネットワーク使用状況)。クラスタのネットワーク使用状況メトリクス (sum(rx)、sum(rx_errors)、sum(tx)、sum(tx_errors)) を示す面グラフを表示します。

Overall Cluster File System Usage (全体的なクラスタ ファイル システム使用量)。クラスタのファイル システム使用量メトリクス (sum(limit) と sum(usage)) を示す面グラフを表示します。

Kubernetes - API Server (API サーバ)

kubernetes-api-server.png

Status Code Trend this Period (この期間のステータス コードの傾向)。API コールに対して返されたステータス コードの内訳を表示します。

Top 10 URLS with Problem Status Codes (問題ステータス コードを返す上位 10 の URL)。最も多くの 2xx 以外のステータス コードを返す 10 の API URL について、エラーの数と割合、およびステータス コードを表示します。
Top URLS with Non-200 (Non-200 を返す上位の URL)。最も多くのエラー コードを返した 10 の API URL のエラーの数を表示します。

Non-200 Total (Non-200 の合計)。non-200 ステータス コードの合計数を表示します。

Autoscaler Non-200 Status Outlier (オートスケーラの Non-200 ステータスの外れ値)。オートスケーラからの Non-200 ステータス コード数が移動平均を統計的に有意な量 (標準偏差 3) だけ上回ったタイムスライスを表示します。

Autoscaler URLs with Problem Status Codes (問題ステータス コードを返すオートスケーラ URL)。  Non-200 ステータス コードを返したオートスケーラ URL と、URL ごとの問題ステータス コードの数および問題ステータス コード全体に占める割合を示すドーナツ グラフを表示します。

Autoscaler Status Code Trend this Period (この期間のオートスケーラ ステータス コードの傾向)。一定期間にわたるタイプ別のステータス コード数を表示します。

Kubernetes - Kube System (Kube システム)

kubernetes-kube-system.png

System Message Breakdown (システム メッセージの内訳)。リソース別のシステム メッセージの内訳を示すドーナツ グラフを表示します。

Message Breakdown by Container (コンテナ別のメッセージの内訳)。コンテナ別のシステム メッセージの内訳を示すドーナツ グラフを表示します。

Pod and Container Running in Kube System (Kubu システムで実行されているポッドとコンテナ)。kube-system 名前空間で実行されているポッド、および各自そのシステムで実行されているコンテナの一覧を示すテーブルを表示します。

Error Messages (エラー メッセージ)。エラー メッセージと、それぞれに関連する重大度とリソースを示すテーブルを表示します。

Kubernetes - Controller Manager

kubernetes-controller-manager.png

Scale Up Operations (拡大操作)。レプリカ セットによって発生した拡大操作と、追加されたレプリカの数を示す折れ線グラフを表示します。

Top 10 Scale-Ups (上位 10 の拡大)。  

Full Scale Downs (完全な縮小)。レプリカがゼロになるまで縮小されたレプリカ セットと、縮小が発生した回数を示すドーナツ グラフを表示します。

Event Severity Trend (イベントの重大度の傾向)。一定期間における重大度別のメッセージ数を示す折れ線グラフを表示します。

Event Severity by Resource (リソース別のイベントの重大度)。重大度とリソース別にメッセージ数を示す水平棒グラフを表示します。

Error Message Counts (エラー メッセージ数)。リソース別に重大度レベルが "E" のメッセージ数を表示します。

Event Severity by Resource (リソース別のイベントの重大度)。重大度とリソース別にメッセージを示す水平棒グラフを表示します。

Kubernetes - Node Overview (ノードの概要)

kubernetes-node-overview.png

Node Info (ノード情報)。クラスタ内のノードに関する情報をテーブルで表示します。

Node Capacity (ノード容量)。クラスタに含まれるノードのリソース容量に関する情報 (cpu_capacity、memory_capacity、および pods_capacity) を示すテーブルを表示します。

Node Allocatable Resources (ノードに割り当て可能なリソース)。クラスタに含まれるノードに割り当て可能なリソースに関する情報 (cpu_allocatable、memory_allocatable、pods_allocatable) を示すテーブルを表示します。

Pods Scheduled (スケジュール済みポッド)。クラスタでスケジュールされているポッド数を表示します。

Scheduling Details (スケジュールの詳細情報)。スケジュール済みポッドのスケジュールの詳細を示すテーブルを表示します。CPU Usage by Node (ノード別の CPU 使用量)。クラスタに含まれる各ノードの CPU メトリクス (avg(allocatable)、avg(utilization)、avg(capacity)、avg(reservation)) を表示します。

Memory by Node (ノード別のメモリ)。クラスタに含まれる各ノードのメモリ メトリクス (avg(allocatable)、avg(utilization)、avg(capacity)、avg(reservation)) を表示します。

File System Usage by Node (ノードごとのファイル システム使用率)。クラスタに含まれる各ノードのファイル システム メトリクス (avg(limit) と avg(usage)) を表示します。

Network Usage by Node (ノードごとのネットワーク使用率)。クラスタに含まれる各ノードのファイル ネットワーク使用状況メトリクス (avg(rx)、avg(rx_errors)、avg(tx)、avg(tx_errors)) を表示します。

Kubernetes - Scheduler

kubernetes-scheduler.png

Message Severity Trend (メッセージ重大度の傾向)。各重大度レベルのメッセージ数をタイムスライス単位で表示します。重大度は "i"、"e"、または "w" になります。

Message Source Trend (メッセージ ソースの傾向)。各重大度レベルのメッセージ数をソース別に表示します。

Sources by Warnings Trend (警告別のソースの傾向)。重大度レベル "w" のメッセージ数をソース別に表示します。

Warnings (警告)

Top 10 Warnings this Period (この期間の上位 10 の警告)。最も頻繁に発生した 10 の警告メッセージと、各メッセージが発生した回数を示すテーブルを表示します。

Scheduling Trend (スケジュールの傾向)。正常にスケジュールされたポッドの数と、スケジュールが失敗したポッドの数を示す折れ線グラフを表示します。

Successful Scheduling Outlier (正常なスケジュールの外れ値)。ポッドの正常なスケジュールの外れ値を表示します。

Pods Failing Scheduling (ポッドの失敗したスケジュール)。正常にスケジュールされなかったポッドの傾向線をポッド名ごとに表示します。

Top Reasons for Scheduling Fail (スケジュールが失敗した上位の原因)。ポッドのスケジュールが失敗した上位 10 の原因と、原因ごとの失敗の回数を示すテーブルを表示します。

  • この記事は役に立ちましたか?