このトピックでは、ホスト上でマシングループにハートビートがない問題のトラブルシューティング方法について説明します。
マシングループのインストール例
インストール方法 | シナリオ |
サーバーが Alibaba Cloud Elastic Compute Service (ECS) インスタンスであり、ECS インスタンスとプロジェクトの両方が同じ Alibaba Cloud アカウントに属し、同じリージョンにある場合にのみ適用されます。 | |
サーバーが Alibaba Cloud ECS インスタンスであり、ECS インスタンスとプロジェクトが同じ Alibaba Cloud アカウントに属しているが、異なるリージョンにある場合に適用されます。 | |
サーバーが Alibaba Cloud ECS インスタンスであり、ECS インスタンスとプロジェクトが同じリージョンにあるが、異なる Alibaba Cloud アカウントに属している場合に適用されます。 | |
|
トラブルシューティングガイド
ステップ 1: Logtail が正常に実行されているかの確認。サーバー上で Logtail が正常に実行されているかを確認します。
ステップ 2: マシングループ内の IP アドレスが Logtail によって取得されたものであることの確認。マシングループ内の IP アドレスが Logtail の `app_info.json` ファイル内の IP アドレスと同じであることを確認します。不一致があると、ハートビートの失敗を引き起こす可能性があります。
手順 3:Logtail 起動パラメーターが正しいかどうかを確認します。
ilogtail_config.jsonファイルに設定されているプロジェクトのリージョンが正しいかどうかを確認します。ステップ 4: ネットワーク接続の確認。サーバーとプロジェクト間のネットワーク接続が正常に機能しているかを確認します。
ステップ 5: Logtail サーバーのシステム時刻が正しいかの確認。システム時刻が現在時刻より大幅に進んでいたり遅れていたりする場合は、変更する必要があります。
ステップ 6: アカウント間収集のためのユーザー識別子の確認。サーバーが ECS インスタンスでない場合、または ECS インスタンスとプロジェクトが異なる Alibaba Cloud アカウントに属している場合は、正しいユーザー識別子が設定されているかを確認する必要があります。
ステップ 7: カスタム識別子ベースのマシングループを使用する場合、カスタム識別子が設定されているかの確認。マシングループがカスタム識別子ベースのマシングループである場合は、カスタム識別子が設定されているかを確認します。
ステップ 8: Logtail の再起動。上記の手順で変更を完了した後、Logtail を再起動する必要があります。
次の手順
ハートビートステータスが正常になった後もログが収集されない場合は、Logtail のエラーメッセージを表示して問題をトラブルシューティングできます。詳細については、「Logtail の収集エラーの表示」をご参照ください。
手順 1:Logtail が想定どおりに実行されているかどうかを確認する
Linux
Logtail がインストールされているサーバーにログインします。
次のコマンドを実行します。
ps -ef | grep ilogtail次のような 2 つのレコードが返された場合、Logtail は正常に実行されています。これらのレコードは、Logtail のデーモンプロセスとワーカープロセスを表します。
UID PID PPID C STIME TTY TIME CMD ... root 12 1 0 Nov10 ? 00:00:00 /usr/local/ilogtail/ilogtail root 14 12 0 Nov10 ? 03:07:43 /usr/local/ilogtail/ilogtail ...重要Logtail プロセスのレコードが 3 つ以上返された場合、複数の Logtail インスタンスがサーバー上で実行されています。これにより、データが重複して収集されるリスクがあります。これが意図した動作であるかを確認してください。
この結果は、Logtail プロセスが実行されていないことを示します。
Logtail はインストールされていますが、開始されていません。詳細については、「Logtail の開始と停止 (Linux)」をご参照ください。
Logtail がインストールされていません。Logtail をインストールできます。詳細については、「Logtail のインストール (Linux)」をご参照ください。
重要Logtail をインストールする際は、サポートされているオペレーティングシステムを選択してください。Simple Log Service プロジェクトのリージョンに基づいてインストールパラメーターを選択します。ネットワークタイプに基づいてインストール方法を選択します。ネットワークタイプの詳細については、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。
Windows
Logtail がインストールされているサーバーにログインします。
ファイル名を指定して実行ウィンドウを開き、
services.mscと入力します。LogtailDaemon サービス (Logtail 1.0.0.0 以降) または LogtailWorker サービス (Logtail 0.x.x.x) の実行ステータスを表示します。
サービスが実行されていません。
Logtail はインストールされていますが、開始されていません。詳細については、「Logtail の手動での開始と停止 (Windows)」をご参照ください。
Logtail がインストールされていません。Logtail をインストールできます。詳細については、「Logtail のインストール (Windows)」をご参照ください。
重要Logtail をインストールする際は、サポートされているオペレーティングシステムを選択してください。Simple Log Service プロジェクトのリージョンに基づいてインストールパラメーターを選択します。ネットワークタイプに基づいてインストール方法を選択します。ネットワークタイプの詳細については、「Logtail のネットワークタイプ、起動パラメーター、および設定ファイル」をご参照ください。
ステップ 2: マシングループ内の IP アドレスが Logtail によって取得されたものであることの確認
Logtail は、次のいずれかの方法で Linux サーバーの IP アドレスを取得します。
ホスト名のバインディングを設定しない場合、Logtail はサーバー上の最初の NIC の IP アドレスを取得します。
カスタム IP アドレスを使用するには、ステップ 3 で説明されているように、
ilogtail_config.jsonファイルのworking_ipパラメーターを設定します。このパラメーターを設定すると、app_info.jsonファイルのipフィールドの値が、working_ipフィールドの値と一致するように自動的に更新されます。working_ip の詳細については、「起動パラメーターの設定」をご参照ください。/etc/hostsファイルでホスト名のバインディングを設定した場合、Logtail はバインドされたホスト名に対応する IP アドレスを取得します。
`app_info.json` ファイルから
ipフィールドの値を取得します。次の表に、さまざまなオペレーティングシステムでのこのファイルのデフォルトパスを示します。
オペレーティングシステム
Logtail
app_info.json ファイルへのパス
Linux
Logtail (64 ビットプログラム)
/usr/local/ilogtail/app_info.json
Windows (64 ビット OS)
Logtail (64 ビットプログラム)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail (32 ビットプログラム)
C:\Program Files (x86)\Alibaba\Logtail\app_info.json
Windows (32 ビット OS)
Logtail (32 ビットプログラム)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail は、取得した IP アドレスを `app_info.json` ファイルの
ipフィールドに記録します。{ "UUID" : "", "hostname" : "iZ8vbdlzf******azuhZ", "instance_id" : "E9633380-***********-00163E1AA597_172.16.2.200_166****11", "ip" : "172.**.**.200", "logtail_version" : "1.3.1", "os" : "Linux; 4.19.91-26.1.al7.x86_64; #1 SMP Tue Jul 26 17:52:28 CST 2022; x86_64", "update_time" : "2022-12-27 05:38:33" }マシングループが Logtail によって取得された IP アドレスを使用していることを確認します。
Simple Log Service のマシングループには、IP ベースのマシングループとカスタム識別子ベースのマシングループがあります。詳細については、「マシングループ」をご参照ください。
IP ベースのマシングループ: [IP アドレス] フィールドに、前のステップの IP アドレスが含まれていることを確認します。
IP アドレスが含まれていない場合は、ホストの正しい IP アドレスを確認してください。 [IP アドレス] テキストボックスに、パブリック IP アドレスなど、対象の Logtail の別の IP アドレスが含まれている場合は、IP ベースのマシングループの IP アドレスを変更してください。 前のステップの IP アドレスが正しくない場合は、「Logtail 起動パラメーターの設定」の説明に従って working_ip パラメーターを変更し、Logtail を再起動してください。 その後、マシンのハートビートが正常であるか確認してください。 ハートビートが正常な場合、トラブルシューティングは完了です。
カスタム識別子ベースのマシングループ: [マシングループステータス] セクションで、前のステップで取得した IP アドレスがリストされていることを確認します。 [ハートビート] のステータスが [OK] の場合、トラブルシューティングプロセスを終了できます。

