すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Logtailを使用してAlibaba Cloudアカウント全体のコンテナログを収集する

最終更新日:Jan 15, 2025

このトピックでは、Alibaba Cloudアカウント全体でcontainer Service for Kubernetes (ACK) からコンテナログを収集する方法について説明します。

背景情報

たとえば、eコマース企業には、中国 (杭州) リージョンのACKクラスターにデプロイされた2つのeコマースアプリケーションがあります。 企業は、中国 (杭州) リージョンにある2つのSimple Log Serviceプロジェクトを使用してログを管理します。

  • アプリケーションAは、Alibaba CloudアカウントA (12 **** 456) に属するACKクラスターにデプロイされ、アカウントがログを管理するためにSimple Log Serviceがアクティブ化されます。

  • アプリケーションBは、Alibaba CloudアカウントB (17 **** 397) に属するACKクラスターにデプロイされ、アカウントがログを管理するためにSimple Log Serviceがアクティブ化されます。

企業は、Alibaba CloudアカウントA (12 **** 456) に対して有効化されているSimple Log Serviceを使用して、2つのアプリケーションのログを収集し、同じプロジェクトの2つのログストアにログを保存したいと考えています。 この場合、Logtail設定、マシングループ、およびLogstoreを作成して、アプリケーションBのログを収集して保存する必要があります。アプリケーションa用に設定されているLogtail設定、マシングループ、およびLogstoreは変更されません。 Architecture

手順1: Alibaba CloudアカウントのIDをユーザー識別子として設定する

  1. Alibaba CloudアカウントAのIDをユーザー識別子として設定します。

    1. Alibaba CloudアカウントBでACKコンソールにログインします。

    1. [クラスター] ページで、管理するクラスターをクリックします。

    2. 左側のナビゲーションウィンドウで、[設定] > [設定] を選択します。

    3. 名前空間パラメーターをkube-systemに設定します。 [ConfigMap] リストで、alibaba-log-configurationを見つけ、[操作] 列の [編集] をクリックします。

    4. [編集] パネルで、次の設定を行い、[OK] をクリックします。

      Alibaba CloudアカウントAのIDをlog-ali-uidファイルに追加し、log-machine-groupパラメーターの値 (例: k8s-group-cc47 **** 54428) を取得します。 マシングループを作成するときに、[カスタム識別子] パラメーターの値を指定します。

      複数のアカウントIDをコンマ (,) で区切ります。 例: 17 **** 397,12 **** 456

      Parameter

  2. 設定を有効にするためにlogtail-dsを再起動します。

    1. 左側のナビゲーションウィンドウで、[ワークロード] > [DaemonSets] を選択します。

    2. DaemonSetsリストで、logtail-dsを見つけ、[操作] 列の [編集] をクリックします。

    3. [環境変数] セクションで、[追加] をクリックします。

    4. カスタム変数を追加し、任意のキーと値のペアを指定します (例: random_id: 439157431651471905349) 。

      logtail-ds

    5. [更新] をクリックします。

    logtail-dsの詳細ページで、各コンテナーポッドが [実行中] 状態であるかどうか、および各ポッドが作成された時刻が設定を更新した時刻と同じであるかどうかを確認します。

    Restart logtail-ds

ステップ2: マシングループを作成する

  1. Alibaba CloudアカウントAでLog Serviceコンソールにログインします。

  2. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

  3. 左側のナビゲーションウィンドウで、[リソース] > [マシングループ] を選択します。

  4. マシングループタブで、Machine groups > マシングループの作成を選択します。

  5. [マシングループの作成] パネルでパラメーターを設定し、次の図に示すように [OK] をクリックします。

    [カスタム識別子] フィールドに、ステップ1: Alibaba CloudアカウントのIDをユーザー識別子として設定で取得したマシングループ識別子を入力します (例: k8s-group-cc47 **** 54428) 。 その他のパラメーターについては、「カスタム識別子ベースのマシングループの作成」をご参照ください。 Machine groups

  6. 、マシングループ内の各サーバーのハートビートステータスがOKかどうかを確認します。

    1. マシングループリストで、作成したマシングループをクリックします。

    2. [マシングループの設定] ページで、各ECS (Elastic Compute Service) インスタンスのステータスを表示します。

      HeartbeatステータスがOKの場合、ECSインスタンスはSimple Log Serviceに接続されています。 ステータスがFAILの場合、「Logtailマシングループにハートビートがない場合の対処方法」をご参照ください。 Heartbeat status of a machine group

ステップ3: Logtail設定の作成

  1. Alibaba CloudアカウントAでLog Serviceコンソールにログインします。

  2. [データのインポート] セクションで、[Kubernetes - Object] をクリックします。

  3. プロジェクトとLogstoreを選択します。 そして、[次へ] をクリックします。

  4. [既存のマシングループの使用] をクリックします。

  5. 手順2: マシングループの作成で作成したマシングループを選択し、[ソースサーバーグループ] セクションから [応用サーバーグループ] に移動し、[次へ] をクリックします。

  6. Logtail設定のパラメーターを設定し、[次へ] をクリックします。

    パラメーターの詳細については、「Simple Log Serviceコンソールを使用してDaemonSetモードでコンテナテキストログを収集する」をご参照ください。

    重要
    • デフォルトでは、ログファイルからログを収集するために使用できるLogtail設定は1つだけです。 Alibaba CloudアカウントBでのLogtailの収集プロセスは停止されません。 この場合、Alibaba CloudアカウントAのLogtail設定は有効になりません。 Alibaba CloudアカウントAのLogtail設定が有効になるようにするには、次のいずれかの方法を使用します。

    • Logtail設定を作成した後、Alibaba CloudアカウントBの既存のLogtail設定を削除して、重複したログ収集を防ぎます。 詳細については、「Logtail設定の削除」をご参照ください。

  7. データをプレビューし、インデックスを設定し、[次へ] をクリックします。

    デフォルトでは、Simple Log Serviceはフルテキストインデックス作成を有効にします。 手動モードまたは自動モードで収集されたログに基づいて、フィールドインデックスを設定できます。 詳細については、「インデックスの作成」をご参照ください。

関連する API 操作

Alibaba CloudアカウントBから現在のLogstoreに履歴データを移行する場合は、元のLogstoreでデータ変換ジョブを作成してから、現在のLogstoreにデータをレプリケートできます。 詳細については、「Logstoreからのデータの複製」をご参照ください。

重要

Alibaba Cloudアカウント間でデータを変換するデータ変換ジョブを作成する場合、カスタムロールまたはAccessKeyペアを使用して、ジョブに必要な権限を付与する必要があります。 この例では、カスタムロールが使用されています。