このページでは、Logtail スタートアップパラメーターを設定する方法について説明します。 パラメーター設定に関して、必要に応じてこのページを参照できます。

シナリオ

このシナリオでは、Logtail 起動 パラメーターを設定する必要があります。
  • 多数のログ ファイルを収集する必要があります。 大量のメモリを占有する可能性があります。 各ファイルのメタデータ情報 (ファイルの署名、収集場所、ファイル名など) をメモリに保持する必要があります。
  • ログデータの量が多い場合、CPU 使用率が高くなります。
  • ログデータの量が多い場合、ログサービスに送信されるトラフィックが大量になります。

起動設定

  • ファイルパス:
    /usr/local/ilogtail/ilogtail_config.json
  • ファイル形式:

    JSON

  • ファイルサンプル (部分的な設定項目のみ表示):
    {
        ...
        "cpu_usage_limit" : 0.4,
        "mem_usage_limit" : 100,
        "max_bytes_per_sec" : 2097152,
        "process_thread_count" : 1,
        "send_request_concurrency" : 4,
        "buffer_file_num" : 25,
        "buffer_file_size" : 20971520,
        "buffer_file_path" : "",
        ...
    }

一般的な設定パラメータ

パラメーター 説明
cpu_usage_limit CPU 使用率のしきい値 (コア数で決定)

たいていの場合、シングルコア処理能力はシンプルモードでは約 24 MB /秒、フルモードでは約 12 MB /秒です。 詳細については、「」をご参照ください。

値は Double 型です。 有効な値: [0.1、 現在のマシンの CPU コア数]。 デフォルト値:2

たとえば、値 0.4 は、Logtail の CPU 使用率がシングルコア CPU の 40% に制限されていることを示します。 しきい値を超えた場合、Logtail は自動的に再起動します。

mem_usage_limit 常駐メモリの使用しきい値。

1000 を超えるファイルを収集するには、しきい値を相応に増やします。

値は Int 型です。 単位:MB。 有効な値:[128, 現在のマシンの有効なメモリ値] デフォルト値:2048。

たとえば、値 100 は、Logtail のメモリ使用量が 100 MB に制限されていることを示します。 しきい値を超えると、Logtail は自動的に再起動します。

max_bytes_per_sec Logtail によって送信された生データのトラフィック制限。 20 MB/s を超えるトラフィックは調整されません。

値は Int 型です。 単位:Byte/s。指定可能な値:[1024, 52428800]。 デフォルト値:20971520。

たとえば、値 2097152 は、Logtail のデータ転送速度が 2 MB /秒に制限されていることを示します。

process_thread_count Logtail がログファイルのデータを書き込んだスレッドの数。

通常、シンプルモードでは 24 MB/秒、フルモードでは 12 MB/秒の書き込み速度をサポートします。 デフォルトでは、この値を調整する必要はありませんが、必要に応じてしきい値を増やすことができます。

値は Int 型です。 指定可能な値: [1, 64]。 デフォルト値:1
send_request_concurrency 非同期並行処理。 デフォルトでは、Logtail はデータパケットを非同期で送信します。 書き込み TPS が大きい場合は、より大きな非同期並行値を設定できます。

ネットワーク遅延に応じて、単一の並行処理に 0.5 ~ 1 Mbit/s のネットワークスループットが使用されます。

値が大きくなると、ネットワーク ポートの使用が過剰になります。 この場合、関連する TCP パラメータを変更する 必要があります。

値は Int 型です。 指定可能な値: [1, 1000]。 デフォルト値:20。

