Simple Log Service (SLS) プロジェクトでサーバーログを収集するには、まず対象サーバーに Logtail クライアントをインストールする必要があります。このトピックでは、対象サーバーへの Logtail のインストール、実行、スペックアップ、およびアンインストール方法について説明します。
概要
Logtail は、サーバータイプに応じて以下の 2 種類のシナリオで使用できます。
ホストシナリオ:物理サーバーや Elastic Compute Service (ECS) インスタンスなど、従来型のコンピューティング環境に適用されます。
コンテナシナリオ:Kubernetes コンテナ化プラットフォーム上でアプリケーションがデプロイされるビジネスシナリオに適用されます。
ご利用のサーバー環境に応じて適切な方法を選択してください。各シナリオにおける手順および構成要件は異なります。ハイブリッド環境の場合は、それぞれの環境ごとに個別にインストールおよび構成を完了する必要があります。
ホストシナリオ
Logtail のインストール
Logtail をワンクリックインストールまたは手動インストールでインストールできます。ワンクリックインストールは、プロジェクトと同じリージョンにあり、かつ同一の Alibaba Cloud アカウント(root ユーザー)に属する ECS インスタンスを使用する場合のみサポートされます。それ以外の場合は、Logtail を手動でインストールする必要があります。
ワンクリックインストール
SLS では、ECS インスタンスに対して Logtail をワンクリックでインストールできます。この機能は CloudOps Orchestration Service (OOS) を活用しており、ECS インスタンスにログインして手動インストール手順を実行する必要がありません。Alibaba Cloud アカウント(root ユーザー)でログインした場合、必要なすべての権限がデフォルトで付与されているため、操作を直接実行できます。
RAM ユーザーでログインする場合は、Alibaba Cloud アカウント管理者に連絡し、OOS リソースを操作するための権限を付与してもらう必要があります。Alibaba Cloud アカウント管理者は RAM ユーザーを作成し、必要な権限を付与できます。詳細については、「RAM ユーザーの作成と権限付与」をご参照ください。
システム権限:
AliyunOOSFullAccess:CloudOps Orchestration Service (OOS) を管理するためのフルアクセス権限を付与します。
AliyunECSFullAccess:ECS を管理するための権限を付与します。
カスタムポリシー:データセキュリティ要件が高い場合は、「カスタム権限ポリシーの作成」により、細かい粒度での権限付与を行ってください。以下は OOS リソース操作用のアクセスポリシーの例です。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DescribeTagKeys", "ecs:DescribeTags", "ecs:DescribeInstances", "ecs:DescribeInvocationResults", "ecs:RunCommand", "ecs:DescribeInvocations", "ecs:InvokeCommand" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "oos:ListTemplates", "oos:StartExecution", "oos:ListExecutions", "oos:GetExecutionTemplate", "oos:ListExecutionLogs", "oos:ListTaskExecutions" ], "Resource": "*" } ] }
以下の手順に従って、ECS インスタンスへの Logtail のワンクリックインストールを行い、同時にマシングループの作成および構成を行います。
Simple Log Serviceコンソールにログインします。Simple Log Serviceコンソール。ログリソースを管理するプロジェクトをクリックして、ログストアの一覧を表示します。送信先ログストアの名前の前にある
アイコンをクリックして展開します。次に、[ログ収集]の後に表示される
アイコンをクリックします。表示されたダイアログボックスで、テキストログ収集テンプレートを選択し、[今すぐ統合]をクリックします。SLS では、正規表現、単一行、複数行などのさまざまなテキストログテンプレートを提供しています。これらのテンプレートは、ログ解析プラグインのみが異なります。また、テンプレート内でログ解析プラグインを追加または削除することも可能です。ログの特性に応じて適切なテンプレートを選択するか、任意のテキストログテンプレートを選択して、必要に応じてプラグインを構成してください。
マシングループ構成 ページで、シナリオ を サーバー に、インストール環境 を ECS に設定し、マシングループの作成 をクリックします。
マシングループの作成 パネルで、プロジェクトと同じリージョンに存在する 1 台以上の ECS インスタンスを選択します。インストールおよびマシングループの作成 をクリックします。インストールが完了するまで待ち、マシングループに 名前 を指定して、OK をクリックします。
インストールが失敗する、または「待機中」の状態が続く場合は、ECS インスタンスがプロジェクトと同じリージョンにあるか確認してください。
インストール後、 ページに移動します。新しく作成したマシングループをクリックします。 セクションで、ハートビート ステータスを確認します。ステータスが「OK」の場合、マシングループの作成は成功しています。
手動インストール
以下の表からダウンロードおよびインストール方法を選択してください。
サンプルコード内の ${region_id} は SLS プロジェクトが配置されているリージョンを示します。必要に応じて置き換えてください。詳細については、「リージョンとエンドポイント」をご参照ください。たとえば、中国 (杭州) の ${region_id} は cn-hangzhou です。
仕様が低いマシンや古いオペレーティングシステムを使用している場合、Logtail 2.0 のインストール時に互換性の問題が発生し、ソフトウェアが正常に動作しない可能性があります。その場合は、バージョン 1.8.7 をダウンロードし、
./logtail.sh install ${region_id} -v 1.8.7コマンドを実行してインストールすることを推奨します。
ホストタイプ | アーキテクチャ | ダウンロード方法 | インストール方法 |
Linux
| ARM | インターネット接続があるホスト向け:直接ダウンロード | ご利用の ネットワークタイプ に応じて、インストールコマンドを選択します。 |
x86-64 | |||
ARM | オフラインホスト向け:まずインターネット接続のあるサーバーでインストールスクリプトおよびパッケージをダウンロードします。 | Logtail をインストールするサーバーにインストールスクリプトおよびパッケージをコピーした後、ご利用の ネットワークタイプ に応じて、インストールコマンドを選択します。 | |
x86-64 | オフラインホスト向け:まずインターネット接続のあるサーバーでインストールスクリプトおよびパッケージをダウンロードします。 | ||
Windows 説明
| 32 ビット | 中国リージョン向け:Logtail 32 ビットインストールパッケージ | インストールパッケージを解凍します。Windows PowerShell を管理者として実行し、解凍したパッケージのディレクトリである |
中国以外のリージョン向け:Logtail 32 ビットインストールパッケージ | |||
64 ビット | 中国リージョン向け:Logtail 64 ビットインストールパッケージ | ||
中国以外のリージョン向け:Logtail 64 ビットインストールパッケージ |
Logtail の一括インストール
以下のいずれかの方法を使用して、Logtail を一括でインストールします。
OOS オーケストレーション:権限要件があるシナリオに適しています。高い同時実行性をサポートし、大規模な一括操作に最適です。詳細については、「OOS を使用した Logtail の一括インストールおよびアップグレード」をご参照ください。
ECS クラウドアシスタント:使いやすい方法です。一時的なタスクを実行するためにコマンドを実行します。手順は以下のとおりです。
ECS コンソール - ECS クラウドアシスタント に移動します。
上部のナビゲーションバーで、管理対象のリソースのリージョンおよびリソースグループを選択します。
ECS クラウドアシスタント ページの右上隅で、コマンドの作成/実行 をクリックします。
コマンドの作成 パネルで、コマンド内容 フィールドにインストールコマンドを入力します。この例ではインターネット経由のインストール方法を使用します。その他のインストールコマンドについては、「Logtail のインストール」をご参照ください。

