すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ホスト環境のLogtailマシングループに関連するエラーのトラブルシューティングを行うにはどうすればよいですか?

最終更新日:Aug 23, 2024

このトピックでは、Logtailマシングループにホスト環境でハートビートがないというエラーのトラブルシューティング方法について説明します。

ステップ1: Logtailが期待どおりに実行されるかどうかを確認

Linux

  1. Logtailがインストールされているサーバーにログオンします。

  2. 以下のコマンドを実行します。

    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

  1. Logtailがインストールされているサーバーにログオンします。

  2. [実行] ウィンドウを開き、services.mscと入力して [サービス] ウィンドウを開きます。

  3. 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アドレスと同じかどうかを確認するには、次の操作を実行します。

  1. 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

  2. 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"
    }
  3. マシングループで指定されているIPアドレスが、Logtailで取得したIPアドレスと同じかどうかを確認します。

    Simple Log Serviceマシングループは、IPアドレスベースのマシングループとカスタム識別子ベースのマシングループに分類されます。 詳細については、「Introduction」をご参照ください。

    • IPアドレスベースのマシングループを使用する場合は、[IPアドレス] フィールドにIPアドレスを表示します。 詳細については、「マシングループの管理」をご参照ください。

      IP Addressフィールドの値がパブリックIPアドレスなどのLogtailの別のIPアドレスの場合は、Logtailで取得したIPアドレスに変更します。 次に、マシングループのハートビートが検出できるかどうかを確認します。 ハートビートを検出できる場合は、トラブルシューティングを停止できます。

    • カスタム識別子ベースのマシングループを使用する場合は、Logtailによって取得されたIPアドレスを使用して、マシングループのステータスを照会します。 詳細については、「マシングループの管理」をご参照ください。 ハートビートステータスがOKの場合、トラブルシューティングを停止できます。image..png

ステップ3: Logtail起動パラメータが有効かどうかを確認する

ilogtail_config.jsonファイルには、Logtailの起動パラメーターが記録されます。

  1. Logtailがインストールされているサーバーにログオンします。

  2. 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

    1. 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を追加する必要があります。

    1. ilogtail_config.jsonファイルのconfig_server_addressフィールドで指定されたアドレス。 フィールド値で指定されたHTTPSバージョンのみがサポートされています。

    2. http:// <プロジェクト名>.<endpoint> 形式のアドレス。 <endpoint> は、ilogtail_config.jsonファイルのdata_server_list.endpointフィールドで指定されたアドレスです。 Simple Log Serviceコンソールで <プロジェクト名><エンドポイント> を表示できます。image

    3. http:// ali-<プロジェクトが属するリージョン>-sls-admin.<endpoint> 形式のアドレス。 <endpoint> は、ilogtail_config.jsonファイルのdata_server_list.endpointフィールドで指定されたアドレスです。

    ネットワーク接続が利用可能かどうかを確認するには、次の操作を実行します。

    Linux

    1. Logtailがインストールされているサーバーにログオンします。

    2. curlコマンドを実行して、上記のアドレスに順番に接続します。

      curl xxx

      各出力に次のコードに似た情報が含まれている場合、ネットワーク接続が利用可能です。

      {"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5D****09"}}

      ネットワーク接続が利用できない場合は、ネットワーク環境のポート80と443が有効になっているかどうか、宛先アドレスがブロックされているかどうか、ドメインネームシステム (DNS) 設定やセキュリティグループなどの他のネットワーク側設定が有効かどうかを確認します。

    Windows

    1. Logtailがインストールされているサーバーにログオンします。

    2. 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

    1. Logtailがインストールされているサーバーにログオンします。

    2. 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

    1. Logtailがインストールされているサーバーにログオンします。

    2. デスクトップの右下隅にあるタスクバーで時間情報を表示します。

      • システム時刻をローカル時刻に変更します。

      • システム時刻を変更できない場合は、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

    1. Logtailがインストールされているサーバーにログオンします。

    2. 以下のコマンドを実行します。

      sudo /etc/init.d/ilogtaild restart

    Windows

    1. Logtailがインストールされているサーバーにログオンします。

    2. [実行] ウィンドウを開き、services.mscと入力して [サービス] ウィンドウを開きます。

    3. LogtailDaemonまたはLogtailWorkerサービスを再起動します。 Logtail V1.0.0.0以降の場合、LogtailDaemonサービスを再起動します。 Logtail V0.x.x.xの場合、LogtailWorkerサービスを再起動します。