このトピックでは、Logtailマシングループにホスト環境でハートビートがないというエラーのトラブルシューティング方法について説明します。
ステップ1: Logtailが期待どおりに実行されるかどうかを確認
Linux
Logtailがインストールされているサーバーにログオンします。
以下のコマンドを実行します。
ps -ef | grep ilogtail
次の2つのレコードが返された場合、Logtailは期待どおりに実行されます。 レコードは、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をインストールします。 詳細については、「LinuxサーバーへのLogtailのインストール」をご参照ください。
重要サーバーにLogtailをインストールするときは、サーバーのオペレーティングシステムがLogtailでサポートされていることを確認してください。 Simple Log Serviceプロジェクトのリージョンに基づいてインストールパラメーターを設定し、使用するネットワークタイプに基づいてインストール方法を選択できます。 ネットワークタイプの詳細については、「ネットワークタイプの選択」をご参照ください。
Windows
Logtailがインストールされているサーバーにログオンします。
[実行] ウィンドウを開き、
services.msc
と入力して [サービス] ウィンドウを開きます。LogtailDaemonまたはLogtailWorkerサービスのステータスを表示します。 Logtail V1.0.0.0以降の場合、LogtailDaemonサービスのステータスを表示します。 Logtail V0.x.x.xの場合、LogtailWorkerサービスのステータスを表示します。
サービスが [実行中] 状態でない場合は、Logtailをインストールします。 詳細については、「WindowsサーバーへのLogtailのインストール」をご参照ください。
重要サーバーにLogtailをインストールするときは、サーバーのオペレーティングシステムがLogtailでサポートされていることを確認してください。 Simple Log Serviceプロジェクトのリージョンに基づいてインストールパラメーターを設定し、使用するネットワークタイプに基づいてインストール方法を選択できます。 ネットワークタイプの詳細については、「ネットワークタイプの選択」をご参照ください。
ステップ2: マシングループで指定されたIPアドレスが、Logtailで取得したIPアドレスと同じかどうかを確認する
Logtailは、次のいずれかの方法を使用してサーバーのIPアドレスを取得します。
サーバーのホスト名がIPアドレスにマップされていない場合、Logtailはサーバーの最初のネットワークインターフェイスコントローラー (NIC) のIPアドレスを取得します。
サーバーのホスト名がIPアドレスにマッピングされている場合、Logtailはサーバーの
/etc/hosts
ファイルからIPアドレスを取得します。 /etc/hostsファイルには、hostname-IPアドレスマッピング設定が含まれています。
マシングループで指定されたIPアドレスがLogtailで取得したIPアドレスと同じかどうかを確認するには、次の操作を実行します。
app_info.jsonファイルを開きます。
ip
フィールドの値は、Logtailによって取得されるIPアドレスを指定します。 次の表に、さまざまなオペレーティングシステムのapp_info.jsonファイルへのデフォルトパスを示します。オペレーティングシステム
Logtail
app_info.jsonファイルへのパス
Linux
64ビットLinuxのLogtail
/usr/local/ilogtail/app_info.json
64ビットWindows
64ビットWindowsのLogtail
C:\プログラムファイル \Alibaba\Logtail\app_info.json
32ビットWindowsのLogtail
C:\プログラムファイル (x86)\Alibaba\Logtail\app_info.json
32ビットWindows
32ビットWindowsのLogtail
C:\プログラムファイル \Alibaba\Logtail\app_info.json
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" }
マシングループで指定されているIPアドレスが、Logtailで取得したIPアドレスと同じかどうかを確認します。
Simple Log Serviceマシングループは、IPアドレスベースのマシングループとカスタム識別子ベースのマシングループに分類されます。 詳細については、「Introduction」をご参照ください。
IPアドレスベースのマシングループを使用する場合は、[IPアドレス] フィールドにIPアドレスを表示します。 詳細については、「マシングループの管理」をご参照ください。
IP Addressフィールドの値がパブリックIPアドレスなどのLogtailの別のIPアドレスの場合は、Logtailで取得したIPアドレスに変更します。 次に、マシングループのハートビートが検出できるかどうかを確認します。 ハートビートを検出できる場合は、トラブルシューティングを停止できます。
カスタム識別子ベースのマシングループを使用する場合は、Logtailによって取得されたIPアドレスを使用して、マシングループのステータスを照会します。 詳細については、「マシングループの管理」をご参照ください。 ハートビートステータスがOKの場合、トラブルシューティングを停止できます。
ステップ3: Logtail起動パラメータが有効かどうかを確認する
ilogtail_config.jsonファイルには、Logtailの起動パラメーターが記録されます。
Logtailがインストールされているサーバーにログオンします。
ilogtail_config.jsonファイルを見つけます。
次のコマンドを実行して、環境変数からファイルのパスを取得できるかどうかを確認します。
echo $ALIYUN_LOGTAIL_CONFIG
出力が空の场合, 环境変数からファイルのパスを取得できません。 次のいずれかのデフォルトパスを使用して、ilogtail_config.jsonファイルを検索できます。
オペレーティングシステム
Logtail
ilogtail_config.jsonファイルへのパス
Linux
64ビットLinuxのLogtail
/usr/local/ilogtail/ilogtail_config.json
64ビットWindows
64ビットWindowsのLogtail
C:\プログラムファイル \Alibaba\Logtail\ilogtail_config.json
32ビットWindowsのLogtail
C:\プログラムファイル (x86)\Alibaba\Logtail\ilogtail_config.json
32ビットWindows
32ビットWindowsのLogtail
C:\プログラムファイル \Alibaba\Logtail\ilogtail_config.json
ilogtail_config.jsonファイルを開き、設定ファイルのパラメーターが有効かどうかを確認します。
{ "config_server_address" : "http://logtail.<config_region>.log.aliyuncs.com", "data_server_list" : [ { "cluster" : "<Region to which the project belongs>", "endpoint" : "<endpoint>" } ], ... }
ilogtail_config.jsonファイルの起動パラメーターの設定が次の表の説明に従っている場合、Logtailの起動パラメーターは有効です。
Logtailの起動パラメーターが無効な場合は、次の表の説明に基づいてilogtail_config.jsonファイルを変更し、Logtailを再起動します。 詳細については、「付録: Logtailの再起動」をご参照ください。
シナリオ
ネットワークタイプ
<config_region>
<endpoint>
サーバーは、プロジェクトと同じリージョンにあるECS (Elastic Compute Service) インスタンスです。
Alibaba Cloud内部ネットワーク
<プロジェクトが属するリージョン>-イントラネット
<プロジェクトが属するリージョンs>-intranet.log.aliyuncs.com
他のシナリオ
インターネット
<プロジェクトが属するリージョン>
<プロジェクトが属するリージョンs>.log.aliyuncs.com
転送アクセラレーション
log-global.aliyuncs.com
ステップ4: ネットワーク接続が利用可能かどうかを確認する
Logtailは、Logtailがインストールされているサーバーが次のアドレスに接続できる場合にのみ、Simple Log Serviceにデータをアップロードできます。
重要内部ネットワークを使用する場合は、
<endpoint>
の末尾に-intranet
を追加する必要があります。ilogtail_config.json
ファイルのconfig_server_address
フィールドで指定されたアドレス。 フィールド値で指定されたHTTPSバージョンのみがサポートされています。http:// <プロジェクト名>.<endpoint>
形式のアドレス。<endpoint>
は、ilogtail_config.json
ファイルのdata_server_list.endpoint
フィールドで指定されたアドレスです。 Simple Log Serviceコンソールで<プロジェクト名>
と<エンドポイント>
を表示できます。http:// ali-<プロジェクトが属するリージョン>-sls-admin.<endpoint>
形式のアドレス。<endpoint>
は、ilogtail_config.json
ファイルのdata_server_list.endpoint
フィールドで指定されたアドレスです。
ネットワーク接続が利用可能かどうかを確認するには、次の操作を実行します。
Linux
Logtailがインストールされているサーバーにログオンします。
curl
コマンドを実行して、上記のアドレスに順番に接続します。curl xxx
各出力に次のコードに似た情報が含まれている場合、ネットワーク接続が利用可能です。
{"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5D****09"}}
ネットワーク接続が利用できない場合は、ネットワーク環境のポート80と443が有効になっているかどうか、宛先アドレスがブロックされているかどうか、ドメインネームシステム (DNS) 設定やセキュリティグループなどの他のネットワーク側設定が有効かどうかを確認します。
Windows
Logtailがインストールされているサーバーにログオンします。
telnet
コマンドを実行して、上記のアドレスに順番に接続します。telnet xxx 80 # If HTTPS is used, specify port 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_adjment": 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: ユーザー識別子が設定されているかどうかを確認する
重要ユーザー識別子は、Alibaba CloudアカウントのIDである必要があります。 詳細については、「Simple Log Serviceが有効化されているAlibaba CloudアカウントのIDの取得」をご参照ください。
ALIYUN_LOGTAIL_USER_ID環境変数または指定されたディレクトリのユーザー識別子ファイルを使用して、ユーザー識別子が設定されているかどうかを確認できます。 環境変数を使用してユーザー識別子を設定する場合は、環境変数の設定が優先されます。 次のコマンドを実行して、ユーザー識別子が環境変数を使用して設定されているかどうかを確認できます。
echo $ALIYUN_LOGTAIL_USER_ID
出力にプロジェクトが属するAlibaba CloudアカウントのIDが含まれている場合、ユーザー識別子は設定され、有効です。
出力が空ではなく、プロジェクトが属するAlibaba CloudアカウントのIDが含まれていない場合、環境変数の値をプロジェクトが属するAlibaba CloudアカウントのIDに変更するか、既存の値に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に基づいてという名前のファイルが含まれている場合、ユーザー識別子は設定され、有効です。
重要上記の操作を実行した後、Logtailを再起動する必要があります。 詳細については、「付録: Logtailの再起動」をご参照ください。
手順7: カスタム識別子ベースのマシングループを使用する場合、カスタム識別子が設定されているかどうかを確認する
指定したディレクトリ内のALIYUN_LOGTAIL_USER_DEFINED_ID環境変数またはuser_defined_idファイルを使用して、サーバーにカスタム識別子が設定されているかどうかを確認できます。 カスタム識別子が環境変数を使用して設定されている場合、環境変数の設定が優先されます。 次のコマンドを実行して、カスタム識別子が環境変数を使用して設定されているかどうかを確認できます。
echo $ALIYUN_LOGTAIL_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ファイルに、マシングループ用に設定したカスタム識別子が含まれている場合、カスタム識別子は設定され、有効です。
重要上記の操作を実行した後、Logtailを再起動する必要があります。 詳細については、「付録: Logtailの再起動」をご参照ください。
次のステップ
トラブルシューティング後にエラーが解決しない場合は、 ticket
付録: Logtailの再起動
Linux
Logtailがインストールされているサーバーにログオンします。
以下のコマンドを実行します。
sudo /etc/init.d/ilogtaild restart
Windows
Logtailがインストールされているサーバーにログオンします。
[実行] ウィンドウを開き、
services.msc
と入力して [サービス] ウィンドウを開きます。LogtailDaemonまたはLogtailWorkerサービスを再起動します。 Logtail V1.0.0.0以降の場合、LogtailDaemonサービスを再起動します。 Logtail V0.x.x.xの場合、LogtailWorkerサービスを再起動します。