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

Simple Log Service:LoongCollector のインストール (Kubernetes)

最終更新日:Nov 09, 2025

LoongCollector は、Alibaba Cloud Simple Log Service (SLS) によって開発された次世代のログ収集エージェントであり、Logtail のアップグレード版です。クラスターからコンテナーログを収集する前に、Kubernetes に LoongCollector コンポーネントをインストールする必要があります。このトピックでは、Kubernetes クラスターに LoongCollector をインストールする方法について説明します。

コアコンセプト

ログ収集を設定する前に、Alibaba Cloud Simple Log Service (SLS) のコアリソースの概念と、Kubernetes 環境における LoongCollector の実行モードについて理解してください。

プロジェクトとは何ですか?

プロジェクトは Simple Log Service のリソース管理ユニットです。異なるプロジェクトやアプリケーションのログデータを分離し、制御するために使用されます。各プロジェクトには複数の Logstore を含めることができます。

Logstore とは何ですか?

Logstore はログデータのストレージユニットです。ビジネスニーズに基づいて、プロジェクト内に複数の Logstore を作成して、さまざまな種類のログを保存できます。たとえば、2 つの Logstore を使用して、NGINX アクセスログとアプリケーションエラーログを別々に保存できます。

LoongCollector の実行モード

前提条件

プロジェクトの作成

プロジェクトがない場合は、次の手順に従って作成します。詳細については、「プロジェクトの管理」をご参照ください。

Simple Log Service コンソールにログインし[プロジェクトの作成] をクリックし、次の基本設定を完了し、他の設定はデフォルトのままにします:

  • [リージョン]: ログソースやその他の要件に基づいて、適切な Alibaba Cloud リージョンを選択します。リージョンはプロジェクト作成後に変更できません。

  • [プロジェクト名]: Alibaba Cloud リージョン内でグローバルに一意の名前を設定します。名前はプロジェクト作成後に変更できません。

Logstore の作成

アクティブな Logstore がない場合は、次の手順に従って作成します。詳細については、「Logstore の管理」をご参照ください。

  1. Simple Log Service コンソールにログインし、[プロジェクトリスト] でターゲットプロジェクトをクリックします。

  2. [ログストレージ] > [Logstores] タブで、[+] アイコンをクリックします。

    image

  3. Logstore 名を入力し、他の設定はデフォルトのままにします。

ネットワーク接続の確認

LoongCollector をインストールする前に、Kubernetes クラスターのワーカーノードと Simple Log Service (SLS) エンドポイント間のネットワーク接続を確認してください。

  1. SLS エンドポイントの表示

    1. Simple Log Service コンソールにログインし、プロジェクトリストでターゲットプロジェクトをクリックします。

    2. プロジェクト名の右側にある image アイコンをクリックして、プロジェクトの概要ページに移動します。

    3. [基本情報] セクションで、プロジェクトのリージョン、パブリックエンドポイント、および内部エンドポイントを表示できます。リージョン名に対応するリージョン ID については、「リージョン ID」をご参照ください。

      リージョンは、Alibaba Cloud サービスがホストされている物理データセンターの地理的な場所です。リージョン ID は、リージョンの一意の識別子です。
  2. 接続テストの実行: LoongCollector コンポーネントをインストールするクラスターノードにログインし、次の curl コマンドを実行します。次の変数を実際の値に置き換えてください:

    • ${Project Name}: プロジェクトの名前。

    • ${SLS_ENDPOINT}: 前のステップで取得したエンドポイント。例: cn-beijing.log.aliyuncs.com

    curl https://${Project Name}.${SLS_ENDPOINT}
  3. テスト結果の表示: {"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5D****09"}} のような応答が返された場合、ネットワークは接続されています。それ以外の場合は、宛先アドレスのブロック、不正な DNS 設定、またはセキュリティグループの設定ミスなど、他のネットワークの問題を確認してください。

    このエラーメッセージは、アクセス URL に必須パラメーターが欠落しているために返されます。このテストはネットワーク接続のみを検証し、完全な URL を使用しないため、ネットワークが接続されている場合はエラーメッセージが表示されます。

kubectl のインストールと設定

  1. kubectl のインストール: クラスターの管理に使用するマシンに kubectl をインストールします。このマシンがネットワーク経由でターゲットの Kubernetes クラスターに接続できることを確認してください。

  2. kubeconfig ファイルの取得: ターゲットの Kubernetes クラスターから kubeconfig ファイルを取得できます。

  3. KubeConfig の設定: kubectl がインストールされているマシンで、クラスターの kubeconfig ファイルの内容をデフォルトパス ~/.kube/config に追加して KubeConfig を設定します。.kube ディレクトリが存在しない場合は、手動で作成してください。

  4. 接続の確認: kubectl コマンドを実行して、クラスターへの接続を確認します。たとえば、名前空間をクエリできます:

    kubectl get namespace

    名前空間のリストが返された場合、設定は成功です。

