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

ラボ 1 - Kubernetes Collector の変更

はじめに

Sumo Logic では、ユーザが Kubernetes のデータを分析するとき、キーと値のペアを使用して独自のカスタム メタデータによってログにラベルを付けることができるため、ログを簡単に検索できます。このラボでは、Kubernetes データにキーと値のペアを設定し、使用する方法について説明します。また、クエリ結果のこれらのフィールドに、フィールド ブラウザを使用して Kubernetes ラベルによってアクセスおよび表示する方法について説明します。

Collector へのキーと値のペアの追加とメタデータの確認

  1. 左側のナビゲーション ペインで [Manage Data (データの管理)] をクリックします。

    右下にある [Collection (コレクション)] をクリックします。システムで利用可能なすべてのデータの Collector が開かれます。

    Screen Shot 2019-09-04 at 3.00.18 PM.png

    [Source Category] というラベルの付いた 4 番目の列を見てください。多くのメタデータ名の書式に、sec/aws/elb や sec/aws/vpc/flows などの階層構造が使用されています。このベスト プラクティスとして、一般的な名称から始めて、より具体的な名称を加えていくように命名することをお勧めします。  これには、環境がどのように構築されているかを熟知している必要があります。 

  2. 次に、Kubernetes アプリケーションを使用して、ソース レベルでキーと値のペアを定義するフィールドを追加できます。そのフィールドは、検索したり、パーティション定義や RBAC クエリで使用したりできます。

  3. では、このやり方について確認しましょう。まず、ラボの Kubernetes ソースを表示します。[Collection (コレクション)] タブの一番上に、検索用の虫めがねアイコンが表示されています。虫めがねの右側に移動し、「Labs - Kubernetes」と入力します。

  4. [Labs - Kubernetes (ラボ - Kubernetes)] をクリックします。ポップアップ ウィンドウが表示されます。
    Screen Shot 2019-09-04 at 3.53.29 PM.png

  5. [Fields (フィールド)] の右側で、[+ Add Field (+ フィールドを追加)] をクリックします。 
  6. 最初のフィールド ボックスに、「user###」と入力します。2 番目のフィールド ボックスに、「username ###」と入力します (### は、割り当てたユーザ名の番号です)。 
    EditCollector.png
  7. これはトレーニング環境であり、人数が多いため、実際には追加しません。カスタム メタデータは管理者がセットアップする必要がありますが、通常は 1 回だけで済みます。このウィンドウをキャンセルしてください。[Cancel (キャンセル)] をクリックします。

Kubernetes Collector のキーと値のペアは、検索、パーティション、およびロールベース アクセス制御 (RBAC) クエリで使用できます。これはとても便利です。この Collector で収集されるすべてのログ データで、このキーと値のペアが自動的に継承されるようになります。受信するすべてのデータにラベルを付けることができ、_sourceCategory に制限されることがなくなります。  Kubernetes ユーザとして、発生する事象に関するメンタル モデルを持ち、アーキテクチャに関連する命名規則を取り入れることができます。  ユーザは、コンテナ ベースのまったく新しい方法でデータにアクセスできるようになります。

メタデータの操作

Kubernetes には多くのメタデータが用意されています。それらにより、調査したい Kubernetes の部分ごとに検索できるようになります。コンテナやポッドごとに検索ができ、参照する名前空間を調べることができます。キーと値のペアでメタデータを設定することによって、ログ データの検索が大幅に簡単になります。また、クエリ結果のこれらのフィールドに、フィールド ブラウザを使用して Kubernetes ラベルによってアクセスおよび表示する方法について説明します。

メタデータを使用してそれらの Kubernetes コンポーネントを参照するには、次の手順を実行します。

  1. [Home (ホーム)] ページで [+New (+ 新規)] をクリックしてクエリを開きます。

    NewExplore.png
  2. [Log Search (ログ検索)] を選択します。 
  1. メタデータの名前空間を指定し、「namespace=sumologic」と入力します。

  2. クエリを実行するには[Start (開始)] をクリックします。
    image11.png

  3.  [Messages (メッセージ)] タブの [Hidden Fields (隠しフィールド)] で、[namespace] を有効にします。Kubernetes アプリケーションによって、多数のメタデータがある環境が [Hidden (非表示)] フィールドに設定されます。それらのフィールドは [Display Fields (表示フィールド)] に簡単に表示できます。 

  4. さらに、Kubernetes ラベルに簡単にアクセスでき、キーと値ペアを取得できます。Prometheus コンテナを参照する場合は、「container=prometheus」と入力します。

  5. 問題が発生した時刻は正確にはわかりませんが、過去 1 時間以内に発生したものと思われます。過去 15 分から過去 60 分に変更しましょう。[-15m] をクリックして、[Last 60 Minutes (過去 60 分間)] を選択します。 
    Screen Shot 2019-09-05 at 5.01.31 PM.png

  6. メタデータを使用することで、必要な情報にすばやくアクセスし、特定の Kubernetes ログ ファイルデータを簡単に見つけることができます。このコンテナをさらに調査するために、共通のメッセージを logreduce でグループ化できます。[LogReduce] をクリックします。これにより、共通のログ メッセージがシグネチャのグループにまとめられます。 

  7. 問題のトラブルシューティングを行う際には、多くの場合、根本原因が少ない情報量のデータに含まれています。ここで、[Select Count (カウントの選択)] の下に表示されるシグネチャの少数の集合について詳しく確認します。[Select Count (カウントの選択)] で、[1] をクリックします。

    Screen Shot 2019-09-04 at 10.04.56 PM.png[Endpoints ended with: too old resource version (エンドポイントが終了したバーション: リソースのバージョンが古すぎます)] を示した警告が表示されています。これは、何らかの調査を行うことが望ましいものか、単純にアップグレード中であることを示しています。

  8. 現在、[Time (時間)][Message (メッセージ)] フィールドのみを監視しています。さらなる確認のために、Kubernetes コンポーネントを表示するには、それらのボックスを選択して有効化します。namespace (名前空間)、cluster (クラスタ)、container (コンテナ)、pod (ポッド)、service (サービス)、Source Host (Source ホスト) の左側のボックスを選択します。

クイズ

  1. Kubernetes クラスタにキーと値のペアを追加することで、検索、パーティション、RBAC クエリで使用できます。 

  2. 非表示フィールドのキーと値のペアを表示するには、個人用フォルダをクリックします。 

  3. Prometheus コンテナを参照するには、クエリに container=prometheus と入力して [Start (開始)] をクリックします。

概要

おめでとうございます! Kubernetes のハンズオン ラボのパート 1 のタスクが以下のように完了しました。

  1. Sumo Logic にサインインしました。

  2. Kubernetes Collector にキーと値のペアを追加しました。

  3. クエリでキーと値のペアを使用しました。

  4. フィールド ブラウザで [Hidden Fields (隠しフィールド)] のメタデータの表示を有効にする方法について学習しました。

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