このトピックでは、Logtail を使用して、同じ Alibaba Cloud アカウント配下にあるが、異なるリージョンにある Linux サーバーからログを収集する方法について説明します。
ソリューション概要
たとえば、ある企業がリージョン A の ECS インスタンスにウェブサイトアプリケーションをデプロイし、リージョン B に Simple Log Service プロジェクトをデプロイしているとします。この企業は、Logtail 構成を使用してリージョン A の ECS インスタンスからログを収集し、リージョン B の Simple Log Service プロジェクトに送信したいと考えています。これを行うには、次のステップを実行します:
ステップ 3: リージョン B の Simple Log Service プロジェクトでカスタム ID ベースのマシングループを作成する
ステップ 4: リージョン B の Simple Log Service プロジェクトで Logtail 構成を作成する
以下のフローチャートは、構成手順を示しています。
前提条件
プロジェクトと Logstore が必要です。詳細については、「プロジェクトの管理」および「Logstore の作成」をご参照ください。
ステップ 1: リージョン A の ECS インスタンスに Logtail をインストールする
ネットワーク転送
転送モード | シナリオ |
インターネット |
|
転送アクセラレーション | サーバーは、中国国外のサードパーティのクラウド サービス プロバイダーによって提供されているか、中国国外のデータセンターにあります。インターネット経由のデータ転送は、高いネットワーク遅延や不安定な接続を引き起こす可能性があります。この場合、転送アクセラレーション機能を使用します。詳細については、「転送アクセラレーションの管理」をご参照ください。 |
リージョン A の ECS インスタンスにログオンします。「ネットワーク転送」を参照して、ネットワーク環境に適した Logtail インストールスクリプトを選択してください。Logtail がサポートする Linux オペレーティングシステムについては、「制限」をご参照ください。
インターネット
Simple Log Service プロジェクトが存在するリージョンの Simple Log Service パラメーターの値を取得します。取得した値で ${region_id} パラメーターを置き換え、インストールコマンドを実行します。
各リージョンの ${region_id} パラメーターの値の詳細については、「サポートされているリージョン」をご参照ください。たとえば、シンガポールリージョンの ${region_id} パラメーターの値は ap-southeast-1 です。
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転送アクセラレーション
Simple Log Service プロジェクトが存在するリージョンの Simple Log Service パラメーターの値を取得します。取得した値で ${region_id} パラメーターを置き換え、インストールコマンドを実行します。
各リージョンの
${region_id}パラメーターの値の詳細については、「サポートされているリージョン」をご参照ください。たとえば、中国 (杭州) リージョンの${region_id}パラメーターの値はcn-hangzhouです。転送アクセラレーションを使用して Logtail をインストールした後、転送アクセラレーション機能を有効にして有効にする必要があります。詳細については、「プロジェクトの転送アクセラレーション機能を有効にする」をご参照ください。
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}-accelerationステップ 2: リージョン A の ECS インスタンスにカスタム ID を設定する
指定されたディレクトリに
user_defined_idという名前のファイルを作成し、そのファイルにカスタム ID を追加します。重要[マシングループ] には Linux サーバーと Windows サーバーの両方を含めることはできず、同じ [カスタム ID] を両方に使用することはできません。
サーバーに複数の [カスタム ID] を設定できます。改行で区切ります。
Linux 環境
Logtail がインストールされている Linux サーバーにログインし、次のコマンドを実行して [カスタム ID] を設定します。
説明/etc/ilogtail/ディレクトリが存在しない場合は、ディレクトリを作成します。echo "user-defined-1" > /etc/ilogtail/user_defined_id(オプション) 次のコマンドを実行して、[カスタム ID] が設定されているかどうかを確認します。
user-defined-1が返された場合、カスタム ID は設定されています。cat /etc/ilogtail/user_defined_iduser_defined_idファイルを作成、削除、または変更した後、新しい設定はデフォルトで 1 分以内に有効になります。設定をすぐに有効にするには、次のコマンドを実行して Logtail を再起動します。/etc/init.d/ilogtaild stop /etc/init.d/ilogtaild start
Windows 環境
Logtail がインストールされている Windows サーバーにログオンします。
C:\LogtailDataディレクトリに、user-defined-1を含むuser_defined_idという名前のファイルを作成して保存します。説明C:\LogtailDataディレクトリが存在しない場合は、ディレクトリを作成します。user_defined_id ファイルを作成、削除、または変更した後、新しい設定はデフォルトで 1 分以内に有効になります。設定をすぐに有効にするには、Logtail を再起動します。
を選択します。
[サービス] ダイアログボックスで、管理するサービスを選択します。
Logtail V0.x.x.x の場合は、LogtailWorker サービスを選択します。
Logtail V1.0.0.0 以降の場合は、LogtailDaemon サービスを選択します。
サービスを右クリックし、[再起動] を選択します。
コンテナー環境
カスタム ID は、Logtail コンテナーの ALIYUN_LOGTAIL_USER_DEFINED_ID 環境変数で設定されます。docker inspect ${logtail_container_name} | grep ALIYUN_LOGTAIL_USER_DEFINED_ID コマンドを実行して、この設定を表示できます。
ステップ 3: リージョン B の Simple Log Service プロジェクトでカスタム ID ベースのマシングループを作成する
Simple Log Service コンソールにログオンします。[プロジェクト] セクションで、目的のプロジェクトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。[マシングループ] リストで、 を選択します。