インストール方法の選択

クラスターのタイプと要件に基づいて、次の表からインストール方法を選択してください:

インストール方法

シナリオ

ACK クラスターへのインストール (DaemonSet モード)

同じリージョンにあり、同じ Alibaba Cloud アカウントに属する ACK マネージドクラスターおよび ACK 専用クラスターからログを収集します。

自己管理クラスターへのインストール (DaemonSet モード)

  • 異なる Alibaba Cloud アカウントまたはリージョンにまたがる Alibaba Cloud ACK クラスターからログを収集します。

  • 自己管理データセンターにデプロイされた Kubernetes クラスターからログを収集します。

  • 他のクラウドサービスプロバイダーにデプロイされた Kubernetes クラスターからログを収集します。

Sidecar モードでのインストール

この方法は、特定のアプリケーションのログを収集する必要があり、次の要件があるシナリオに適しています:

  • リソースの分離: DaemonSet モードがノード上の他の Pod に影響を与えるのを防ぎます。

  • 詳細な収集: 各アプリケーションの収集ソース、フィルター ルール、および出力先を個別に設定できます。

ACK クラスターへのインストール (DaemonSet モード)

説明

LoongCollector は ACK マネージドクラスターと ACK 専用クラスターにのみインストールできます。LoongCollector と Logtail は共存できません。logtail-ds を使用していて LoongCollector にアップグレードする場合は、LoongCollector をインストールする前に logtail-ds をアンインストールする必要があります。

Alibaba Cloud ACK コンソールでワンクリックで LoongCollector をインストールできます。デフォルトでは、クラスターからのコンテナーログは、同じリージョンにあり、同じアカウントに属するプロジェクトに収集されます。アカウント間またはリージョン間でログを収集するには、「自己管理クラスターへのインストール (DaemonSet モード)」をご参照ください。

既存の ACK マネージドクラスターへのインストール

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター ページで、管理したいクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[アドオン] をクリックします。

  3. [ログとモニタリング] タブで、loongcollector を見つけて [インストール] をクリックします。

  4. インストールが完了すると、Simple Log Service は ACK クラスターが存在するリージョンに次のリソースを自動的に作成します。Simple Log Service コンソールにログインしてリソースを表示できます

    リソースタイプ

    リソース名

    説明

    プロジェクト

    k8s-log-${cluster_id}

    異なるサービスのログデータを分離するリソース管理ユニット。

    マシングループ

    k8s-group-${cluster_id}

    loongcollector-ds のマシングループで、主にログ収集に使用されます。

    k8s-group-${cluster_id}-cluster

    loongcollector-cluster のマシングループで、主にメトリック収集に使用されます。

    k8s-group-${cluster_id}-singleton

    単一インスタンスのマシングループで、主に一部の単一インスタンス収集設定に使用されます。

    Logstore

    config-operation-log

    重要

    この Logstore は削除しないでください。

    LoongCollector の alibaba-log-controller コンポーネントのログを保存します。課金方法は標準の Logstore と同じです。詳細については、「書き込みデータ量による課金」をご参照ください。この Logstore に収集設定を作成しないことをお勧めします。

新しい ACK マネージドクラスターの作成時にインストールする

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスターの作成] をクリックします。 [コンポーネント設定] ページで、[Log Service を有効にする] を選択します。 [プロジェクトの作成] または [既存プロジェクトの使用] を選択します。

    このトピックでは Simple Log Service に関連する設定のみを説明します。他の設定項目の詳細については、「ACK マネージドクラスターの作成」をご参照ください。
  3. [プロジェクトの作成] を選択すると、Simple Log Service は一連のデフォルトリソースを作成します。Simple Log Service コンソールにログインして表示できます

    リソースタイプ

    リソース名

    説明

    プロジェクト

    k8s-log-${cluster_id}

    異なるサービスのログデータを分離するリソース管理ユニット。

    マシングループ

    k8s-group-${cluster_id}

    loongcollector-ds のマシングループで、主にログ収集に使用されます。

    k8s-group-${cluster_id}-cluster

    loongcollector-cluster のマシングループで、主にメトリック収集に使用されます。

    k8s-group-${cluster_id}-singleton

    単一インスタンスのマシングループで、主に一部の単一インスタンス収集設定に使用されます。

    Logstore

    config-operation-log

    重要

    この Logstore は削除しないでください。

    LoongCollector の alibaba-log-controller コンポーネントのログを保存します。課金方法は標準の Logstore と同じです。詳細については、「書き込みデータ量による課金」をご参照ください。この Logstore に収集設定を作成しないことをお勧めします。

