マシングループのハートビートは、サーバーと Simple Log Service (SLS) 間の通信を監視します。ハートビートが異常な場合、サーバーは SLS にデータを送信できません。
ハートビートの問題の原因
LoongCollector は、以下の設定項目を使用して送信先プロジェクトを識別し、ハートビートを報告します。ハートビートの問題を解決するには、これらの項目とネットワーク接続を確認してください。
-
SLS プロジェクトを所有する Alibaba Cloud アカウント:このアカウントには、サーバーにアクセスしてログを収集する権限が必要です。
-
プロジェクトのリージョンと接続タイプ:SLS エンドポイントは、リージョンと接続タイプに基づいて動的に生成されます。サーバーがこのエンドポイントに接続できることを確認してください。詳細については、「ネットワーク接続タイプとエンドポイント」をご参照ください。
-
カスタム識別子または IP アドレス:LoongCollector は、IP アドレスまたはカスタム識別子を使用してサーバーをマシングループに関連付け、ハートビートを確立します。
ハートビート確立のプロセス
-
LoongCollector は、設定を読み取り、Alibaba Cloud アカウントの ID、エンドポイント (リージョンと接続タイプから生成)、およびサーバーの IP アドレスまたはカスタム識別子を取得します。
-
LoongCollector は、指定されたリージョン内のプロジェクトにハートビートを報告します。
-
条件を満たすプロジェクトは、マシングループ内の IP アドレスまたはカスタム識別子と、報告された情報を比較します。
-
情報が一致すると、ハートビートが確立され、対応するマシングループのステータスが OK に変わります。
ハートビートの問題に関する一般的なシナリオ
新しいサーバーのハートビートが FAIL
初期接続の確立には時間がかかる場合があります。約 2 分待ってからステータスを更新してください。ハートビートが FAIL のままの場合は、以下を実行してください。
-
正しい LoongCollector インストールシナリオを選択したことを確認してください。誤っている場合は、LoongCollector をアンインストールして再インストールしてください。
インストール方法
適用シナリオ
サーバーが、プロジェクトと同じアカウントおよびリージョンにある ECS インスタンスの場合に適用されます。
サーバーが、プロジェクトと同じアカウントにあるものの、異なるリージョンの ECS インスタンスである場合に適用されます。
サーバーが、プロジェクトと同じリージョンにあるものの、異なるアカウントの ECS インスタンスである場合に適用されます。
-
サーバーが ECS インスタンスではない (オンプレミスまたは他のクラウドプロバイダーである) 場合に適用されます。
-
ECS インスタンスとプロジェクトが、異なるアカウントおよび異なるリージョンに属する場合にも適用されます。この場合、サーバーはオンプレミスとして扱います。
-
-
サーバーで、
sudo /etc/init.d/loongcollectord statusを実行して LoongCollector のステータスを確認します。出力がloongcollector is runningの場合、起動しています。それ以外の場合は、起動します:Logtail を使用する場合は、
sudo /etc/init.d/ilogtaild statusを実行してステータスを確認し、sudo /etc/init.d/ilogtaild startを実行して起動します。sudo /etc/init.d/loongcollectord start -
クロスアカウントのシナリオでは、プロジェクトのアカウントにサーバーへのアクセスとログ収集の権限を付与するため、ユーザー ID ファイルを設定する必要があります。
-
リージョンと接続タイプ、およびサーバーがエンドポイントに到達できることを確認します。
/usr/local/ilogtail/ilogtail_config.json内のregionが SLS プロジェクトの リージョン ID と一致するかどうかを確認します。一致しない場合は、設定を変更します。 -
カスタム識別子または IP アドレスを確認してください。
-
Simple Log Service コンソールにログインします。プロジェクトリストで、送信先プロジェクトをクリックします。
-
左側メニューで、 [リソース] > [マシングループ] を選択します。[マシングループ] ページで、対象のマシングループをクリックします。
-
サーバグループ設定 ページで、マシングループの識別子 を確認し、対応するアクションを実行します:
カスタム識別子
-
サーバーに
/etc/ilogtail/user_defined_idが存在することを確認します。存在しない場合は作成します。 -
カスタム識別子として、このファイルにカスタム文字列を書き込みます。 この例では
user-defined-test-1を使用します。# 指定されたファイルにカスタム文字列を書き込みます。 echo "user-defined-test-1" > /etc/ilogtail/user_defined_id -
コンソールで、ユーザー定義 ID の値をカスタム文字列に設定します。この例では、値は
user-defined-test-1です。
IP アドレス
サーバー上の
/usr/local/ilogtail/app_info.jsonのip値を、コンソールの IP フィールドに追加します。IP アドレス取得ロジック:サーバーの /etc/hosts ファイルにホスト名から IP アドレスへのマッピングが設定されている場合、マッピングされた IP アドレスが使用されます。マッピングが設定されていない場合は、最初のネットワークインターフェイスカード (NIC) の IP アドレスが使用されます。/usr/local/ilogtail/ilogtail_config.json ファイルに
working_ipパラメータが設定されている場合、その値がサーバーの IP アドレスとして使用されます。これらの方法のうち少なくとも 1 つを使用して IP アドレスを取得できることを確認してください。そうでない場合、ipフィールドは空になり、ハートビートを確立できません。 -
-
ハートビートが OK から FAIL に変化
以前にハートビートが成功していた場合は、初期設定が正しかったことを示します。マシングループがカスタム識別子を使用している場合、設定は静的であり、問題はネットワーク関連である可能性が高いため、SLS エンドポイントへの接続を確認してください。マシングループが IP アドレスを使用している場合、FAIL ステータスは通常、IP の変更または競合を示します。
-
サーバーで LoongCollector を再起動して、最新の IP アドレスを取得してください。
Logtail を使用する場合、再起動コマンドは次のとおりです。
sudo /etc/init.d/ilogtaild restartsudo /etc/init.d/loongcollectord restart -
サーバー上の
/usr/local/ilogtail/app_info.jsonにあるipフィールドを確認します。IP アドレス取得ロジック:サーバーの /etc/hosts ファイルにホスト名から IP アドレスへのマッピングが設定されている場合、マッピングされた IP アドレスが使用されます。マッピングが設定されていない場合は、最初のネットワークインターフェイスカード (NIC) の IP アドレスが使用されます。/usr/local/ilogtail/ilogtail_config.json ファイルに
working_ipパラメータが設定されている場合、その値がサーバーの IP アドレスとして使用されます。 -
Simple Log Service コンソールにログインします。プロジェクトリストで、送信先プロジェクトをクリックします。
-
左側メニューで、 [リソース] > [マシングループ] を選択します。[マシングループ] ページで、対象のマシングループをクリックします。
-
サーバグループ設定 ページで、IP フィールドに
/usr/local/ilogtail/app_info.jsonファイルのipフィールドの値が含まれているかどうかを確認します。含まれていない場合は、ipフィールドの値を IP フィールドに追加します。 -
IP アドレスが一致してもハートビートが FAIL のままの場合、IP が不安定であるか競合している可能性があります。カスタム識別子への切り替えを検討してください。
識別子タイプ切り替え後のハートビート失敗
IP アドレスの競合や変更により IP ベースのマシングループが適さない場合は、カスタム識別子に切り替えます。この変更は、ネットワーク接続、アカウント情報、またはリージョン設定に影響しません。カスタム識別子が正しく設定されていることを確認してください。
-
/etc/ilogtail/user_defined_idが存在することを確認し、存在しない場合は作成します。 -
このファイルにカスタム識別子としてカスタム文字列を書き込みます。この例では
user-defined-test-1を使用します。# 指定されたファイルにカスタム文字列を書き込みます。 echo "user-defined-test-1" > /etc/ilogtail/user_defined_id -
Simple Log Service コンソールにログインします。プロジェクトリストで、送信先プロジェクトをクリックします。
-
左側メニューで、 [リソース] > [マシングループ] を選択します。[マシングループ] ページで、対象のマシングループをクリックします。
-
サーバグループ設定 ページで、次のパラメーターを確認します。正しくない場合は、右上隅の 変更 をクリックして更新します。
-
[マシングループの識別子]:カスタム識別子。
-
カスタム識別子: カスタム文字列。この例では、値は
user-defined-test-1です。
-
よくある質問
設定が正しいのにハートビートが FAIL になるのはなぜですか?
設定が正しく、ネットワークが機能している場合でも、以下の理由でハートビートが FAIL になる可能性があります。
-
リージョンで長期間収集設定が適用されていないため、ハートビート間隔が抑制されています。
-
サービス負荷を軽減するため、リージョンが設定を返さない場合、エージェントは設定リクエストの頻度を減らします。間隔は最大 12 分まで増加する可能性があります。これがハートビートタイムアウトしきい値を超えると、ステータスが FAIL に変わります。
-
解決策: FAIL ステータスは無視し、マシングループに収集設定を適用してください。ハートビートは次のリクエストで回復します。すぐに復元するには、エージェントを再起動してください。
-
-
実行中の設定は、現在の
ilogtail_config.jsonファイルと一致しません。-
例: デフォルト以外の設定でエージェントが起動した後、再起動せずに
ilogtail_config.jsonが変更されます。 -
確認方法:
-
最も簡単な解決策は、エージェントを再起動することです。最新の設定が自動的に読み込まれます。
-
ログを確認します。収集を中断したくない場合は、
/usr/local/ilogtail/ilogtail.LOGを確認します。 ファイルの先頭からload logtail config fileを検索します。 対応するエントリに有効な設定が表示されます。 その設定がローカルファイルと一致することを確認します。
-
-
LoongCollector が報告する fetch ecs token fail Timeout was reached を解決するにはどうすればよいですか?
このエラーは、LoongCollector が 100.100.100.200 にある ECS メタデータサービスにアクセスできない場合に発生します。
ECS インスタンスで、以下のコマンドを実行してメタデータサービスへの接続をテストしてください。
curl http://100.100.100.200/latest/meta-data/instance-id
コマンドが接続できない場合は、ECS セキュリティグループの設定で ECS メタデータサービスへのアクセスが許可されているかどうかを確認してください。
ECS インスタンスが同じリージョン内の SLS 内部エンドポイントにアクセスする際のタイムアウトをトラブルシューティングするにはどうすればよいですか?
まず、ECS インスタンスと SLS プロジェクトが同じリージョンにあることを確認してください。次に、内部 OSS および SLS エンドポイントへの DNS 解決と接続をテストしてください。
curl -v http://${oss_internal_endpoint}
curl -v http://${sls_project_name}.${sls_internal_endpoint}
${oss_internal_endpoint}、${sls_project_name}、および ${sls_internal_endpoint} を、お使いのリージョンとプロジェクトの内部エンドポイントの値に置き換えます。
iptables ファイアウォールや Tailscale などのセキュリティソフトウェアが、100.64.0.0/10 や 100.115.0.0/16 を含む Alibaba Cloud 内部ネットワーク範囲をブロックしているかどうかを確認します。 いずれかの範囲をブロックするルールがある場合は、その範囲をホワイトリストに追加します。 また、DNS 設定が Alibaba Cloud 内部 DNS サーバー 100.100.2.136 と 100.100.2.138 を指していることを確認します。
ACK クラスターで NodeLocalDNS が使用されている場合に、LoongCollector によって報告される誤った IP アドレスを解決するにはどうすればよいですか?
NodeLocalDNS により、LoongCollector が仮想ネットワークインターフェイスから IP アドレスを選択してしまうことがあります。/usr/local/ilogtail/ilogtail_config.json で、working_ip パラメーターにノードの正しい物理 IP アドレスを追加または更新し、LoongCollector を再起動して設定を適用します:
sudo /etc/init.d/loongcollectord restart
Logtail データコレクターを使用している場合は、代わりに再起動してください。
sudo /etc/init.d/ilogtaild restart
aliyun.service が実行されていないため Logtail の自動インストール中に ClientNotRunning エラーが発生した場合、どのように解決すればよいですか。
Logtail の自動インストールには Cloud Assistant サービスが必要です。ECS インスタンスで、以下のコマンドを実行してサービスを有効にして起動してください。
systemctl enable aliyun.service --now
サービスが起動したら、SLS で収集コンポーネントの自動インストールを繰り返してください。
LoongCollector の起動に失敗して daemon not found, but found orphaned workers が表示される場合、どうすれば解決できますか?
このエラーは、コンポーネントプロセスの異常またはサーバーリソースの不足を示している可能性があります。サーバーのメモリと CPU の監視データを確認して、リソース使用率が高すぎないかどうかを判断してください。次に、[コンポーネント管理] を使用して、LoongCollector コンポーネントを利用可能な最新バージョンにアップグレードしてください。
アップグレード後も問題が解決しない場合は、LoongCollector コンポーネントをアンインストールして再インストールしてください。[マシングループ] で、マシングループのハートビートが正常であることを確認し、収集設定が正しいことを確認してください。
アイコンをクリックして、プロジェクト概要ページを開きます。