このトピックでは、Alibaba Cloud Container Service for Kubernetes (ACK) クラスターからSimple Log ServiceにデプロイされているLogtailを使用して、Apache SkyWalkingからトレースデータを収集する方法について説明します。 トレースデータがSimple Log Serviceに収集された後、Simple Log Serviceでデータを保存、分析、視覚化できます。 アラートを設定し、データに基づいてAIOpsを実行することもできます。
前提条件
Logstoreが作成されます。 詳細については、「Logstore の作成」をご参照ください。
カスタム識別子を持つマシングループが作成されます。 詳細については、「カスタム識別子ベースのマシングループの作成」をご参照ください。
重要Logstoreが属するSimple Log Serviceプロジェクトのリージョンでカスタム識別子が一意であることを確認します。
トレースインスタンスが作成されます。 詳細については、「トレースインスタンスの作成」をご参照ください。
手順1: データ収集イメージの展開
構成ファイルを使用して、LogtailイメージをACKクラスターにデプロイします。
次のサンプルコードは、構成テンプレートを提供します。 詳細については、「プライベートイメージリポジトリを使用したアプリケーションの作成」をご参照ください。
containers: - name: logtail # more info: https://cr.console.aliyun.com/repository/cn-hangzhou/log-service/logtail/detail image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:v0.16.68.0-7a79f4e-aliyun command: - sh - -c - /usr/local/ilogtail/run_logtail.sh 10 livenessProbe: exec: command: - /etc/init.d/ilogtaild - status initialDelaySeconds: 30 periodSeconds: 30 resources: limits: memory: 512Mi requests: cpu: 10m memory: 30Mi env: - 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" - name: "ALIYUN_LOG_ENV_TAGS" value: "_pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_" - 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
パラメーター
説明
${your_region_config}
Simple Log Serviceプロジェクトが存在するリージョンのIDとプロジェクトのネットワークのタイプに基づいて値を指定します。 リージョンの詳細については、「LinuxサーバーへのLogtailのインストール」をご参照ください。
プロジェクトにインターネット経由でアクセスできる場合は、
region-Internet
形式で値を指定します。 たとえば、プロジェクトが中国 (杭州) リージョンにある場合は、cn-Hangzhou-Internetを指定します。Alibaba Cloudの内部ネットワーク経由でプロジェクトにアクセスできる場合は、
region
形式で値を指定します。 たとえば、プロジェクトが中国 (杭州) リージョンにある場合は、cn-Hangzhouを指定します。
${your_aliyun_user_id}
Alibaba CloudアカウントのIDを入力します。 詳細については、「手順1: Simple Log Serviceが有効化されているAlibaba CloudアカウントのIDの取得」をご参照ください。
${your_machine_group_user_defined_id}
マシングループの作成時に指定するカスタム識別子を入力します。
重要Logstoreが属するSimple Log Serviceプロジェクトのリージョンでカスタム識別子が一意であることを確認します。
Logtailが実行されているコンテナを再デプロイします。
ステップ2: Logtail設定の作成
[データのインポート] セクションで、[SkyWalking] をクリックします。
Logstoreの指定ステップで、プロジェクトとLogstoreを選択します。 次に、[次へ] をクリックします。
マシングループの作成ステップで、[既存のマシングループを使用] をクリックします。
[マシングループの設定] ステップで、[ソースサーバーグループ] セクションで使用するマシングループを選択し、マシングループを [応用サーバーグループ] セクションに移動します。 次に、[次へ] をクリックします。
[データソースの指定] ステップで、Logtailプラグインを設定し、[次へ] をクリックします。
構成テンプレートは、[Plug-in Config] フィールドに表示されます。 ${instance} をトレースインスタンスのIDに置き換える必要があります。
{ "inputs" : [ { "detail" : { "Address" : "0.0.0.0:11800" }, "type" : "service_skywalking_agent_v3" } ], "aggregators" : [ { "detail" : { "MetricsLogstore" : "${instance}-metrics", "TraceLogstore" : "${instance}-traces" }, "type" : "aggregator_skywalking" } ], "global" : { "AlwaysOnline" : true, "DelayStopSec" : 300 } }
[次へ] をクリックしてLogtailの設定を完了します。 その後、Simple Log Serviceはログの収集を開始します。
説明Logtail設定を有効にするには、最大3分かかります。
Logtail設定を使用してログを収集するときにエラーが発生した場合は、Logtail収集エラーの表示方法? エラーをトラブルシューティングします。
よくある質問
Logtail設定が有効かどうかを確認するにはどうすればよいですか?
Logtailが実行されるコンテナーで、cat /usr/local/ilogtail/user_log_config.json | grep skywalking
コマンドを実行します。
コマンド出力にSkyWalkingが含まれている場合、Logtail設定は有効です。
コマンド出力にSkyWalkingが含まれていない場合、Logtail設定は有効ではありません。 この場合、データ収集イメージのデプロイ時にマシングループに指定したカスタム識別子が、マシングループの作成時に指定したカスタム識別子と同じであるかどうかを確認します。
次のステップ
上記の設定を完了すると、指定されたLogstoreでApache SkyWalkingのトレースデータを照会および分析できます。 詳細については、「トレースデータの照会と分析」をご参照ください。