自己管理型クラスターへのインストール (DaemonSet モード)

シナリオ

  • 独自のデータセンター内の Kubernetes クラスター。

  • 他のクラウドプロバイダーにデプロイされた Kubernetes クラスター。

  • 異なるアカウントまたはリージョンにまたがる Alibaba Cloud ACK クラスターからコンテナログを収集する。

説明

自己管理型クラスターで Kubernetes 1.6 以降が実行されていることを確認してください。

ユーザーガイド

前提条件を満たした後、次のステップに従って LoongCollector を手動でインストールおよび設定します。

  1. インストールパッケージのダウンロードと解凍: kubectl がインストールおよび設定されているマシンで、クラスターのリージョンに対応するコマンドを実行して、LoongCollector とその依存コンポーネントをダウンロードします。

    # 中国リージョン
    wget https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongcollector/k8s-custom-pkg/3.0.12/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.sh
    
    # 中国以外のリージョン
    wget https://aliyun-observability-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/loongcollector/k8s-custom-pkg/3.0.12/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.sh
  2. values.yaml 設定ファイルの変更: loongcollector-custom-k8s-package フォルダに移動し、./loongcollector/values.yaml 設定ファイルを編集します。

    パラメーターの説明

    values.yaml

    # ===================== 必須パラメーター =====================
    # このクラスターのログ収集用のプロジェクト名。例: k8s-log-custom-sd89ehdq
    projectName: ""
    # プロジェクトが配置されているリージョン。例: cn-shanghai
    region: ""
    # プロジェクトを所有する Alibaba Cloud アカウントの UID。UID は引用符で囲みます。例: "123456789"
    aliUid: ""
    # 使用するネットワークタイプ。オプション: Internet (パブリックネットワーク) または Intranet (内部ネットワーク)。デフォルト: Internet。
    net: Internet
    # Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID と AccessKey Secret。
    accessKeyID: ""
    accessKeySecret: ""
    # カスタムクラスター ID。ID には、大文字、小文字、数字、ハイフン (-) を使用できます。
    clusterID: ""
    
    # ... その他のオプションパラメーターは省略 ...

    projectName String (必須)

    LoongCollector がログをアップロードするプロジェクトの名前。命名規則は次のとおりです:

    • プロジェクト名には、小文字、数字、ハイフン (-) のみを使用できます。

    • 小文字で始まり、小文字または数字で終わる必要があります。

    • 名前の長さは 3~63 文字である必要があります。

    region String (必須)

    プロジェクトが配置されているリージョンの ID。詳細については、「リージョン」をご参照ください。

    aliUid String (必須)

    プロジェクトを所有する Alibaba Cloud アカウントの ID。

    net String (必須)

    ログデータ転送に使用されるネットワークタイプ

    • Internet (デフォルト): パブリックネットワーク。

    • Intranet: 内部ネットワーク。

    accessKeyID  String (必須)

    プロジェクトを所有するアカウントの AccessKey ID。セキュリティのため、Resource Access Management (RAM) ユーザーの AccessKey を使用することをお勧めします。RAM ユーザーに AliyunLogFullAccess システムポリシーを付与する必要があります。RAM の詳細については、「RAM ユーザーの概要」をご参照ください。

    accessKeySecret String (必須)

    プロジェクトを所有するアカウントの AccessKey Secret。

    clusterID String (必須)

    カスタムクラスター ID を指定します。ID には、大文字、小文字、数字、ハイフン (-) を使用できます。

    重要

    異なる Kubernetes クラスターに同じクラスター ID を使用しないでください。

  3. インストールスクリプトの実行: loongcollector-custom-k8s-package フォルダから、次のコマンドを実行して LoongCollector とその依存コンポーネントをインストールします。

    bash k8s-custom-install.sh install
  4. インストールの確認: インストールが完了したら、次のコマンドを実行してコンポーネントのステータスを確認します:

    # Pod のステータスを確認
    kubectl get po -n kube-system | grep loongcollector-ds

    結果の例:

    loongcollector-ds-gnmnh   1/1     Running   0    63s

    コンポーネントの起動に失敗した場合 (ステータスが `Running` ではない場合):

    1. 設定の確認: values.yaml ファイルの設定項目が正しいことを確認します。

    2. イメージの確認: 次のコマンドを実行して Events を表示し、コンテナイメージがプルされたことを確認します。

      kubectl describe pod loongcollector-ds -n kube-system
  5. コンポーネントがインストールされると、Simple Log Service は次のリソースを自動的に作成します。Simple Log Service コンソールにログインして表示できます。

    リソースタイプ

    リソース名

    説明

    プロジェクト

    values.yaml ファイルで指定した projectName の値

    異なるサービスのログを分離するリソース管理ユニット。

    マシングループ

    k8s-group-${cluster_id}

    ログ収集ノードのコレクション。

    k8s-group-${cluster_id}-cluster

    loongcollector-cluster のマシングループ。主にメトリック収集に使用されます。

    k8s-group-${cluster_id}-singleton

    単一インスタンスのマシングループ。主に一部の単一インスタンス収集設定に使用されます。

    Logstore

    config-operation-log

    重要

    この Logstore は削除しないでください。

    LoongCollector の alibaba-log-controller コンポーネントのログを格納します。その課金は通常の Logstore と同じです。詳細については、「書き込みデータ量に応じた支払いモードの課金項目」をご参照ください。この Logstore に収集設定を作成しないでください。