buffer_file_num リトライは最高 10 回までです。 ネットワーク例外が発生した場合、または書き込み制限を超えた場合、Logtail は、リアルタイムで解析されたログをインストールディレクトリにあるローカルファイルに書き込み、復帰後にログを Log Service に再送します。 値は Int 型です。 指定可能な値: [1, 100]。 デフォルト値:25。
buffer_file_size キャッシュファイルの最大バイトを設定できます。 buffer_file_num および buffer_file_size iの値の結果は、キャッシュされたファイルに利用できる最大ディスクスペースを示します。 値は Int 型です。 単位:バイト。 指定可能な値:[1048576, 104857600]。 デフォルト値:20971520 (20 MB) 。
buffer_file_path キャッシュファイルを保存するディレクトリ。 このパラメータを変更した後、Logtail がキャッシュされたファイルを読み取り、ログを送信した後に削除できるように、古いキャッシュ ディレクトリにある名前形式が ogtail\_buffer\_file_* のファイルを新しいディレクトリに移動する必要があります。 デフォルトでは、値は空の文字列です。 この場合、キャッシュされたファイルは Logtail インストール ディレクトリ /usr/local/ilogtail に格納されます。
bind_interface ローカルマシンにバインドされた NIC の名前。 たとえば、eth1 です。 このパラメータは、Linux の Logtail に対してのみ有効です。 デフォルトでは、値は空の文字列です。 利用可能な NIC が自動的にバインドされます。 このパラメータが設定されていると、Logtail は指定された NIC を使用してログをアップロードします。
check_point_filename Logtail のチェックポイント ファイルを格納するための完全なパス。

Docker ユーザーがこのファイルストレージパスを変更し、収集設定ファイルが存在するディレクトリをホストにマウントすることを推奨します。 そうしないと、チェックポイント情報の欠如により、コンテナ解放時に収集が重複します。 たとえば、check_point_filename を Docker の /data/logtail/check_point.dat に設定し、 -v /data/docker1/logtail:/data/logtail を Docker スタートアップコマンドに追加してホストの /data/docker1/logtail ディレクトリをDocker の /data/logtail ディレクトリにマウントします。

デフォルト値:/tmp/logtail_check_point
user_config_file_path Logtail の収集設定ファイルを格納するための完全なパス。

Docker ユーザーがこのファイルストレージパスを変更し、収集設定ファイルが存在するディレクトリをホストにマウントすることを推奨します。 そうしないと、チェックポイント情報の欠如により、コンテナ解放時に収集が重複します。

たとえば、user_config_file_path を Docker の /data/logtail/user_log_config.json に設定し、-v /data/docker1/logtail:/data/logtail を Docker 起動コマンドに追加してホストの /data/docker1/logtail ディレクトリを Docker の/data/logtail ディレクトリにマウントします。

デフォルトでは、user_log_config.json ファイルは、バイナリプロセスが配置されているディレクトリに格納されます。
discard_old_data 履歴ログを破棄するかどうかを指定します。 true の値は、12 時間以上前に生成されたログが破棄されることを示します。 値は Boolean 型です。 デフォルト値:true
working_ip Logtail によって報告されたローカル IP アドレス。 値が空の文字列の場合、Logtail はローカルマシンの IP アドレスを自動的に取得します。 値は IP アドレスです。 デフォルトでは、値は空の文字列です。
working_hostname Logtail によって報告されたローカル ホスト名。 値が空の文字列の場合、Logtail はローカルマシンのホスト名を自動的に取得します。 値は String 型です。 デフォルトでは、値は空の文字列です。
max_read_buffer_size ログの最大サイズ (バイト)。 単一ログのサイズが 512 KB を超える場合は、パラメーター値を調整できます。 値は Long 型です。 デフォルト値:524288 (512 KB) 。
oas_connect_timeout たとえば、設定や AccessKey を取得するために Logtail がリクエストを送信する接続タイムアウト期間。

このパラメーターは、ネットワークの状態が悪いために接続に時間がかかるシナリオに適用されます。

値は Long 型です。 単位:秒。 既定値:5
oas_request_timeout たとえば、設定や AccessKey を取得するために Logtail がリクエストを送信する接続タイムアウト期間。

このパラメーターは、ネットワークの状態が悪いために接続に時間がかかるシナリオに適用されます。

値は Long 型です。 単位:秒。 デフォルト値: 10。
  • 上の表は、共通の起動パラメータのみを一覧表示します。 ilogtail_config.json ファイルに上記の表に記載されていないパラメーターが含まれている場合はデフォルト設定を使用します。
  • パラメータを追加するか、または既存のパラメータの値を適宜変更します。 不要なパラメーターを ilogtail_config.json ファイルに追加しないでください。

設定の変更

  1. ilogtail_config.json ファイルを適宜変更します。

    変更された設定は必ず有効な JSON 形式にします。

  2. 変更された設定を有効にするには、Logtail を再起動します。
    /etc/init.d/ilogtaild stop
    /etc/init.d/ilogtaild start
    /etc/init.d/ilogtaild status