[マシングループの作成] パネルでパラメーターを設定し、[OK] をクリックします。次の表にパラメーターを示します。
パラメーター
説明
名前
マシングループの名前は、次の要件を満たす必要があります:
小文字、数字、ハイフン (-)、アンダースコア (_) のみを含めることができます。
小文字または数字で始まる必要があります。
長さは 2~128 文字です。
重要マシングループを作成した後は、その名前を変更できません。注意して進めてください。
マシングループ ID
マシングループの ID タイプ。[IP アドレス] を選択します。
マシングループ Topic
オプション。Topic は、異なるサーバーによって生成されたログを識別するために使用されます。
IP アドレス
IP アドレス。Logtail によって自動的に取得される IP アドレスを入力します。
重要マシングループに複数のサーバーを追加する場合は、サーバーの IP アドレスを手動で入力し、改行で IP アドレスを区切ることをお勧めします。
マシングループには、Linux サーバーと Windows サーバーの両方を含めることはできません。Linux サーバーと Windows サーバーの IP アドレスを同じ [マシングループ] に追加しないでください。
[マシングループ] リストで、ターゲットのマシングループをクリックします。[マシングループ構成] ページで、マシングループの構成とサーバーのステータスを確認します。
ステップ 4: リージョン B の Simple Log Service プロジェクトで Logtail 構成を作成する
Logtail がインストールされているホストでは、アウトバウンドトラフィックに対してポート 80 (HTTP) と 443 (HTTPS) を開く必要があります。ホストが ECS インスタンスの場合、ポートはセキュリティグループルールによって制御されます。セキュリティグループルールの追加方法の詳細については、「セキュリティグループルールの追加」をご参照ください。
Logtail は、継続的に更新されるファイルから増分ログのみを収集します。Logtail 構成を適用した後にログファイルが更新されない場合、Logtail はそのファイルからログを収集しません。詳細については、「ログファイルの読み取り」をご参照ください。
既存データを収集するには、「既存ログファイルのインポート」をご参照ください。
参考
Logtail を使用してログを収集する際に、プレビューページが空白であるか、クエリページにデータが表示されない場合は、「Logtail を使用してログを収集する際にエラーが発生した場合はどうすればよいですか?」に記載されている手順に従って問題をトラブルシューティングできます。Logtail を使用してログを収集すると、エラーが発生する可能性があります。たとえば、正規表現の解析に失敗したり、無効なファイルパスが存在したり、トラフィックがシャードの処理能力を超えたりすることがあります。「Logtail の収集エラーを表示するにはどうすればよいですか?」に記載されている手順に従って、Logtail の収集エラーを表示できます。データ収集における一般的なエラーの詳細については、「Simple Log Service データ収集における一般的なエラータイプ」をご参照ください。
デフォルトでは、1 つの Logtail 構成のみを使用してログファイルからログを収集できます。ファイル内のログの複数のコピーを収集する場合は、「ファイル内のログの複数のコピーを収集するにはどうすればよいですか?」に記載されている手順に従うことができます。
イントラネット内のサーバーから Simple Log Service にログを収集する方法の詳細については、「イントラネット内のサーバーからログを収集する」をご参照ください。
> [マシングループの作成]