サイドカーパターンを使用したインストール

アプリケーションレベルの詳細なログコレクションを行うには、サイドカーパターンを使用して LoongCollector をインストールできます。このパターンは、LoongCollector をコンテナーとしてアプリケーション Pod に挿入します。

  • 利点: 優れたリソースの隔離、柔軟な構成を提供し、他のアプリケーションに影響を与えません。

  • 欠点: DaemonSet パターンと比較して、このパターンではアプリケーションのデプロイメント YAML ファイルを手動で変更する必要があるため、構成とメンテナンスがより複雑になります。

手順

前提条件を満たしたら、次の手順に従って LoongCollector をインストールし、構成します。

  1. (任意) テストデモのデプロイ: 適切なアプリケーションコンテナーがない場合、またはコレクション機能を迅速にテストしたい場合は、次のデプロイメントテンプレートを使用して専用のテストコンテナーをデプロイできます。

    test-demo-deployment.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      annotations:
        deployment.kubernetes.io/revision: '1'
      labels:
        app: deployment-file
        cluster_label: CLUSTER-LABEL-A
      name: deployment-file
      namespace: default
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: deployment-file
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          labels:
            app: deployment-file
            cluster_label: CLUSTER-LABEL-A
        spec:
          containers:
            - name: timestamp-test
              image: 'mirrors-ssl.aliyuncs.com/busybox:latest'
              args:
                - >-
                  while true; mkdir -p /root/log; do date '+%Y-%m-%d %H:%M:%S'
                  >>/root/log/timestamp.log; echo 1 >>/root/log/timestamp.log; echo
                  2 >>/root/log/timestamp.log; echo 3 >>/root/log/timestamp.log;
                  echo 4 >>/root/log/timestamp.log; echo 5
                  >>/root/log/timestamp.log; echo 6 >>/root/log/timestamp.log;
                  echo 7 >>/root/log/timestamp.log; echo 8
                  >>/root/log/timestamp.log; echo 9 >>/root/log/timestamp.log;
                  sleep 10; done
              command:
                - /bin/sh
                - '-c'
                - '--'
              env:
                - name: cluster_id
                  value: CLUSTER-A
              imagePullPolicy: IfNotPresent
              resources: {}
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
  2. アプリケーションのデプロイメント YAML を取得する: アプリケーションが実行されているクラスターに接続します。次のコマンドを実行して、デプロイメントの YAML ファイルをエクスポートします。

    # test-demo-deployment をデプロイメントの名前に置き換えます。
    kubectl get deploy test-demo-deployment -o yaml > current-config.yaml
  3. サイドカーコンテナーと共有ボリュームを挿入するために YAML ファイルを変更する: 次の例とパラメーターの説明に従って YAML ファイルを変更します。

    主要なパラメーターの説明

    Loongcollector コンテナーを挿入するための YAML 構成

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: your-app-deployment # これはアプリケーションのデプロイメントです
    spec:
      # ... その他の既存の spec 構成 ...
      template:
        spec:
          containers:
            # ===================================================================
            # ステップ 1: 既存のアプリケーションコンテナーを変更する
            # アプリケーションコンテナーの定義で、volumeMounts セクションを見つけるか追加します。
            # ===================================================================
            - name: your-business-app-container # <--- これはアプリケーションコンテナーです
              image: your-app-image:latest
              # ... アプリケーションコンテナーのその他の構成 ...
              volumeMounts:
                # ... 既存の他のマウントポイント ...
                # --- 開始: 次の内容を追加 ---
                - name: ${shared_volume_name}
                  mountPath: ${shared_volume_path} # 共有ボリュームをコンテナーのログディレクトリにマウントします
                - name: tasksite
                  mountPath: /tasksite # Loongcollector コンテナーとの通信用の共有ディレクトリ
                # --- 終了: 内容の追加 ---
    
            # ===================================================================
            # ステップ 2: Loongcollector サイドカーコンテナーを追加する
            # containers リストの最後に、以下の完全なサイドカーコンテナー定義を貼り付けます。
            # ===================================================================
            - name: loongcollector
              image: ${loongcollector_image}
              command: ["/bin/sh", "-c"]
              args:
                - >-
                  /etc/init.d/ilogtaild start;
                  sleep 10;
                  touch /tasksite/cornerstone;
                  until [[ -f /tasksite/tombstone ]]; do sleep 1; done;
                  sleep 10;
                  /etc/init.d/ilogtaild stop;
              livenessProbe:
                exec:
                  command:
                    - /etc/init.d/ilogtaild
                    - status
                initialDelaySeconds: 30
                periodSeconds: 30
              env:
                # タイムゾーンを設定します。Kubernetes クラスターのリージョンに基づいてタイムゾーンを構成します。フォーマットは "Area/City" です。
                # タイムゾーンが正しく構成されていない場合、生ログと処理済みログのタイムスタンプが一致しない可能性があります。
                - name: TZ
                  value: "${timezone}"
                - name: ALIYUN_LOGTAIL_USER_ID
                  value: "${your_aliyun_user_id}"
                - name: ALIYUN_LOGTAIL_USER_DEFINED_ID
                  value: "${your_machine_group_user_defined_id}"
                - name: ALIYUN_LOGTAIL_CONFIG
                  value: "/etc/ilogtail/conf/${your_region_config}/ilogtail_config.json"
                # Pod 環境コンテキストをログタグとして追加
                - name: "ALIYUN_LOG_ENV_TAGS"
                  value: "_pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_"
                # Pod とノード情報を取得
                - name: "_pod_name_"
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: "_pod_ip_"
                  valueFrom:
                    fieldRef:
                      fieldPath: status.podIP
                - name: "_namespace_"
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                - name: "_node_name_"
                  valueFrom:
                    fieldRef:
                      fieldPath: spec.nodeName
                - name: "_node_ip_"
                  valueFrom:
                    fieldRef:
                      fieldPath: status.hostIP
              volumeMounts:
                # Loongcollector コンテナーのログディレクトリを共有ボリュームにマウントします
                - name: ${shared_volume_name}
                  mountPath: ${dir_containing_your_files}
                # アプリケーションコンテナーとの対話用のマウントポイント
                - name: tasksite
                  mountPath: /tasksite
    
          # ===================================================================
          # ステップ 3: 共有ボリュームを定義する
          # spec.template.spec の下、containers と同じレベルに volumes 定義を追加します。
          # ===================================================================
          volumes:
            # ログストレージ用に空の共有ボリュームを定義します
            - name: ${shared_volume_name}
              emptyDir: {}
            # コンテナー間通信用のボリュームを定義します
            - name: tasksite
              emptyDir:
                medium: Memory

    ${timezone}

    コンテナーのタイムゾーン。詳細については、「サポートされているタイムゾーン」をご参照ください。

    ${your_aliyun_user_id}

    Simple Log Service に使用する Alibaba Cloud アカウントの ID。

    ${your_machine_group_user_defined_id}

    マシングループのカスタム識別子。これは、カスタムマシングループを作成するために使用されます。

    重要

    この識別子は、プロジェクトのリージョン内で一意である必要があります。

    ${your_region_config}

    このパラメーターは、Simple Log Service プロジェクトのリージョンとネットワークアクセスタイプに基づいて設定します。たとえば、プロジェクトが中国 (杭州) リージョンにある場合:

    • Alibaba Cloud 内の内部ネットワークアクセスの場合: このパラメーターを cn-hangzhou に設定します。

    • パブリックネットワークアクセスの場合: このパラメーターを cn-hangzhou-internet に設定します。

    リージョン ID については、「リージョン」をご参照ください。

    ${loongcollector_image}

    Loongcollector イメージアドレス。イメージアドレスの ${region-id} を、クラスターのリージョンに対応するリージョン ID に置き換えます。

    イメージアドレス:

    aliyun-observability-release-registry.${region-id}.cr.aliyuncs.com/loongcollector/loongcollector:v3.0.12.0-25723a1-aliyun

    ${shared_volume_name}

    ボリュームのカスタム名。

    重要

    volumeMounts ノードの name パラメーターの値は、volumes ノードの name パラメーターの値と同じでなければなりません。これにより、Loongcollector コンテナーとアプリケーションコンテナーが同じボリュームにマウントされることが保証されます。

    ${dir_containing_your_files}

    マウントパス。これは、収集したいテキストログを含むコンテナー内のディレクトリです。

  4. 更新された構成を適用する: 次のコマンドを実行してアプリケーションを更新します。

    kubectl apply -f current-config.yaml
  5. Loongcollector のインストールを検証する: 次のコマンドを実行して新しい Pod を確認します。アプリケーションコンテナーと LoongCollector コンテナーの両方が実行中状態であることを確認してください。

    kubectl describe pod <YOUR-POD-NAME>

    LoongCollector コンテナーのステータスが Running の場合、インストールは成功です。

    image

  6. マシングループを作成する:

    1. Simple Log Service コンソールにログインし、プロジェクトをクリックします。

    2. 左側のナビゲーションウィンドウで、[imageリソース] > [マシングループ] を選択し、[マシングループ] ページで [Machine group] > [マシングループの作成] をクリックします。

    3. [マシングループの作成] ダイアログボックスで、次のパラメーターを構成し、[OK] をクリックします。

      1. マシングループ名に値を入力します。

      2. マシングループ ID には、[カスタム識別子] を選択します。

      3. カスタム識別子には、構成ファイルの ${your_machine_group_user_defined_id} の値を入力します。

    4. マシングループが作成されたら、マシングループリストでその名前をクリックします。[マシングループ設定] > [マシングループステータス] セクションで、[ハートビート] ステータスを確認します。ステータスが OK の場合、マシングループが正常に作成されたことを示します。ハートビートが失敗した場合は、ユーザー ID とカスタム識別子が正しいことを確認してください。

