このトピックでは、サーバーにおけるマシングループのハートビートの問題をトラブルシューティングする方法について説明します。
マシングループのインストール例
インストール方法 | シナリオ |
サーバーは 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 インスタンスでない場合、またはインスタンスとプロジェクトが異なる 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 ...重要出力に 3 つ以上の Logtail プロセスが表示される場合、サーバー上で複数の Logtail インスタンスが実行されています。これにより、ログの重複収集が発生する可能性があります。これが意図した動作であるかを確認してください。
実行中の Logtail プロセスが出力に表示されない場合:
Logtail はインストールされていますが、実行されていません。詳細については、「Logtail の起動と停止 (Linux)」をご参照ください。
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 のインストール (Windows)」をご参照ください。
重要Logtail をインストールする際は、サポートされているオペレーティングシステムを選択し、ご利用の Simple Log Service プロジェクトのリージョンとネットワークタイプに適した正しいインストールパラメーターを選択してください。ネットワークタイプの詳細については、「Logtail のネットワークタイプ、起動パラメーター、設定ファイル」をご参照ください。
ステップ 2:IP アドレスの一致の確認
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 ビット)
Logtail (64 ビット)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail (32 ビット)
C:\Program Files (x86)\Alibaba\Logtail\app_info.json
Windows (32 ビット)
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 アドレスベースのマシングループとカスタム識別子ベースのマシングループの 2 種類のマシングループを提供します。詳細については、「マシングループ」をご参照ください。
IP アドレスベースのマシングループ:[IP アドレス] リストに、前のステップで取得した IP アドレスが含まれているかどうかを確認します。
IP アドレスが含まれていない場合は、まずサーバーの正しい IP アドレスを確認します。[IP Address] リストのアドレスが正しくない場合は、マシングループの設定で更新します。Logtail が 前のステップで取得した IP アドレスが間違っている場合は、Logtail の起動パラメーターを設定するで説明されているように working_ip パラメーターを修正し、Logtail を再起動します。修正後、マシンのハートビートをモニターします。ステータスが正常になった場合、問題は解決されます。
カスタム ID ベースのマシングループ:[マシングループステータス] リストで、前のステップで取得した IP アドレスを確認します。[ハートビート] のステータスが [OK] の場合、問題は解決されています。

ステップ 3:起動パラメーターの確認
ilogtail_config.json ファイルには、Logtail の起動パラメーターが含まれています。
Logtail がインストールされているサーバーにログインします。
ilogtail_config.json ファイルを見つけます。
次の表に、さまざまなオペレーティングシステムにおけるこのファイルのデフォルトパスを示します。
オペレーティングシステム
Logtail
ilogtail_config.json のパス
Linux
Logtail (64 ビット)
/usr/local/ilogtail/ilogtail_config.json
Windows (64 ビット)
Logtail (64 ビット)
C:\Program Files\Alibaba\Logtail\ilogtail_config.json
Logtail (32 ビット)
C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json
Windows (32 ビット)
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 ファイルの起動パラメーターが以下の説明と一致する場合、それらは正しいです。
起動パラメーターが正しくない場合は、以下の表に基づいて 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 サーバーが以下のアドレスに接続できる必要があります。
内部ネットワークを使用する場合、<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コマンドを実行して、上記のアドレスに 1 つずつ接続を試みます。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:システム時刻の確認
Linux
Logtail がインストールされているサーバーにログインします。
dateコマンドを実行してシステム時刻を表示します。Wed Dec 28 06:59:26 UTC 2022システム時刻が実際の時刻と大幅にずれている場合は、次のいずれかのアクションを実行します。
システム時刻を正しい時刻に調整します。
システム時刻を変更できない場合は、Logtail の起動パラメーターを変更し、設定項目
"enable_log_time_auto_adjust": trueを ilogtail_config.json ファイルに追加します。ファイルを修正した後、Logtail を再起動します。詳細については、「Logtail の再起動」をご参照ください。ilogtail_config.json ファイルのパスについては、「ステップ 3:Logtail の起動パラメーターが正しいかの確認」をご参照ください。
Windows
Logtail がインストールされているサーバーにログインします。
デスクトップ右下のタスクバーで時刻を確認します。
システム時刻を正しい時刻に調整します。
システム時刻を変更できない場合は、Logtail の起動パラメーターを変更します。ilogtail_config.json ファイルに `"enable_log_time_auto_adjust": true` 設定を追加します。修正後、Logtail を再起動する必要があります。詳細については、「Logtail の再起動」をご参照ください。ilogtail_config.json ファイルのパスについては、「ステップ 3:起動パラメーターの確認」をご参照ください。
ステップ 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 ファイルに、マシングループに設定したカスタム識別子がすでに含まれている場合、設定は正しいです。
ステップ 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 バージョン) を再起動します。