ポッド内のすべてのコンテナからログを収集するために別の Logtail プロセスを使用する場合、サイドカーモードで Kubernetes クラスタに Logtail をインストールできます。 このトピックでは、サイドカーモードでのコンテナテキストログの収集の実装、制限、前提条件、および手順について説明します。
実装
サイドカーモード
サイドカーモードでは、各ポッドは Logtail コンテナを実行します。 Logtail を使用して、ポッド内のすべてのコンテナからログを収集できます。 各ポッドからのログ収集は分離されています。
Logtail がポッド内の他のコンテナからログを収集できるようにするには、Logtail コンテナとアプリケーションコンテナが同じボリュームを共有していることを確認します。 サイドカーモードでコンテナログを収集する方法の詳細については、「ロギングエージェントを使用したサイドカーコンテナ」および「複数コンテナを持つポッド」をご参照ください。 ボリュームの詳細については、「ストレージの基本」をご参照ください。
前提条件
Logtail がインストールされているサーバーでは、アウトバウンドトラフィック用にポート 80(HTTP)と 443(HTTPS)が有効になっています。 サーバーが Elastic Computing Service(ECS)インスタンスである場合は、関連するセキュリティグループルールを再構成してポートを有効にすることができます。 セキュリティグループルールを構成する方法の詳細については、「セキュリティグループルールの追加」をご参照ください。
kubectl コマンドラインツールが Kubernetes クラスタにインストールされています。 詳細については、「kubectl」をご参照ください。
使用上の注意
ログは、ログを収集するコンテナで継続的に生成されます。 Logtail は増分ログのみを収集します。 Logtail 構成が配信され、サーバーに適用された後、サーバー上のログファイルが更新されない場合、Logtail はそのファイルからログを収集しません。 詳細については、「ログファイルの読み取り」をご参照ください。
ログを収集するファイルは、必要な Logtail コンテナにマウントされているボリュームに保存されます。
手順 1:Logtail コンテナをビジネスポッドに挿入する
Kubernetes クラスタにログオンします。
YAML ファイルを作成します。 次のコマンドでは、
sidecar.yaml
はサンプルファイル名です。 ビジネス要件に基づいて別のファイル名を指定できます。vim sidecar.yaml
YAML ファイルに次のスクリプトを入力し、ビジネス要件に基づいてパラメータを構成します。
警告次の YAML テンプレート では、
${}
形式のすべてのプレースホルダーを実際の値に置き換えます。 その他のパラメータは変更または削除しないでください。次のコマンドを実行して、
sidecar.yaml
ファイルの構成を適用します。次のコマンドでは、
sidecar.yaml
はサンプルファイル名です。 ビジネス要件に基づいて別のファイル名を指定できます。kubectl apply -f sidecar.yaml
手順 2:カスタム識別子ベースのマシングループを作成する
手順 1 で作成した YAML ファイルの ALIYUN_LOGTAIL_USER_DEFINED_ID
パラメータの値は、カスタム識別子です。
Simple Log Service コンソール にログオンします。 [プロジェクト] セクションで、管理するプロジェクトをクリックします。
左側のナビゲーションウィンドウで、
を選択します。 [マシングループ] リストで、 を選択します。[マシングループの作成] パネルで、パラメータを構成し、[OK] をクリックします。 次の表にパラメータを示します。
パラメータ
説明
名前
マシングループ の名前。 名前には以下の要件を満たす必要があります。
名前に含めることができるのは、小文字、数字、ハイフン(-)、アンダースコア(_)のみです。
名前は小文字または数字で始まり、小文字または数字で終わる必要があります。
名前は 2 ~ 128 文字である必要があります。
重要マシングループを作成した後、マシングループの名前を変更することはできません。 注意して進めてください。
マシングループ識別子
マシングループの識別子タイプ。 [カスタム識別子] を選択します。
マシングループトピック
オプション。 マシングループのトピック。 トピック は、異なるサーバーによって生成されたログを識別するために使用されます。 詳細については、「ログトピック」をご参照ください。
カスタム識別子
カスタム識別子。 手順 1 で構成したカスタム識別子を入力します。
手順 3:Logtail 構成を作成する
必要なプロジェクトで、管理するログストアを見つけ、
を選択します。[クイックデータインポート] ダイアログボックスで、[kubernetes - ファイル] カードをクリックします。
プロジェクトとログストアを選択します。 次に、[次へ] をクリックします。 この例では、Logtail コンポーネントのインストールに使用するプロジェクトと作成するログストアを選択します。
データのインポートウィザードの [マシングループの構成] ステップで、次の操作を実行します。 マシングループの詳細については、「マシングループの概要」をご参照ください。
ビジネス要件に基づいて、次のいずれかの設定を使用します。
必要なマシングループが [適用済みサーバーグループ] セクションに追加されていることを確認します。 次に、[次へ] をクリックします。 手順 2 で作成したマシングループを選択します。
マシングループを作成する場合は、[マシングループの作成] をクリックします。 表示されるパネルで、パラメータを構成してマシングループを作成します。 詳細については、「DaemonSet モードで Kubernetes コンテナからテキストログを収集する」をご参照ください。
マシングループのハートビートステータスが [失敗] の場合は、[自動再試行] をクリックします。 問題が解決しない場合は、「ホスト環境の Logtail マシングループに関連するエラーのトラブルシューティング方法」に記載されている手順に従ってエラーのトラブルシューティングを行うことができます。
Logtail 構成を作成し、[次へ] をクリックします。 その後、Simple Log Service はログの収集を開始します。
説明Logtail 構成の作成には約 3 分かかります。
[インデックスの作成] と [データのプレビュー]。 次に、[次へ] をクリックします。 デフォルトでは、Simple Log Service でフルテキストインデックスが有効になっています。 また、収集されたログに基づいて、手動モードまたは自動モードでフィールドインデックスを構成することもできます。 自動モードでフィールドインデックスを構成するには、[自動インデックス生成] をクリックします。 これにより、Simple Log Service は自動的にフィールドインデックスを作成します。 詳細については、「インデックスの作成」をご参照ください。
ログ内のすべてのフィールドをクエリする場合は、フルテキストインデックスを使用することをお勧めします。 特定のフィールドのみをクエリする場合は、フィールドインデックスを使用することをお勧めします。 これにより、インデックストラフィックを削減できます。 フィールドを分析する場合は、フィールドインデックスを作成する必要があります。 分析のクエリ文には SELECT 文を含める必要があります。
[ログのクエリ] をクリックします。 その後、作成されたログストアのクエリと分析ページに移動します。
手順 4:ログのクエリと分析
データのインポートウィザードの [終了] ステップで、[ログのクエリ] をクリックします。 その後、作成されたログストアのクエリと分析ページに移動します。 インデックスが作成されていないため、次のエラーメッセージが表示される場合があります。 エラーメッセージページを閉じて 1 分間待機すると、収集されたログを表示できます。
検索ボックスにクエリ文を入力し、クエリ時間範囲を指定して、[検索と分析] をクリックします。 その後、指定された条件を満たすログを取得できます。 クエリと分析の構文の詳細については、「インデックスモードでのログのクエリと分析」をご参照ください。
参考資料
Logtail 構成の表示
Simple Log Service コンソール にログオンします。
[プロジェクト] セクションで、対象のプロジェクトをクリックします。
を選択します。 対象の Logtail 構成の [>] アイコンをクリックします。 を選択します。
対象の Logtail 構成をクリックして、構成の詳細を表示します。
トラブルシューティング
Simple Log Service コンソールにエラーメッセージが表示されるかどうかを確認できます。 詳細については、「Logtail 収集エラーの表示方法」をご参照ください。
Logtail を使用してログを収集するときにエラーが発生したが、Simple Log Service コンソールにエラーメッセージが表示されない場合は、マシングループと Logtail 構成のハートビートステータスを確認できます。 詳細については、「コンテナからログを収集するときにエラーが発生した場合の対処方法」をご参照ください。