ここで使用するインストールコマンドは以下のとおりです。
#!/bin/bash region_id='cn-hangzhou' wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh ./logtail.sh install ${region_id}-internet重要Logtail をインストールした後、ECS インスタンスのネットワークタイプをクラシックネットワークから VPC に切り替えた場合、Logtail 構成を更新する必要があります。詳細については、「ECS インスタンスをクラシックネットワークから VPC に切り替えた後にマシングループ構成を更新するには?」をご参照ください。
インスタンスの選択 セクションで、対象インスタンスのエージェントステータスが 正常 であることを確認します。ステータスが「正常」でない場合は、「クラウドアシスタントエージェントのインストール」を参照してクラウドアシスタントをインストールしてください。対象インスタンスを選択し、実行 をクリックします。実行ステータスが 成功 になります。実行に失敗した場合は、「実行結果の確認と一般的な問題の修正」をご参照ください。
Logtail の起動および停止
Linux
Logtail の起動
sudo /etc/init.d/ilogtaild startLogtail の停止
sudo /etc/init.d/ilogtaild stop
Windows
対象サーバーにログインします。
を選択します。
サービス ダイアログボックスで、対応するサービスを選択します。
バージョン 0.x.x.x の場合:LogtailWorker サービスを選択します。
バージョン 1.0.0.0 以降の場合:LogtailDaemon サービスを選択します。
右クリックして、起動、停止、または 再起動 などの目的の操作を選択します。
Logtail のステータスおよびバージョンの確認
Linux
Logtail のステータスの確認
sudo /etc/init.d/ilogtaild status コマンドを実行して Logtail のステータスを確認します。「ilogtail is running」が返された場合、Logtail は実行中です。Logtail のステータスが実行中でない場合は、アンインストールしてから再インストールしてください。
Logtail のバージョンの確認
Logtail はバージョン情報を logtail_version フィールドに /usr/local/ilogtail/app_info.json ファイルに格納しています。以下のコマンドを実行して Logtail のバージョン情報を表示します。
cat /usr/local/ilogtail/app_info.json以下の結果が返されます。
{
"logtail_version" : "0.16.30",
}Windows
Logtail のステータスの確認
Logtail のステータスを確認して、対象サーバーに Logtail がインストールされているかどうかを判断します。
「実行」ウィンドウを開き、
services.mscを入力して「サービス」ウィンドウを開きます。LogtailDaemon サービス(Logtail 1.0.0.0 以降)または LogtailWorker サービス(Logtail 0.x.x.x)の実行ステータスを確認します。
実行中と表示された場合、Logtail は実行中です。
Logtail のバージョンの確認
Logtail のバージョンを、インストールパス内の app_info.json ファイルの logtail_version フィールドで確認します。
たとえば、以下の内容は Logtail のバージョンが 1.0.0.0 であることを示しています。
{
"logtail_version" : "1.0.0.0"
}Logtail のアップグレード
Linux
Logtail をアップグレードするには、
upgradeコマンドを使用します。installコマンドを使用すると、上書きインストールが行われ、元の構成が失われます。アップグレード中、Logtail は一時的に停止します。アップグレードが完了すると、Logtail は自動的に起動され、起動時に登録されます。アップグレードでは、必要なファイルのみが上書きされます。構成ファイルおよびチェックポイントファイルは保持されるため、アップグレード中にログが失われることはありません。
サンプルコード内の ${region_id} は SLS プロジェクトが配置されているリージョンを示します。必要に応じて置き換えてください。詳細については、「リージョンとエンドポイント」をご参照ください。たとえば、中国 (杭州) の ${region_id} は cn-hangzhou です。
以下の表から Logtail のアップグレード方法を選択してください。
オペレーティングシステム | ダウンロード方法 | アップグレード方法 |
ARM および x86-64 | インターネット接続があるホスト向け: | ダウンロードが完了したら、アップグレードコマンドを実行します: |
ARM | オフラインホスト向け:まずインターネット接続のあるサーバーでインストールスクリプトおよびパッケージをダウンロードします。
| Logtail をアップグレードするサーバーにインストールスクリプトおよびパッケージをコピーした後、以下のアップグレードコマンドを実行します。 |
x86-64 | オフラインホスト向け:まずインターネット接続のあるサーバーでインストールスクリプトおよびパッケージをダウンロードします。 |
以下の情報が表示された場合、アップグレードは成功しています。
stop successfully
Stop logtail successfully.
Upgrading logtail files ...
Upgrade logtail files successfully.
Starting logtail ...
ilogtail is running
Upgrade logtail successfully.
{
"UUID" : "XXXXXXXX-XXXX",
"compiler" : "GCC 9.3.1",
"hostname" : "xxx",
"instance_id" : "XXXXXXXX-XXXX_172.16.0.75_1730950372",
"ip" : "172.16.0.75",
"logtail_version" : "2.0.8",
"os" : "Linux; 5.10.134-13.an8.x86_64; #1 SMP Mon Jan 9 10:39:46 CST 2023; x86_64",
"update_time" : "2024-11-07 11:32:52"
}Windows
アップグレード手順はインストール手順と同じです。最新のインストールパッケージをダウンロードして解凍し、その後、手順に従ってインストールします。詳細については、「Logtail のインストール」をご参照ください。
アップグレードは、自動的なアンインストールおよび再インストールと同等です。元のインストールディレクトリの内容は削除されます。アップグレード前にデータをバックアップしてください。
64 ビット Windows オペレーティングシステムで、32 ビット版 Logtail を 64 ビット版にアップグレードする場合は、まず 32 ビット版 Logtail をアンインストールし、その後 64 ビット版 Logtail を再インストールする必要があります。
Logtail のアンインストール
Linux
ご利用の Simple Log Service プロジェクトが配置されているリージョンに対応する ${region_id} を取得します。${region_id} を置き換え、以下のコマンドを実行して Logtail をアンインストールします。
各リージョンの ${region_id} については、「リージョンとエンドポイント」をご参照ください。たとえば、中国 (杭州) の ${region_id} は cn-hangzhou です。
wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod +x logtail.sh; ./logtail.sh uninstallWindows
Windows PowerShell またはコマンドプロンプトを管理者として実行します。インストールパッケージを解凍した logtail_installer ディレクトリに移動し、以下のコマンドを実行します。
.\logtail_installer.exe uninstallアンインストールが成功すると、Logtail のインストールディレクトリが削除されます。ただし、一部の構成ファイルは C:\LogtailData ディレクトリに残ります。必要に応じて手動で削除できます。残る情報は以下のとおりです。
checkpoint:すべての Logtail プラグインのチェックポイント情報を格納します。このファイルは、Logtail プラグインを使用した後にのみ作成されます。
user_config.d:ローカル収集構成を格納するディレクトリです。
.json で終わるファイルは収集構成として扱われます。形式は /usr/local/ilogtail/user_log_config.json と同様です。
logtail_check_point:Logtail のメイン部分のチェックポイント情報を格納します。
users:設定済みのユーザー ID ファイルを格納します。
コンテナシナリオ
Logtail コンポーネントのインストール
ACK クラスターを使用しており、そのクラスターが SLS と同じ Alibaba Cloud アカウントに属する場合は、ACK クラスター向けの手順に従ってください。セルフマネージドクラスターを使用する場合、または ACK クラスターと SLS が異なる Alibaba Cloud アカウントに属する場合は、セルフマネージドクラスター向けの手順に従ってください。
ACK クラスターへのインストール
この操作は、ACK 専用クラスターおよび ACK マネージドクラスターにのみ適用されます。
既存の ACK クラスターへの Logtail コンポーネントのインストール
「Container Service Management Console」にログインします。
「クラスター」ページで、対象クラスターを見つけ、アクション列の を選択します。
ログおよびモニタリング タブで、logtail-ds を見つけ、インストール をクリックします。
インストールが完了すると、SLS が k8s-log-${your_k8s_cluster_id} という名前のプロジェクトを自動的に作成します。
新規 ACK クラスター作成時の Logtail コンポーネントのインストール
「Container Service Management Console」にログインします。
左側のナビゲーションウィンドウで、クラスター をクリックします。
「クラスター」ページで、Kubernetes クラスターの作成 をクリックします。
「Log Service の有効化」を選択します。
説明このセクションでは、Log Service の有効化に必要な主な手順のみを説明します。クラスターの作成方法については、「ACK マネージドクラスターの作成」をご参照ください。
「Log Service の有効化」を選択すると、プロジェクト作成のプロンプトが表示されます。SLS におけるログの組織構造については、「プロジェクト」をご参照ください。プロジェクトは、以下のいずれかの方法で作成できます。
プロジェクトの選択
収集したコンテナログを管理する既存のプロジェクトを選択します。

