Log Service では、Logtail で Kubernetes クラスタのログを収集することができます。ログの収集条件は、CustomResourceDefinition (CRD) API で設定します。本ドキュメントでは、Logtail をインストールし、Logtail で Kubernetes クラスタログを収集する方法について説明します。
手順
- alibaba-log-controller Helm パッケージをインストールします。
- 収集条件を設定します。
Log Service コンソールや CDR API を使用して収集条件を設定します。次の手順に従い、コンソールで収集条件を設定します。

1.パッケージをインストール
- Container Service for Kubernetes のマスターノードにログインします。
ログイン方法については、「Kubernetes クラスターへの SSH キーペアを用いたアクセス」をご参照ください。
- パラメータを置き換え、次のコマンドを実行します。
次のインストールコマンドの
${your_k8s_cluster_id}
をお客様の Kubernetes クラスタ ID に置き換えて実行します。wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/alicloud-log-k8s-install.sh -O alicloud-log-k8s-install.sh; chmod 744 ./alicloud-log-k8s-install.sh; sh ./alicloud-log-k8s-install.sh ${your_k8s_cluster_id}
インストールの例
[root@iZbp******biaZ ~]# wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/alicloud-log-k8s-install.sh -O alicloud-log-k8s-install.sh; chmod 744 ./alicloud-log-k8s-install.sh; sh ./alicloud-log-k8s-install.sh c12ba20**************86939f0b
....
....
....
alibaba-cloud-log/Chart.yaml
alibaba-cloud-log/templates/
alibaba-cloud-log/templates/_helpers.tpl
alibaba-cloud-log/templates/alicloud-log-crd.yaml
alibaba-cloud-log/templates/logtail-daemonset.yaml
alibaba-cloud-log/templates/NOTES.txt
alibaba-cloud-log/values.yaml
NAME: alibaba-log-controller
LAST DEPLOYED: Wed May 16 18:43:06 2018
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1beta1/ClusterRoleBinding
NAME AGE
alibaba-log-controller 0s
==> v1beta1/DaemonSet
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
logtail 2 2 0 2 0 0s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
alibaba-log-controller 1 1 1 0 0s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
logtail-ff6rf 0/1 ContainerCreating 0 0s
logtail-q5s87 0/1 ContainerCreating 0 0s
alibaba-log-controller-7cf6d7dbb5-qvn6w 0/1 ContainerCreating 0 0s
==> v1/ServiceAccount
NAME SECRETS AGE
alibaba-log-controller 1 0s
==> v1beta1/CustomResourceDefinition
NAME AGE
aliyunlogconfigs.log.alibabacloud.com 0s
==> v1beta1/ClusterRole
alibaba-log-controller 0s
[SUCCESS] install helm package : alibaba-log-controller success.
helm status alibaba-log-controller
のように「helm status」でポッドのステータスを確認します。「Running」ステータスであれば、インストールに成功していることになります。
Log Service には、名前がk8s-logで始まるプロジェクトが作成されます。作成されたプロジェクトk8s-logを Log Service コンソールでキーワード検索します。
2.収集条件を設定
- Logstore リストページに移動
ステップ 1 で作成したプロジェクトをクリックして Logstore リストページに移動します。
- Logstore の作成
右上にある作成をクリックし、表示されるダイアログボックスで Logstore を作成します。
図 2. Logstore の作成 - 収集情報の設定
- データインポートウイザードページへ移動します。
- サードパーティー製のソフトウェアからDocker Stdoutを選択します。
設定ページのマシングループに適用をクリックします。全コンテナの全 stdout ファイルが収集されます。
図 3. Docker stdout
- 設定をマシングループに適用
マシングループに適用するページで、マシングループを選択して、次へをクリックします。
図 4. 設定をマシングループに適用
以上で収集条件の設定の完了です。 続けて、インデックス作成とログ送信の設定を行います。なお、ページを終了して設定を完了することもできます。
収集ログの表示

下図の検索ページのように、ログの任意のキーワードをクリックすると、すばやく検索できます。特定のログを検索するには、検索ボックスにキーワードを指定します。

他の方法による収集条件を設定
他の方法で収集条件を設定するには、以下をご参照ください。
コンソールで設定
コンソール設定の詳細については、以下をご参照ください。
- コンテナのテキストログ (推奨)
- コンテナの標準出力 (推奨)
- host テキストファイル
デフォルトでは、Logtail コンテナの「/logtail_host」ディレクトリに、ホストのルートディレクトリがマウントされています。 パスを設定する際に、このプレフィックスを追加します。 たとえば、ホストの /home/logs/app_log/ディレクトリのデータを収集するには、設定ページでログのパスを/logtail_host/home/logs/app_log/に指定します。
CRD の設定
CRD (CustomResourceDefinition) 設定の詳細については、「CRD に Kubernetes ログ収集を設定」をご参照ください。