ステップ 3: Logtail の起動パラメーターが正しいかの確認
`ilogtail_config.json` ファイルには、Logtail の起動パラメーターが記録されています。
Logtail がインストールされているサーバーにログインします。
ilogtail_config.json ファイルを見つけます。
次の表に、さまざまなオペレーティングシステムでのこのファイルのデフォルトパスを示します。
オペレーティングシステム
Logtail
ilogtail_config.json ファイルへのパス
Linux
Logtail (64 ビットプログラム)
/usr/local/ilogtail/ilogtail_config.json
Windows (64 ビット OS)
Logtail (64 ビットプログラム)
\ilogtail_config.json
Logtail (32 ビットプログラム)
C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json
Windows (32 ビット OS)
Logtail (32 ビットプログラム)
C:\Program Files\Alibaba\Logtail\ilogtail_config.json
`ilogtail_config.json` ファイルを開き、設定パラメーターが正しいことを確認します。
{ "config_server_address" : "http://logtail.<config_region>.log.aliyuncs.com", "data_server_list" : [ { "cluster" : "<project_region>", "endpoint" : "<endpoint>" } ], ... }`ilogtail_config.json` ファイルの起動パラメーターが次の表の説明と一致する場合、Logtail の起動パラメーターは正しいです。
Logtail の起動パラメーターが正しくない場合は、次の表に基づいて `ilogtail_config.json` ファイルを変更し、Logtail を再起動します。詳細については、「Logtail の再起動」をご参照ください。
プロジェクトリージョンの詳細については、「リージョンとエンドポイント」をご参照ください。
シナリオ
ネットワークタイプ
<config_region>
<endpoint>
サーバーが ECS インスタンスであり、プロジェクトと同じリージョンにある。
Alibaba Cloud プライベートネットワーク
<project_region>-intranet
<project_region>-intranet.log.aliyuncs.com
その他のシナリオ
パブリックネットワーク
<project_region>
<project_region>.log.aliyuncs.com
転送アクセラレーション
log-global.aliyuncs.com
ステップ 4: ネットワーク接続の確認
Logtail を使用してデータをアップロードするには、Logtail がインストールされているサーバーが次のアドレスに接続できることを確認してください。
プライベートネットワークを使用する場合は、<endpoint> に -intranet を追加します。
ilogtail_config.jsonファイルのconfig_server_addressフィールドで指定されたアドレス、およびその HTTPS バージョン。http://<project_name>.<endpoint>。プロジェクト名とリージョンの表示方法は次のとおりです。