よくある質問

ACK マネージドクラスターで LoongCollector の構成を変更して、アカウントまたはリージョンをまたいでログを収集するにはどうすればよいですか?

ACK コンソールを使用して LoongCollector をインストールした場合、デフォルトでは、クラスターからコンテナーログを収集し、同じ Alibaba Cloud アカウントに属する Simple Log Service プロジェクトに送信します。アカウントまたはリージョンをまたいでコンテナーログを収集するには、次のいずれかの方法を使用できます。

方法 1: アンインストールと再インストール。

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[アドオン] をクリックします。

  3. [ログとモニタリング] タブで loongcollector を見つけ、[アンインストール] をクリックします。

  4. LoongCollector を再インストールするには、「自己管理型クラスターにインストールする (DaemonSet モード)」をご参照ください。

方法 2: Helm 構成を更新して LoongCollector を再デプロイする。

  1. Container Service for Kubernetes コンソールにログインします。左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。

  2. Helm ページで loongcollector を見つけます。[アクション] 列で [更新] をクリックします。[リリースを更新] ページで、次の表の説明に従ってパラメーターを変更します。他のパラメーターは変更せずに、[OK] をクリックします。

    クラスターとプロジェクト

    変更するパラメーター

    同一アカウント、別リージョン

    region: Simple Log Service プロジェクトが配置されているリージョンの リージョン ID

    net: このパラメーターを Internet に設定します。リージョン間ではサービスの相互接続は利用できません。データの転送にはインターネットを使用する必要があります。

    別アカウント、同一リージョン

    aliUid: Simple Log Service プロジェクトを所有する Alibaba Cloud アカウントの ID。複数のアカウントを指定するには、アカウント ID をカンマ (,) で区切ります。

    net: このパラメーターを Intranet に設定します。同一リージョン内では、イントラネットを使用してデータを転送できます。

    別アカウント、別リージョン

    aliUid: Simple Log Service プロジェクトを所有する Alibaba Cloud アカウントの ID。複数のアカウントを指定するには、アカウント ID をカンマ (,) で区切ります。

    region: Simple Log Service プロジェクトが配置されているリージョンの リージョン ID

    net: このパラメーターを Internet に設定します。リージョン間ではサービスの相互接続は利用できません。データの転送にはインターネットを使用する必要があります。

  3. マシングループの作成:

    1. Simple Log Service コンソールにログインし、ターゲットプロジェクトをクリックします。

    2. 左側のナビゲーションウィンドウで、image[リソース] > [マシングループ] を選択します。[マシングループ] の右側にある 机器组 > [マシングループの作成] をクリックします。

    3. [マシングループの作成] ダイアログボックスで、次のパラメーターを構成し、[OK] をクリックします。

      1. マシングループ名を設定します。

      2. [マシングループ識別子] で、[カスタム識別子] を選択します。

      3. カスタム識別子: k8s-group-${cluster_id}${cluster_id} をクラスターの clusterID に置き換えます。

    4. マシングループが作成されたら、マシングループリストで新しいマシングループをクリックします。[マシングループ構成] > [マシングループステータス] セクションで、[ハートビート] のステータスを確認します。ステータスが OK の場合、マシングループは正常に作成されています。ハートビートが失敗した場合は、ユーザー識別子とカスタム識別子が正しいことを確認してください。

  4. 構成が完了したら、[更新] をクリックして変更を適用します。


