このトピックでは、サーバーにおけるマシングループのハートビート問題のトラブルシューティング方法を説明します。
マシングループのインストール例
インストール方法 | シナリオ |
サーバーは Elastic Compute Service (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 の収集エラーの表示:ハートビートのステータスが OK であるにもかかわらずログが収集されない場合は、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 アドレスベースのマシン グループとカスタム ID ベースのマシン グループの 2 種類があります。 詳細については、「マシン グループ」をご参照ください。
IP アドレスベースのマシングループ:[IPアドレス] リストに、前の手順で取得した IP アドレスが含まれているかを確認します。
IP アドレスが含まれていない場合、まず、サーバーの正しい IP アドレスを確認します。[IP アドレス] リストのアドレスが正しくない場合は、マシングループ設定で更新します。前の手順で Logtail によって取得された IP アドレスが間違っている場合は、「Logtail の起動パラメーターを設定する」で説明されているように working_ip パラメーターを変更し、Logtail を再起動します。修正後、マシンのハートビートを監視します。ステータスが正常になった場合、問題は解決です。
カスタム識別子ベースのマシングループ:[マシングループステータス] リストで、前の手順で取得した 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
Open the ilogtail_config.json file and check if the configuration parameters are correct.
{ "config_server_address" : "http://logtail.<config_region>.log.aliyuncs.com", "data_server_list" : [ { "cluster" : "<project_region>", "endpoint" : "<endpoint>" } ], ... }If the startup parameters in the ilogtail_config.json file match the following descriptions, they are correct.
If the startup parameters are incorrect, modify the ilogtail_config.json file based on the following table and then restart Logtail. For more information, see Restart Logtail.
For information about project regions, see Supported regions.
Scenario
Network type
<config_region>
<endpoint>
The server is an ECS instance, and it is in the same region as the project.
Alibaba Cloud internal network
<project_region>-intranet
<project_region>-intranet.log.aliyuncs.com
Other scenarios
Internet
<project_region>
<project_region>.log.aliyuncs.com
transfer acceleration
log-global.aliyuncs.com
LoongCollector:リージョンをまたいだ収集
ECS インスタンスのリージョンが SLS プロジェクトのリージョンと異なる場合 (例:ECS インスタンスが米国 (バージニア) リージョンにあり、プロジェクトが米国 (シリコンバレー) リージョンにある場合)、LoongCollector でもエンドポイントを正しく設定する必要があります。
LoongCollector 設定ファイル
/usr/local/ilogtail/ilogtail_config.json(Logtail と同じパス) を開きます。config_server_addressとdata_server_list[].endpointが、宛先プロジェクトが存在するリージョンのエンドポイント (たとえば、us-west-1.log.aliyuncs.comやus-west-1-intranet.log.aliyuncs.com) を指していることを確認してください。設定を変更した後、
sudo /etc/init.d/loongcollectord restartを実行して LoongCollector を再起動すると、変更が反映されます。変更後もログのアップロードに失敗する場合は、LoongCollector をアンインストールし、正しいリージョンのエンドポイントで再インストールしてください。
キーワード:LoongCollector、リージョン間、エンドポイント設定
ステップ 4:ネットワーク接続の確認
データのアップロードを成功させるには、Logtail サーバーが以下のアドレスに接続できる必要があります。
内部ネットワークを使用する場合、<endpoint> の後に -intranet を追加する必要があります。
ilogtail_config.jsonファイルのconfig_server_addressフィールドで指定されたアドレスと、その HTTPS バージョン。http://<プロジェクト名>.<エンドポイント>。プロジェクト名とリージョンは、以下の図に示すように確認できます。

<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システム時刻が実際の時刻から大幅にずれている場合は、以下のいずれかのアクションを実行してください。
システム時刻を正しい時刻に調整します。
システム時刻を変更できない場合は、ilogtail_config.json ファイルに設定項目
"enable_log_time_auto_adjust": trueを追加して Logtail の起動パラメーターを変更します。 ファイルを変更した後、Logtail を再起動します。 詳細については、「Logtail を再起動する」をご参照ください。 ilogtail_config.json ファイルのパスについては、「手順 3: Logtail の起動パラメーターが正しいかどうかを確認する」をご参照ください。
Windows
Logtail がインストールされているサーバーにログインします。
デスクトップの右下にあるタスクバーの時刻を確認してください。
システム時刻を正しい時刻に調整します。
システム時刻を変更できない場合は、Logtail の起動パラメーターを変更します。
"enable_log_time_auto_adjust": true設定を ilogtail_config.json ファイルに追加してください。変更後、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ファイルの有無、およびそのファイルにユーザー定義 ID が設定されているかを確認する必要があります。説明user_defined_idファイルのパスは次のとおりです:Linux:
/etc/ilogtail/user_defined_idWindows:
C:\LogtailData\user_defined_id
user_defined_idファイルが存在しない場合は、ファイルを作成し、マシングループのカスタム識別子を入力してください。詳細については、「カスタム識別子の設定」をご参照ください。user_defined_idファイルは存在するが、正しいカスタム識別子が含まれていない場合は、マシングループのカスタム識別子をファイルに追加してください。詳細については、「カスタム識別子の設定」をご参照ください。user_defined_idファイルに、マシングループに設定したカスタム識別子がすでに含まれている場合、設定は正しいです。
LoongCollector
LoongCollector (Logtail を置き換える次世代のデータコレクター) を使用する場合は、以下の違いに注意してください:
カスタム ID ファイルパスは Logtail と同じで、オペレーティングシステムによって異なります。Linux の場合は
/etc/ilogtail/user_defined_id、Windows の場合はC:\LogtailData\user_defined_idです。/etc/loongtail/user_defined_idではありません。間違ったパス/etc/loongtail/user_defined_idにファイルが存在する場合は、それを削除し、LoongCollector が実行されているオペレーティングシステムの正しいパスにuser_defined_idファイルを作成し、ファイル権限を644(chmod 644 /etc/ilogtail/user_defined_id) に設定してください。LoongCollector のサービス再起動コマンドは Logtail とは異なります。
Linux:
sudo /etc/init.d/loongcollectord restartsudo /etc/init.d/ilogtaild restartは使用しないでください。このコマンドは Logtail にのみ適用されます。
キーワード:LoongCollector、user_defined_id パス、権限 644
ステップ 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 バージョン) を再起動してください。
よくある質問
Logtail の収集設定を追加するときに「No machines are found in the selected machine group」というメッセージが表示されるのはなぜですか?
以下の項目を順番に確認してください。
データコレクター (Logtail または LoongCollector) が宛先の ECS インスタンスにインストールされ、正常に実行されていることを確認してください。
ECS インスタンスが、選択したマシングループ (IP アドレスベースのマシングループまたはカスタム識別子ベースのマシングループ) に IP アドレスまたはカスタム ID で追加されており、マシングループのハートビートが OK であることを確認してください。
Logtail または LoongCollector の収集設定がマシングループに正しく適用されていることを確認してください。
マシングループのハートビートが FAIL の場合は、このトピックのステップ 1 から 8 に従って問題をトラブルシューティングしてください。
マシングループが設定されていない場合は、SLS コンソールでマシングループを作成するか既存のマシングループを修正し、宛先の ECS インスタンスをマシングループに追加してください。
このFAQは、「No machine configurations are found」、「The destination machine cannot be selected」、「The message still indicates that no configurations are found after I add an instance」などの類似した質問にも適用されます。
ECS インスタンスが ALB インスタンスのバックエンドから一時的に削除された場合、Logtail エージェントを停止したり、SLS の設定を削除したりする必要はありますか?
ログの収集とアップロードを停止するには、ECS インスタンスで
/etc/init.d/ilogtaild stopを実行します。Simple Log Service コンソールで ECS インスタンスの IP アドレス設定やマシングループ設定を削除することは不要です。ECS インスタンスを ALB バックエンドに追加し直した後、
/etc/init.d/ilogtaild startを実行してログ収集を再開します。再設定は不要です。
LoongCollector を使用する場合は、上記のコマンドの ilogtaild を loongcollectord に置き換えてください。
Logtail の収集設定で「use default value instead module input_file」エラーが報告された場合はどうすればよいですか?
このエラーは通常、Kubernetes コンテナのログ収集設定が、スタンドアロンの ECS インスタンスなどの非コンテナ環境に誤って適用された場合に発生します。
この問題を解決するには、以下の手順に従ってください。
SLS コンソールで現在の Kubernetes タイプの収集設定を削除します。
[自己管理サーバー - テキストログ] タイプの新しい収集設定を作成します。
正しいログファイルパスを指定し、設定を宛先のマシングループにバインドします。
ECS インスタンスで
sudo /etc/init.d/ilogtaild restartを実行して Logtail を再起動します。
LoongCollector を使用する場合は、再起動コマンドを sudo /etc/init.d/loongcollectord restart に置き換えます。
誤ってパブリック IP アドレスを使用するなど、設定エラーが発生した後にマシングループを削除して再作成する必要はありますか?
いいえ、マシングループを削除して再作成する必要はありません。
Logtail がインストールされていない、または IP アドレス設定が正しくないためにハートビートが異常な場合、Alibaba Cloud コンソールの SLS コンソールで [マシングループ] ページに移動し、該当のマシングループを見つけて [Logtailのインストール] をクリックすると、内部ネットワーク経由でクライアントが自動的にインストールされます。前提条件:
Cloud Assistant エージェントが ECS インスタンスにインストールされていること。
現在の Alibaba Cloud アカウントが必要な権限を持っていること。
インストールが完了したら、約 2 分間待ちます。マシングループのハートビートステータスは OK に回復します。インストール方法やネットワークタイプが誤って選択された場合にのみ、再インストールが必要になります。
テスト環境では Logtail の設定が失敗するが、本番環境では同じアカウントとクラスターで正常に動作する問題は、どのようにトラブルシューティングすればよいですか?
以下の項目を順番に確認してください。
テスト環境のマシングループのハートビートを確認してください。ステータスが FAIL の場合は、2 分待ってからページを更新してください。それでもステータスが FAIL のままであれば、このトピックのステップ 1 から 8 に従って問題をトラブルシューティングしてください。
テスト環境の LoongCollector または Logtail の設定で指定された [Project] と [LogStore] の名前が正しく綴られており、その LogStore が宛先リージョンに存在することを確認してください。
現在の RAM ロールまたは RAM ユーザーが、宛先の LogStore に対する書き込み権限 (例:
log:PostLogStoreLogs権限) を持っていることを確認してください。テスト環境で使用されているカスタム ID が、収集設定にバインドされているマシングループのカスタム ID と一致することを確認してください。