<endpoint>は、ilogtail_config.jsonファイルのdata_server_list.endpointフィールドで指定されたアドレスです。
http://ali-<project_region>-sls-admin.<endpoint>。<endpoint>は、ilogtail_config.jsonファイルのdata_server_list.endpointフィールドで指定されたアドレスです。
ネットワーク接続を確認し、次のように問題を解決します。
Linux
Logtail がインストールされているサーバーにログインします。
curlコマンドを実行して、上記のアドレスのそれぞれに接続します。curl http://<project_name>.cn-hangzhou-intranet.log.aliyuncs.comすべての応答が次の出力と同様である場合、ネットワーク接続は正常に機能しています。
{"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5D****09"}}ネットワーク接続が正常に機能していない場合は、ご利用のネットワーク環境でポート 80 と 443 が開いているかを確認してください。また、宛先アドレスがブロックされているか、DNS 設定やセキュリティグループなどの他のネットワークの問題がないかを確認することもできます。
Windows
Logtail がインストールされているサーバーにログインします。
telnetコマンドを実行して、上記のアドレスのそれぞれに接続を試みます。telnet <project_name>.cn-hangzhou-intranet.log.aliyuncs.com 80 # HTTPS の場合は、ポート 443 を使用します。すべての応答が次の出力と同様である場合、ネットワーク接続は正常に機能しています。
Trying 100*0*7*5... Connected to xxx. Escape character is '^]'.ネットワーク接続が正常に機能していない場合は、ご利用のネットワーク環境でポート 80 と 443 が開いているかを確認してください。また、宛先アドレスがブロックされているか、DNS 設定やセキュリティグループなどの他のネットワークの問題がないかを確認することもできます。
ステップ 5: Logtail サーバーのシステム時刻が正しいかの確認
Linux
Logtail がインストールされているサーバーにログインします。
dateコマンドを実行して、システム時刻を表示します。Wed Dec 28 06:59:26 UTC 2022システム時刻が現在時刻より大幅に進んでいたり遅れていたりする場合は、次の解決策を試すことができます。
システム時刻を現在時刻に調整します。
システム時刻を変更できない場合は、`ilogtail_config.json` ファイルに
"enable_log_time_auto_adjust": true設定項目を追加します。変更後、Logtail を再起動します。詳細については、「Logtail の再起動」をご参照ください。`ilogtail_config.json` ファイルのパスについては、「ステップ 3: Logtail の起動パラメーターが正しいかの確認」をご参照ください。
Windows
Logtail がインストールされているサーバーにログインします。
デスクトップの右下にあるタスクバーの時刻情報を表示します。
システム時刻を現在時刻に調整します。
システム時刻を変更できない場合は、`ilogtail_config.json` ファイルに `"enable_log_time_auto_adjust": true` 設定項目を追加します。変更後、Logtail を再起動します。詳細については、「Logtail の再起動」をご参照ください。`ilogtail_config.json` ファイルのパスについては、「ステップ 3: Logtail の起動パラメーターが正しいかの確認」をご参照ください。
ステップ 6: アカウント間収集のためのユーザー識別子の確認
サーバーが ECS インスタンスでない場合、または ECS インスタンスとプロジェクトが異なる Alibaba Cloud アカウントに属している場合は、正しいユーザー識別子が設定されているかを確認する必要があります。
ユーザー識別子は、Alibaba Cloud アカウント ID (ルートアカウント ID) である必要があります。詳細については、「ユーザー識別子の設定」をご参照ください。
指定されたディレクトリ内のユーザー識別子ファイルを確認して、ユーザー識別子が存在するかどうかを判断します。ディレクトリが空の場合は、指定されたパスにユーザー識別子ファイルが存在するかどうかを確認します。ユーザー識別子は、このサーバーにアクセスする権限をアカウントに付与します。
ユーザー識別子ファイルのパスは次のとおりです。
Linux: /etc/ilogtail/users/
Windows: C:\LogtailData\users\
指定されたパスにユーザー識別子ファイルが存在しないか、ファイルが正しく設定されていない場合は、次のように問題を解決できます。
Linux の場合:
cd /etc/ilogtail/users/ && touch <uid>コマンドを実行して、ユーザー識別子ファイルを作成します。<uid>は、プロジェクトオーナーの Alibaba Cloud アカウント ID です。Windows の場合:
C:\LogtailData\users\ディレクトリに移動し、<uid>という名前の空のファイルを作成します。<uid>は、プロジェクトオーナーの Alibaba Cloud アカウント ID です。
指定されたパスにプロジェクトオーナーの Alibaba Cloud アカウント ID で名前が付けられたファイルが存在する場合、ユーザー識別子は正しく設定されています。
ステップ 7: カスタム識別子ベースのマシングループを使用する場合、カスタム識別子が設定されているかの確認
カスタム識別子ベースのマシングループを使用する場合、指定されたディレクトリ内の `user_defined_id` ファイルを確認して、サーバーにカスタム識別子が設定されているかどうかを判断できます。
ファイルが空の場合は、
user_defined_idファイルが存在するか、またはファイルにカスタム識別子が設定されているかを確認します。説明`user_defined_id` ファイルのパスは次のとおりです。
Linux: /etc/ilogtail/user_defined_id
Windows: C:\LogtailData\user_defined_id
`user_defined_id` ファイルが存在しない場合は、`user_defined_id` ファイルを作成し、ファイルにマシングループのカスタム識別子を入力します。詳細については、「カスタム識別子の設定」をご参照ください。
`user_defined_id` ファイルにカスタム識別子がないか、識別子が正しくない場合は、ファイルに新しい行を追加し、マシングループのカスタム識別子を入力します。詳細については、「カスタム識別子の設定」をご参照ください。
`user_defined_id` ファイルにマシングループで設定したカスタム識別子がすでに含まれている場合、カスタム識別子は正しく設定されています。
手順 8:Logtail を再起動する
上記の手順で変更を完了した後、Logtail を再起動する必要があります。
Linux
Logtail がインストールされているサーバーにログインします。
次のコマンドを実行します。
sudo /etc/init.d/ilogtaild restart
Windows
Logtail がインストールされているサーバーにログインします。
ファイル名を指定して実行ウィンドウを開き、
services.mscと入力します。LogtailDaemon サービス (Logtail 1.0.0.0 以降) または LogtailWorker サービス (Logtail 0.x.x.x) を再起動します。