Alibaba Cloud ACK Edge、ACK One、ACS、および Serverless Kubernetes クラスターからコンテナーログを収集するにはどうすればよいですか?

次のステップ

LoongCollector をインストールした後、コア原則、主要なプロセス、選択に関する推奨事項、およびベストプラクティスについては、「Kubernetes コンテナーのログ収集」をご参照ください。次に、以下のいずれかのメソッドを使用してコレクション構成を作成します。

関連リファレンス

リージョン

  1. Simple Log Service コンソールにログインします。プロジェクトリストで、ターゲットプロジェクトをクリックします。

  2. プロジェクト名の横にある image をクリックして、プロジェクトの概要ページを開きます。

  3. [基本情報] セクションで、現在のプロジェクトのリージョン名を表示できます。各リージョン名に対応するリージョン ID については、次の表をご参照ください。

    リージョンは、Alibaba Cloud サービスリソースが配置されている物理データセンターの地理的な場所です。リージョン ID は、Alibaba Cloud サービスリージョンの一意の識別子です。

    リージョン名

    リージョン ID

    中国 (青島)

    cn-qingdao

    中国 (北京)

    cn-beijing

    中国 (張家口)

    cn-zhangjiakou

    中国 (フフホト)

    cn-huhehaote

    中国 (ウランチャブ)

    cn-wulanchabu

    中国 (杭州)

    cn-hangzhou

    中国 (上海)

    cn-shanghai

    中国 (南京 - ローカルリージョン - 提供終了予定)

    cn-nanjing

    中国 (福州 - ローカルリージョン - 提供終了予定)

    cn-fuzhou

    中国 (深圳)

    cn-shenzhen

    中国 (河源)

    cn-heyuan

    中国 (広州)

    cn-guangzhou

    フィリピン (マニラ)

    ap-southeast-6

    韓国 (ソウル)

    ap-northeast-2

    マレーシア (クアラルンプール)

    ap-southeast-3

    日本 (東京)

    ap-northeast-1

    タイ (バンコク)

    ap-southeast-7

    中国 (成都)

    cn-chengdu

    シンガポール

    ap-southeast-1

    インドネシア (ジャカルタ)

    ap-southeast-5

    中国 (香港)

    cn-hongkong

    ドイツ (フランクフルト)

    eu-central-1

    米国 (バージニア)

    us-east-1

    米国 (シリコンバレー)

    us-west-1

    英国 (ロンドン)

    eu-west-1

    UAE (ドバイ)

    me-east-1

    SAU (リヤド - パートナーリージョン)

    me-central-1