プロジェクトの作成
SLS が収集したコンテナログを管理するプロジェクトを自動的に作成します。
ClusterIDは、新しい Kubernetes クラスターの固有識別子です。
インストールが完了すると、選択したプロジェクトに以下の SLS リソースが自動的に作成されます。
リソースタイプ | リソース名 | 目的 | 例 |
マシングループ | k8s-group-${your_k8s_cluster_id} | logtail-daemonset のマシングループで、主にログ収集シナリオで使用されます。 | k8s-group-my-cluster-123 |
k8s-group-${your_k8s_cluster_id}-statefulset | logtail-statefulset のマシングループで、主にメトリック収集シナリオで使用されます。 | k8s-group-my-cluster-123-statefulset | |
k8s-group-${your_k8s_cluster_id}-singleton | 単一インスタンスのマシングループで、一部の単一インスタンス収集構成で使用されます。 | k8s-group-my-cluster-123-singleton | |
Logstore | config-operation-log | Logtail コンポーネント内の alibaba-log-controller のログを保存するために使用されます。この Logstore には収集構成を作成しないことを推奨します。この Logstore を削除しても構いません。削除後、alibaba-log-controller のランタイムログは収集されなくなります。この Logstore の課金は通常の Logstore と同様です。詳細については、「データ書き込み量課金項目」をご参照ください。 | config-operation-log |
セルフマネージドクラスターへのインストール
Kubernetes クラスターにログインします。リージョンに応じて、Logtail およびその依存コンポーネントをダウンロードするコマンドを選択します。
# 中国リージョン向け wget https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/0.5.5/alibaba-cloud-log-all.tgz; tar xvf alibaba-cloud-log-all.tgz; chmod 744 ./alibaba-cloud-log-all/k8s-custom-install.sh # 中国以外のリージョン向け wget https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/0.5.5/alibaba-cloud-log-all.tgz; tar xvf alibaba-cloud-log-all.tgz; chmod 744 ./alibaba-cloud-log-all/k8s-custom-install.sh./alibaba-cloud-log-all/values.yaml構成ファイルを変更します。メトリックの説明
values.yaml
# ===================== 必須フィールド ===================== # 送信先プロジェクトの名前。 SlsProjectName: # プロジェクトが配置されているリージョン。 Region: # プロジェクトの所有者である Alibaba Cloud アカウントの ID。二重引用符("")で囲んでください。 AliUid: "11099" # Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID および AccessKey Secret。AliyunLogFullAccess 権限が必要です。 AccessKeyID: AccessKeySercret: # カスタムクラスター ID。名前には大文字、小文字、数字、およびハイフン(-)のみ使用できます。 ClusterID: # ========================================================== # メトリック収集コンポーネントを有効化するかどうか。値:true、false。デフォルト値:true。 SlsMonitoring: true # ネットワークタイプ。値:Internet、Intranet。デフォルト値:Internet。 Net: Internet # コンテナランタイムが containerd であるかどうか。値:true、false。デフォルト値:false。 SLS_CONTAINERD_USED: trueSlsProjectNameLogtail がログをアップロードするプロジェクトの名前です。
Regionプロジェクトが配置されているリージョンの ID です。たとえば、中国 (杭州) のリージョン ID は
cn-hangzhouです。詳細については、「リージョンとエンドポイント」をご参照ください。AliUidプロジェクトの所有者である Alibaba Cloud アカウントの ID です。二重引用符("")で囲んでください(例:
AliUid: "11**99")。ID の取得方法については、「Simple Log Service の所有者である Alibaba Cloud アカウントの ID の取得」をご参照ください。AccessKeyIDプロジェクトの所有者である Alibaba Cloud アカウントの AccessKey ID です。RAM ユーザーの AccessKey を使用し、RAM ユーザーに AliyunLogFullAccess 権限を付与することを推奨します。詳細については、「RAM ユーザーの作成と権限付与」をご参照ください。
AccessKeySecretプロジェクトの所有者である Alibaba Cloud アカウントの AccessKey Secret です。RAM ユーザーの AccessKey を使用し、RAM ユーザーに AliyunLogFullAccess 権限を付与することを推奨します。詳細については、「RAM ユーザーの作成と権限付与」をご参照ください。
ClusterIDカスタムクラスター ID です。名前には大文字、小文字、数字、およびハイフン(-)のみ使用できます。このパラメーターは、後続の操作で使用される
${your_k8s_cluster_id}に対応します。異なる Kubernetes クラスターに対して同じクラスター ID を設定しないでください。SlsMonitoringクラスターメトリックデータ収集を有効化するスイッチです。値は以下のとおりです。
true(デフォルト):有効化
false:無効化
NetLogtail データ転送のネットワークタイプです。クラスターが Alibaba Cloud の内部ネットワークにアクセスできない場合は、インターネットを使用します。値は以下のとおりです。
Internet(デフォルト):インターネット
Intranet:内部ネットワーク
SLS_CONTAINERD_USEDコンテナランタイムが containerd であるかどうかを指定します。値は以下のとおりです。
true:はい
false(デフォルト):いいえ
containerd をコンテナランタイムとして使用するセルフマネージド Kubernetes クラスターでは、このパラメーターを有効化しないと Logtail がログを収集できない場合があります。
Logtail およびその依存コンポーネントをインストールします。
説明echo "$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)"コマンドを実行して、ホストのOS-architectureを照会します。k8s-custom-install.shスクリプトは、以下のOS-architectureの組み合わせをサポートしています:linux-386、linux-amd64、linux-arm、linux-arm64、linux-ppc64le、linux-s390x、darwin-amd64。bash k8s-custom-install.sh; kubectl apply -R -f result
インストールが完了すると、プロジェクトに以下の SLS リソースが自動的に作成されます。作成に失敗した場合は、変更した values.yaml ファイルを注意深く確認してください。
リソースタイプ | リソース名 | 目的 | 例 |
マシングループ | k8s-group-${your_k8s_cluster_id} | logtail-daemonset のマシングループで、主にログ収集シナリオで使用されます。 | k8s-group-my-cluster-123 |
k8s-group-${your_k8s_cluster_id}-statefulset | logtail-statefulset のマシングループで、主にメトリック収集シナリオで使用されます。 | k8s-group-my-cluster-123-statefulset | |
k8s-group-${your_k8s_cluster_id}-singleton | 単一インスタンスのマシングループで、一部の単一インスタンス収集構成で使用されます。 | k8s-group-my-cluster-123-singleton | |
Logstore | config-operation-log | Logtail コンポーネント内の alibaba-log-controller のログを保存するために使用されます。この Logstore には収集構成を作成しないことを推奨します。この Logstore を削除しても構いません。削除後、alibaba-log-controller のランタイムログは収集されなくなります。この Logstore の課金は通常の Logstore と同様です。詳細については、「データ書き込み量課金項目」をご参照ください。 | なし |
Logtail のステータス、バージョン、および IP アドレスの確認
以下のコマンドを実行して Logtail のステータスを確認します。
kubectl get po -n kube-system | grep logtail以下の結果が返されます。
NAME READY STATUS RESTARTS AGE logtail-ds-gb92k 1/1 Running 0 2h logtail-ds-wm7lw 1/1 Running 0 4d以下のコマンドを実行して、Logtail のバージョン番号および IP アドレスなどの情報を表示します。
kubectl exec logtail-ds-gb92k -n kube-system cat /usr/local/ilogtail/app_info.json以下の結果が返されます。
{ "hostname" : "logtail-ds-gb92k", "instance_id" : "0EBB2B0E-0A3B-11E8-B0CE-0A58AC140402_172.20.4.2_1517810940", "ip" : "192.0.2.0", "logtail_version" : "0.16.2", "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64", "update_time" : "2021-02-05 06:09:01" }
Logtail のアップグレードおよびロールバック
アップグレード前に、Logtail コンポーネントに関連する記述ファイルをバックアップします。
重要アップグレード前に大きな収集遅延が発生している場合、アップグレードによって少量のログ損失が発生する可能性があります。
kubectl get ds -n kube-system logtail-ds -o yaml > logtail-ds.yaml kubectl get deployment -n kube-system alibaba-log-controller -o yaml > alibaba-log-controller.yaml kubectl get crd aliyunlogconfigs.log.alibabacloud.com -o yaml > aliyunlogconfigs-crd.yaml kubectl get cm -n kube-system alibaba-log-configuration -o yaml > alibaba-log-configuration.yaml kubectl get aliyunlogconfigs --all-namespaces -o yaml > aliyunlogconfigs-cr.yamlクラスタータイプに応じてアップグレード方法を選択します。ACK クラスターを使用しており、そのクラスターが SLS と同じ Alibaba Cloud アカウントに属する場合は、ACK クラスター向けの手順に従ってください。セルフマネージドクラスターを使用する場合、または ACK クラスターと SLS が異なる Alibaba Cloud アカウントに属する場合は、セルフマネージドクラスター向けの手順に従ってください。
ACK クラスターでのアップグレード
自動アップグレード方法の使用を推奨します。logtail-ds DaemonSet または alibaba-log-controller デプロイメントで環境変数などのパラメーターを変更した場合は、変更がリセットされないように手動アップグレード方法を使用してください。
自動アップグレード
重要自動アップグレードでは、logtail-ds および alibaba-log-controller で手動で変更した構成がリセットされます。
「Container Service Management Console」にログインします。
ログおよびモニタリング タブで、logtail-ds を見つけ、アップグレード をクリックします。
コンポーネントのアップグレード ダイアログボックスで、OK をクリックします。
重要最新バージョンの Logtail にアップグレードできない場合は、Kubernetes クラスターのバージョンが古すぎる可能性があります。まず Kubernetes クラスターをアップグレードするか、手動アップグレード方法を使用してください。
アップグレードを実行した後、ACK コンソールで logtail-ds Pod のステータスを確認します。すべての logtail-ds Pod が「実行中」の状態であれば、アップグレードは成功しています。
「クラスター」ページで、対象クラスターを見つけ、アクション列の を選択します。
手動アップグレード
重要手動アップグレードでは、最新の Logtail コンポーネントに基づいて構成が更新されません。一部の機能最適化が利用できない場合があります。
手動アップグレードには、logtail-ds および alibaba-log-controller のアップグレードが含まれます。通常、新しい Logtail バージョンが提供する収集機能を得るには、logtail-ds のみをアップグレードすれば十分です。新しい Logtail CRD メソッドによる収集機能を得る必要がある場合は、alibaba-log-controller もアップグレードする必要があります。以下の手順では、logtail-ds を例として説明します。
「Container Service Management Console」にログインします。
を選択します。
説明alibaba-log-controller をアップグレードするには、 を選択します。その後、kube-system 名前空間で alibaba-log-controller を見つけ、アップグレードを完了します。
名前空間 を kube-system に設定し、logtail-ds の行で 編集 をクリックします。
以下の環境変数が存在するかどうかを確認します。
ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_USER_DEFINED_ID 環境変数が存在しない場合、Logtail のバージョンが古すぎる可能性があります。Logtail をアップグレードしてください。
イメージタグ の横にある イメージタグの選択 をクリックします。
イメージタグ ダイアログボックスで、最新のバージョンをクリックし、OK をクリックします。
ページの右側で、更新 をクリックします。
アップグレードを実行した後、ACK コンソールで logtail-ds Pod のステータスを確認します。すべての logtail-ds Pod が「実行中」の状態であれば、アップグレードは成功しています。
「クラスター」ページで、対象クラスターを見つけ、アクション列の を選択します。
セルフマネージドクラスターでのアップグレード
説明最新の Logtail コンポーネントをインストールすることでアップグレードすることを推奨します。logtail-ds や alibaba-log-controller などの一部のコンポーネントのイメージバージョンのみを更新すると、アップグレードが失敗する可能性があります。
自動アップグレードを完了するために Logtail コンポーネントを再インストールします。詳細については、「Logtail コンポーネントのインストール」をご参照ください。
特定のバージョンにロールバックするには、以下の手順に従います。
説明アップグレード前にバックアップした YAML ファイルには、Logtail 構成を復元するために手動で削除する必要がある冗長情報が含まれています。この作業には kubectl-neat ツールを使用できます。削除するフィールドは、metadata.creationTimestamp、metadata.generation、metadata.resourceVersion、metadata.uid、および status です。
ビジネス要件に応じて、アップグレード後の新しい Logtail 構成を保持するかどうかを判断します。
保持する必要がない場合は、新しい Logtail 構成を削除します。
バックアップファイルから冗長情報を削除します。
cat logtail-ds.yaml | kubectl-neat > neat-logtail-ds.yaml cat alibaba-log-controller.yaml | kubectl-neat > neat-alibaba-log-controller.yaml cat aliyunlogconfigs-crd.yaml | kubectl-neat > neat-aliyunlogconfigs-crd.yaml cat alibaba-log-configuration.yaml | kubectl-neat > neat-alibaba-log-configuration.yaml cat aliyunlogconfigs-cr.yaml | kubectl-neat > neat-aliyunlogconfigs-cr.yaml簡略化されたバックアップファイルを適用して Logtail 構成を復元します。
kubectl apply -f neat-logtail-ds.yaml kubectl apply -f neat-alibaba-log-controller.yaml kubectl apply -f neat-aliyunlogconfigs-crd.yaml kubectl apply -f neat-alibaba-log-configuration.yaml kubectl apply -f neat-aliyunlogconfigs-cr.yaml
Logtail のアンインストール
クラスタータイプに応じてアンインストール方法を選択します。ACK クラスターを使用しており、そのクラスターが SLS と同じ Alibaba Cloud アカウントに属する場合は、ACK クラスター向けの手順に従ってください。セルフマネージドクラスターを使用する場合、または ACK クラスターと SLS が異なる Alibaba Cloud アカウントに属する場合は、セルフマネージドクラスター向けの手順に従ってください。
ACK クラスターからのアンインストール
「Container Service Management Console」にログインします。
ログおよびモニタリング タブで、logtail-ds を見つけ、アンインストール をクリックします。
画面上の指示に従い、OK をクリックしてアンインストールを完了します。
「クラスター」ページで、対象クラスターを見つけ、アクション列の を選択します。
セルフマネージドクラスターからのアンインストール
logtail-ds や alibaba-log-controller などのインストール済みコンポーネントをアンインストールするには?
kubectl delete -R -f result を実行して、logtail-ds や alibaba-log-controller などのインストール済みコンポーネントをアンインストールします。
このコマンドは result ディレクトリ内のすべてのリソースを再帰的に削除します。ディレクトリに他のリソースが含まれている場合は、慎重に使用してください。
クラスター FAQ
複数の Kubernetes クラスターで 1 つの SLS プロジェクトをどのように使用しますか?
複数のクラスターから収集したコンテナログを同じ SLS プロジェクトにまとめたい場合は、最初にコンポーネントをインストールした際に使用したインストールパラメーターを、他のクラスターの SLS コンポーネントにも同じように設定します。
Logtail のログを確認するには?
Logtail のログは、Logtail コンテナ内の /usr/local/ilogtail/ ディレクトリに保存されています。ファイル名は ilogtail.LOG および logtail_plugin.LOG です。
Logtail コンテナの標準出力は参考になりません。以下の標準出力の内容は無視して構いません。
start umount useless mount points, /shm$|/merged$|/mqueue$
umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount
......
xargs: umount: exited with status 255; aborting
umount done
start logtail
ilogtail is running
logtail status:
ilogtail is runningKubernetes クラスター内の SLS コンポーネントのステータスを確認するには?
以下のコマンドを実行して確認します。
kubectl get deploy alibaba-log-controller -n kube-system
kubectl get ds logtail-ds -n kube-systemalibaba-log-controller の起動に失敗した場合はどうすればよいですか?
以下のインストール手順に従っているか確認してください。
Kubernetes クラスターのマスターノードでインストールコマンドを実行します。
インストールコマンドのパラメーターとしてクラスター ID を入力します。
これらの問題によりインストールに失敗した場合は、kubectl delete -f deploy コマンドを実行して生成されたインストールテンプレートを削除し、再度インストールコマンドを実行してください。
Kubernetes クラスター内の Logtail-ds DaemonSet のステータスを確認するには?
kubectl get ds -n kube-system コマンドを実行して Logtail-ds DaemonSet のステータスを確認します。
Logtail コンテナが配置されている名前空間は、デフォルトで kube-system です。
Logtail のランタイムログを確認するには?
Logtail のランタイムログは /usr/local/ilogtail/ ディレクトリに保存されています。ファイル名は ilogtail.LOG です。ローテーションされたファイルは圧縮され、ilogtail.LOG.x.gz として保存されます。たとえば、以下のコマンドを実行してログを表示できます。
kubectl exec logtail-ds-gb92k -n kube-system tail /usr/local/ilogtail/ilogtail.LOG結果は以下のとおりです。
[2018-02-05 06:09:02.168693] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:104] logtail plugin Resume:start
[2018-02-05 06:09:02.168807] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:106] logtail plugin Resume:success
[2018-02-05 06:09:02.168822] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:369] start add existed check point events, size:0
[2018-02-05 06:09:02.168827] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:511] add existed check point events, size:0 cache size:0 event size:0 success count:0特定の Pod で Logtail を再起動するには?
Logtail を停止します。
logtail-ds-gb92kはコンテナ名、kube-systemは名前空間です。必要に応じて置き換えてください。kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild stop以下の結果が表示された場合、Logtail は停止しています。
kill process Name: ilogtail pid: 7 kill process Name: ilogtail pid: 9 stop successLogtail を起動します。
logtail-ds-gb92kはコンテナ名、kube-systemは名前空間です。必要に応じて置き換えてください。kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild start
以下の結果が表示された場合、Logtail は起動しています。
ilogtail is running