Loongcollector のネットワーク転送タイプ

エンドポイントは、Simple Log Service にアクセスするために使用されるドメイン名です。これはプロジェクトとそのログデータにアクセスするための URL であり、プロジェクトが配置されているリージョンに関連しています。Simple Log Service は、内部、パブリック、および転送アクセラレーションのエンドポイントを提供します。エンドポイントは次のように表示できます:

  1. Simple Log Service コンソールにログインします。プロジェクトリストで、宛先プロジェクトをクリックします。

  2. プロジェクト名の横にある image アイコンをクリックして、プロジェクトの概要ページに移動します。

  3. [エンドポイント] タブで、現在のプロジェクトのドメイン名を表示できます。ネットワーク転送タイプが異なれば、対応するエンドポイントも異なります。適切なネットワーク転送タイプを選択すると、より高速で安定したログデータ転送を確保できます。

ネットワークタイプ

対応するエンドポイントタイプ

説明

シナリオ

Alibaba Cloud 内部ネットワーク

プライベートドメイン名

Alibaba Cloud 内部ネットワークは、共有ギガビットネットワークです。Alibaba Cloud 内部ネットワーク経由でのログデータの転送は、インターネット経由よりも高速で安定しています。内部ネットワークには VPC とクラシックネットワークが含まれます。

ECS インスタンスと Simple Log Service プロジェクトが同じリージョンにあるか、オンプレミスサーバーを内部ネットワークに接続している場合。

説明

ECS インスタンスと同じリージョンに Simple Log Service プロジェクトを作成することをお勧めします。これにより、パブリック帯域幅を消費することなく、Alibaba Cloud 内部ネットワーク経由で ECS インスタンスからログを収集できます。

インターネット

パブリックエンドポイント

インターネット経由でのログデータの転送は、ネットワーク帯域幅によって制限されるだけでなく、ネットワークジッター、遅延、パケット損失の影響を受ける可能性があり、データ収集の速度と安定性に影響します。

次の 2 つの場合に、インターネット経由でデータを転送することを選択できます。

  • ECS インスタンスと Simple Log Service プロジェクトが異なるリージョンにある。

  • サーバーが別のクラウドプロバイダーのものであるか、オンプレミスの IDC である。

転送アクセラレーション

アクセラレーションエンドポイント

このメソッドは、Alibaba Cloud CDN の Points of Presence (POP) を使用してログ収集を高速化します。インターネット経由の収集と比較して、ネットワーク遅延と安定性の点で大きな利点があります。ただし、追加のトラフィック料金が発生します。

ビジネスサーバーと Simple Log Service プロジェクトがそれぞれ国内リージョンと国際リージョンにある場合、インターネット経由でデータを転送すると、高いネットワーク遅延と不安定性を引き起こす可能性があります。この場合、転送アクセラレーションの使用を選択できます。詳細については、「転送アクセラレーション」をご参照ください。

Loongcollector の実行モード

DaemonSet モードの仕組み

LoongCollector はクラスターの各ノードにデプロイされ、そのノード上のすべてのコンテナーからログを収集します。このモードは、シンプルな O&M、低いリソース消費、柔軟な構成を特徴としています。ただし、提供される隔離は弱いです。

  • DaemonSet モードでは、Kubernetes クラスターは各ノードで 1 つの LoongCollector コンテナーのみが実行されるようにします。このコンテナーは、同じノード上の他のすべてのコンテナーからログを収集します。

  • 新しいノードがクラスターに参加すると、Kubernetes は自動的にそのノードに LoongCollector コンテナーを作成します。ノードがクラスターから離脱すると、Kubernetes は自動的にそのノード上の LoongCollector コンテナーを破棄します。DaemonSet と識別子ベースのマシングループの自動スケーリングメカニズムにより、LoongCollector インスタンスを手動で管理する必要がなくなります。

Sidecar モードの仕組み

LoongCollector Sidecar コンテナーは、アプリケーションコンテナーと一緒に各 Pod に注入されます。アプリケーションコンテナーのログディレクトリは、emptyDir、hostPath、または永続ボリューム (PV) などの Kubernetes ボリュームメカニズムを使用して共有ボリュームとしてマウントされます。これにより、ログファイルはアプリケーションコンテナーと Sidecar コンテナーの両方のマウントパスに表示され、LoongCollector がそれらを直接読み取ることができます。このモードは、優れたマルチテナントデータ分離とパフォーマンスを特徴としています。ただし、より多くのリソースを消費し、構成と保守がより複雑になります。

  • Sidecar モードでは、LoongCollector コンテナーが各 Pod で実行され、その Pod 内の他のすべてのコンテナーからログを収集します。異なる Pod のログ収集は隔離されます。

  • 同じ Pod 内の他のコンテナーからログファイルを収集するには、共有ボリュームを使用する必要があります。同じボリュームをアプリケーションコンテナーと LoongCollector コンテナーの両方にマウントする必要があります。

  • ノード上の Pod のデータ量が非常に大きく、DaemonSet モードの収集パフォーマンス制限を超える場合は、Sidecar モードを使用して LoongCollector に特定のリソースを割り当てることができます。これにより、ログ収集のパフォーマンスと安定性が向上します。

  • サーバーレスコンテナーにはノードの概念がないため、従来の DaemonSet デプロイメントモードは使用できません。このシナリオでは、Sidecar モードをサーバーレスアーキテクチャと組み合わせて、柔軟で適応性のあるログ収集プロセスを確保できます。