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

Simple Log Service:Logtailの設定

最終更新日:Sep 04, 2024

Logtail設定は、Logtailがログを収集するために使用する一連のポリシーです。 データソースや収集モードなどのパラメーターを設定して、Logtail設定をカスタマイズできます。 このトピックでは、Simple Log Service APIを使用してログを収集するときに、Logtail設定のパラメーターを設定する方法について説明します。

Logtail設定の基本パラメータ

パラメーター

データ型

必須

説明

configName

String

課金されます

config-sample

Logtail設定の名前。 名前は、Logtail構成が属するプロジェクト内で一意である必要があります。 Logtail設定の作成後、Logtail設定の名前を変更することはできません。

名前の条件は以下の通りです。

  • 名前には、小文字、数字、ハイフン ( - )、アンダースコア ( _ ) のみ使用できます。

  • 名前の先頭と末尾は、小文字または数字である必要があります。

  • 名前の長さは 2 ~ 128 文字である必要があります。

inputType

String

課金されます

file

データソースのタイプ。 有効な値:

  • plugin: MySQLバイナリログなどのログは、Logtailプラグインを使用して収集されます。

  • file: テキストログは、完全正規表現モードと区切り文字モードを含む既存のモードを使用して収集されます。

inputDetail

JSON object

課金されます

なし

データソースの詳細な設定。 詳細については、「inputDetail」をご参照ください。

outputType

String

課金されます

LogService

収集されたログの出力タイプ。 値はLogServiceとして固定されています。 収集したログはSimple Log Serviceにのみアップロードできます。

outputDetail

JSON object

課金されます

なし

収集されたログの詳細な設定。 詳細については、「outputDetail」をご参照ください。

logSample

String

なし

サンプルログ。

InputDetail

基本パラメーター

パラメーター

データ型

必須

説明

filterKey

array

課金されません

["ip"]

ログのフィルタリングに使用されるフィールド。 ログのフィールドの値がfilterRegexパラメーターで指定された正規表現と一致する場合にのみ、ログが収集されます。

filterRegex

array

課金されません

["^ 10.*"]

フィールドの値を一致させるために使用される正規表現。 フィールドは、filterKeyパラメーターで指定します。 filterRegexパラメーターの値の要素数は、filterKeyパラメーターの値の要素数と同じである必要があります。

shardHashKey

array

課金されません

["__source__"]

データの書き込みに使用されるモード。 デフォルトでは、データは負荷分散モードでSimple Log Serviceに書き込まれます。 詳細については、「負荷分散モード」をご参照ください。

このパラメーターを設定すると、データはシャードモードでSimple Log Serviceに書き込まれます。 詳細については、「シャードモード」をご参照ください。 __source__フィールドがサポートされています。

enableRawLog

Boolean

課金されません

false

生ログをアップロードするかどうかを指定します。 有効な値:

  • true

  • false (デフォルト)

sensitive_keys

array

なし

データをマスクするために使用される構成。 詳細については、「sensitive_keys」をご参照ください。

mergeType

String

課金されません

topic

データの集計に使用されるメソッド。 有効な値:

  • topic (デフォルト): データはトピックごとに集計されます。

  • logstore: データはLogstoreによって集計されます。

delayAlarmBytes

int

課金されません

209715200

ログ収集の進行状況のアラートしきい値。 デフォルト値: 209715200 この値は、指定された期間内に200 MBのデータが収集されなかった場合にアラートがトリガーされることを示します。

adjustTimezone

Boolean

課金されません

false

ログのタイムゾーンを変更するかどうかを指定します。 このパラメーターは、時間解析機能が有効な場合にのみ有効です。 たとえば、timeFormatパラメーターを設定する場合、adjustTimezoneパラメーターも設定できます。

logTimezone

String

課金されません

GMT + 08:00

タイムゾーンのオフセット。 フォーマット: GMT + HH:MMまたはGMT-HH:MM。たとえば、タイムゾーンがUTC + 8のログを収集する場合は、値をGMT + 08:00に設定します。

高度な

JSON object

なし

高度な機能。 詳細については、「advanced」をご参照ください。

sensitive_keys

  • パラメーター

    パラメーター

    データ型

    必須

    説明

    キー

    String

    課金されます

    content

    ログフィールドの名前。

    タイプ

    String

    課金されます

    const

    ログフィールドの内容をマスクするために使用されるメソッド。 有効な値:

    • const: 機密コンテンツはconstフィールドの値に置き換えられます。

    • md5: 機密コンテンツは、コンテンツに対して生成されたMD5ハッシュ値に置き換えられます。

    regex_begin

    String

    課金されます

    'パスワード':'

    機密コンテンツのプレフィックスを一致させるために使用される正規表現。 正規表現は、機密コンテンツを見つけるために使用されます。 RE2構文を使用して正規表現を指定する必要があります。 詳細については、RE2構文をご参照ください。

    regex_content

    String

    課金されます

    [^']*

    機密コンテンツの照合に使用される正規表現。 RE2構文を使用して正規表現を指定する必要があります。 詳細については、RE2構文をご参照ください。

    すべて

    Boolean

    課金されます

    true

    ログフィールドのすべての機密コンテンツを置き換えるかどうかを指定します。 有効な値:

    • true: ログフィールドのすべての機密コンテンツを置き換えます。 これは推奨値です。

    • false: 指定された正規表現がログフィールドで初めて一致する機密コンテンツのみを置き換えます。

    const

    String

    課金されません

    "********"

    typeパラメーターをconstに設定した場合、このパラメーターを設定する必要があります。

  • 設定例

    マスクしたい場合パスワードで、コンテンツ値がであるフィールド[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]パスワードの値を ******** に置き換え、sensitive_keysパラメータ:

    sensitive_keys = [{"all": true,
    "const": "********",
    "regex_content": "[^']*",
    "regex_begin": "'password':'",
    "type": "const",
    "key": "content"}]                    
  • サンプルログ

    [{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]

高度な

パラメーター

データ型

必須

説明

enable_root_path_コレクション

Boolean

課金されません

false

D:\log * などのWindowsルートディレクトリからのデータ収集を許可するかどうかを指定します。 有効な値:

  • true

  • false (デフォルト)

重要
  • このパラメーターはグローバルパラメーターです。 特定のLogtail設定に対してこのパラメーターをtrueに設定すると、Logtailは、特定のLogtail設定と同じサーバーに適用されているすべてのLogtail設定に基づいて、ルートディレクトリからデータを収集できます。 このパラメーターの設定は、サーバーのLogtailが再起動されるまで有効です。

  • このパラメーターは、Logtail V1.0.0.22以降をWindowsサーバーにインストールする場合にのみ使用できます。

exactly_once_並行性

int

課金されません

1

ExactlyOnce書き込み機能を有効にするかどうかを指定します。 ExactlyOnce書き込み機能を使用すると、Logtailがファイルからデータを収集するときに同時に送信できるロググループの最大数を指定できます。 有効な値: 0 ~ 512 詳細については、「追加情報: ExactlyOnce書き込み機能」をご参照ください。 有効な値:

  • 0: ExactlyOnce書き込み機能は無効です。

  • その他の値: ExactlyOnce書き込み機能は有効です。 この値は、Logtailがファイルからデータを収集するときに同時に送信できるロググループの最大数を指定します。

重要
  • このパラメーターをより大きな値に設定すると、より多くのメモリとディスクのオーバーヘッドが生成されます。 ローカル書き込みトラフィックに基づいてこのパラメーターを設定することを推奨します。

  • このパラメーターの値が、使用されているLogstore内のシャードの数より少ない場合、Logtailはランダムにデータを処理して、データが各シャードに均等に書き込まれるようにします。 このパラメーターに指定する値は、シャードの数とは異なる場合があります。

  • この設定は、このパラメーターを設定した後に生成されるファイルに対してのみ有効になります。

  • Logtail V1.0.21以降のみがこのパラメーターをサポートしています。

enable_log_position_meta

Boolean

課金されません

true

ファイルから収集される各ログに、ソースログファイルのメタデータ情報を追加するかどうかを指定します。 メタデータ情報は、__tag __:__ inode__ および __file_offset__ フィールドを含む。 有効な値:

  • true

  • false

説明

Logtail V1.0.21以降のみがこのパラメーターをサポートしています。

指定された_year

uint

課金されません

0

生のログの時刻に年情報が含まれていない場合にログ時刻を補足するために使用される年。 現在の年または別の年を指定できます。 有効な値:

  • 0: 現在の年が使用されます。

  • 特定の年: 現在の年以外の年が使用されます。 例: 2020。

説明

Logtail V1.0.21以降のみがこのパラメーターをサポートしています。

force_multiconfig

Boolean

課金されません

false

LogtailがLogtail設定を使用して、他のLogtail設定に基づいて一致するファイルからデータを収集できるかどうかを指定します。 デフォルト値:false

Logtailが異なるLogtail設定を使用してファイルからデータを収集する場合は、このパラメーターを設定できます。 たとえば、2つのLogtail設定を使用して、ファイルから2つのLogstoreにデータを収集するようにこのパラメーターを設定できます。

raw_log_タグ

String

課金されません

__raw__

アップロードされる生ログを格納するために使用されるフィールド。 デフォルト値: __raw__

ブラックリスト

object

なし

ブラックリスト設定。 詳細については、「ブラックリストのパラメーター」をご参照ください。

tail_size_kb

int

課金されません

1024

Logtailが最初にファイルを読み取ったときにファイルから収集されるデータのサイズ。 この値は、Logtailがデータを収集する開始位置を決定します。 Logtailが初めてファイルを読み取るとき、Logtailはデフォルトでファイル内の最大1,024 KBのデータを読み取ることができます。

  • ファイルサイズが1,024 KB未満の場合、Logtailはファイルの先頭からデータを収集します。

  • ファイルサイズが1,024 KBを超える場合、Logtailはファイル内の最後の1,024 KBのデータを収集します。

有効な値: 0 ~ 10485760 (単位:KB) 値を変更できます。

batch_send_interval

int

課金されません

3

集計されたデータが送信される間隔。 デフォルト値: 3。 単位は秒です。

max_rotate_queue_サイズ

int

課金されません

20

ファイルがローテーションされるキューの最大長。 デフォルト値は 20 です。

enable_precise_timestamp

Boolean

課金されません

false

高精度で時間値を抽出するかどうかを指定します。 このパラメーターを設定に含めない場合、システムはデフォルトで値falseを使用します。 値falseは、精度の高い時間値が抽出されないことを指定します。

このパラメーターをtrueに設定すると、Logtailは指定された時間値をミリ秒の精度でタイムスタンプに自動的に解析し、precise_timestamp_keyパラメーターで指定されたフィールドにタイムスタンプを格納します。

説明
  • Logtail設定でUse System Timeが無効になっていることを確認します。

  • Logtail V1.0.32以降のみがこのパラメータをサポートしています。

precise_timestamp_キー

String

課金されません

"precise_timestamp"

高精度でタイムスタンプを保存するフィールド。 このパラメーターを設定に含めない場合、システムはデフォルトでprecise_timestampフィールドを使用します。

precise_timestamp_unit

String

課金されません

"ms"

高精度のタイムスタンプの単位。 このパラメーターを設定に含めない場合、システムはデフォルトでmsを使用します。 有効な値: ms、us、およびns。

次の表に、blacklistのパラメーターを示します。

パラメーター

データ型

必須

説明

dir_blacklist

array

課金されません

["/home/admin/dir1", "/home/admin/dir2 *"]

ディレクトリのブラックリスト。絶対パスでなければなりません。 アスタリスク (*) をワイルドカード文字として使用して、複数のディレクトリを照合できます。

たとえば、/home/admin/dir1を指定した場合、ログ収集時に /home/admin/dir1ディレクトリ内のすべてのファイルがスキップされます。

filename_blacklist

array

課金されません

["app *.log", "パスワード"]

ファイル名のブラックリスト。 このパラメーターで指定した名前に一致するファイルは、ファイルが属するディレクトリに関係なく、ログ収集時にスキップされます。 アスタリスク (*) をワイルドカード文字として使用して、複数のファイル名を照合できます。

filepath_blacklist

array

課金されません

["/home/admin/private *.log"]

ファイルパスのブラックリスト。絶対パスでなければなりません。 アスタリスク (*) をワイルドカード文字として使用して、複数のファイルを照合できます。

たとえば、/home/admin/private *.logを指定すると、名前がprivateで始まり、で終わるすべてのファイルが指定されます。/home/admin/ ディレクトリのログは、ログ収集中にスキップされます。

テキストログ収集のLogtailに固有の構成

基本パラメーター

パラメーター

データ型

必須

説明

logType

String

課金されます

common_reg_log

ログが収集されるモード。 有効な値:

  • json_log: JSONモードでログを収集します。

  • common_reg_log: フル正規表現モードでログを収集します。

  • plugin: プラグインモードでログを収集します。

  • delimiter_log: 区切り文字モードでログを収集します。

logPath

String

課金されます

/var/log/http/

ログファイルのパス。

filePattern

String

課金されます

access *.log

ログファイル名。

topicFormat

String

課金されます

none

トピックの生成に使用されるメソッド。 有効な値:

  • none: ログトピックは生成されません。

  • default: ログファイルパスは、収集されたログのトピックとして使用されます。

  • group_topic: Logtail設定が適用されているマシングループのトピックは、収集されたログのトピックとして使用されます。

  • ログファイルパスと一致する正規表現: ログファイルパスの一部が、収集されたログのトピックとして使用されます。 例: /var/log/(.*).log

詳細については、「ログトピック」をご参照ください。

timeFormat

String

課金されません

% Y/% m/% d % H:% M:% S

ログ時刻の形式。 詳細については、「時間形式」をご参照ください。

保存

Boolean

課金されません

true

ログファイルでタイムアウトメカニズムを使用するかどうかを指定します。 ログファイルが指定された期間内に更新されない場合、Logtailはファイルがタイムアウトしたと見なします。 有効な値:

  • true (デフォルト): ログファイルはタイムアウトしません。

  • false: ログファイルが30分以内に更新されない場合、Logtailはファイルがタイムアウトしたと見なし、ファイルを監視しなくなります。

preserveDepth

integer

課金されません

1

ファイルがタイムアウトメカニズムを使用して監視されるディレクトリの最大レベル。 preserveパラメーターをfalseに設定した場合、このパラメーターを設定する必要があります。 有効な値: 1 ~ 3。

fileEncoding

String

課金されません

utf8

ログファイルのエンコード形式。 有効な値: utf8とgbk。

discardUnmatch

Boolean

課金されません

true

一致しなかったログを破棄するかどうかを指定します。 有効な値:

  • true

  • false

maxDepth

int

課金されません

100

監視されるディレクトリの最大レベル。 有効な値: 0 ~ 1000 値0は、指定したログファイルディレクトリのみを監視することを示します。

delaySkipBytes

int

課金されません

0

指定された期間内にデータが収集されない場合にデータを破棄するかどうかを判断するために使用されるしきい値。 有効な値:

  • 0 (デフォルト): データは破棄されません。

  • その他の値: データは破棄されます。 たとえば、指定された期間内に収集されなかったデータのサイズが指定されたしきい値 (1024 KBなど) を超えると、データは破棄されます。

dockerFile

Boolean

課金されません

false

コンテナファイルからログを収集するかどうかを指定します。 デフォルト値:false

dockerIncludeLabel

JSON object

なし

コンテナーラベルのホワイトリスト。 ホワイトリストは、データを収集するコンテナを指定します。 デフォルトでは、このパラメーターは空です。これは、すべてのコンテナーからログまたはstdoutおよびstderrを収集することを示します。 コンテナーラベルのホワイトリストを設定する場合、LabelKeyパラメーターは必須で、LabelValueパラメーターはオプションです。

  • LabelValueパラメーターが空の場合、コンテナーラベルにLabelKeyで指定されたキーが含まれているコンテナーが一致します。

  • LabelValueパラメーターが空でない場合、コンテナーラベルにLabelKeyとLabelValueで指定されたキーと値のペアが含まれているコンテナーが一致します。

    デフォルトでは、LabelValueパラメーターの値に対して文字列照合が実行されます。 コンテナーは、コンテナーラベルの値がLabelValueパラメーターの値と同じである場合にのみ一致します。 LabelValueパラメーターに、キャレット (^) で始まり、ドル記号 ($) で終わる値を指定した場合、正規表現マッチングが実行されます。 たとえば、LabelKeyパラメーターをio.kubernetes.container.nameに設定し、LabelValueパラメーターを ^(nginx | cube)$ に設定すると、nginxという名前のコンテナーとcubeという名前のコンテナーが一致します。

説明
  • LabelKeyパラメーターに重複する値を指定しないでください。 LabelKeyパラメーターに重複する値を指定した場合、その値の1つだけが有効になります。

  • キーと値のペアは論理OR関係にあります。 コンテナのラベルが指定されたキーと値のペアのいずれかと一致する場合、コンテナは照合されます。

dockerExcludeLabel

JSON object

なし

コンテナーラベルのブラックリスト。 ブラックリストには、データを除外するコンテナを指定します。 デフォルトでは、このパラメーターは空です。これは、すべてのコンテナーからデータを収集することを示します。 コンテナーラベルブラックリストを設定する場合、LabelKeyパラメーターは必須で、LabelValueパラメーターはオプションです。

  • LabelValueパラメーターが空の場合、コンテナーラベルにLabelKeyで指定されたキーが含まれているコンテナーは除外されます。

  • LabelValueパラメーターが空でない場合、コンテナーラベルにLabelKeyとLabelValueで指定されたキーと値のペアが含まれているコンテナーは除外されます。

    デフォルトでは、LabelValueパラメーターの値に対して文字列照合が実行されます。 コンテナーは、コンテナーラベルの値がLabelValueパラメーターの値と同じである場合にのみ一致します。 LabelValueパラメーターに、キャレット (^) で始まり、ドル記号 ($) で終わる値を指定した場合、正規表現マッチングが実行されます。 たとえば、LabelKeyパラメーターをio.kubernetes.container.nameに設定し、LabelValueパラメーターを ^(nginx | cube)$ に設定すると、nginxという名前のコンテナーとcubeという名前のコンテナーが一致します。

説明
  • LabelKeyパラメーターに重複する値を指定しないでください。 LabelKeyパラメーターに重複する値を指定した場合、その値の1つだけが有効になります。

  • キーと値のペアは論理OR関係にあります。 コンテナのラベルが指定されたキーと値のペアの1つと一致する場合、コンテナは除外されます。

dockerIncludeEnv

JSON object

なし

環境変数のホワイトリスト。 ホワイトリストは、データを収集するコンテナを指定します。 デフォルトでは、このパラメーターは空です。これは、すべてのコンテナーからログまたはstdoutおよびstderrを収集することを示します。 環境変数ホワイトリストを設定する場合、EnvKeyパラメーターは必須で、EnvValueパラメーターはオプションです。

  • EnvValueパラメーターが空の場合、EnvKeyで指定されたキーが環境変数に含まれるコンテナーが一致します。

  • EnvValueパラメーターが空でない場合、EnvKeyとEnvValueで指定されたキーと値のペアが環境変数に含まれるコンテナーが一致します。

    デフォルトでは、EnvValueパラメーターの値に対して文字列照合が実行されます。 コンテナは、環境変数の値がEnvValueパラメーターの値と同じである場合にのみ一致します。 EnvValueパラメーターにキャレット (^) で始まり、ドル記号 ($) で終わる値を指定した場合、正規表現マッチングが実行されます。 たとえば、EnvKeyパラメーターをNGINX_SERVICE_PORTに設定し、EnvValueパラメーターを ^(80 | 6379)$ に設定した場合、ポート番号が80のコンテナーとポート番号が6379のコンテナーが一致します。

説明

キーと値のペアは論理OR関係にあります。 コンテナの環境変数が指定されたキーと値のペアのいずれかと一致する場合、コンテナは一致します。

dockerExcludeEnv

JSON object

なし

環境変数ブラックリスト。 ブラックリストには、データを除外するコンテナを指定します。 デフォルトでは、このパラメーターは空です。これは、すべてのコンテナーからデータを収集することを示します。 環境変数ブラックリストを設定する場合、EnvKeyパラメーターは必須で、EnvValueパラメーターはオプションです。

  • EnvValueパラメーターが空の場合、EnvKeyで指定されたキーが環境変数に含まれるコンテナーは除外されます。

  • EnvValueパラメーターが空でない場合、EnvKeyとEnvValueで指定されたキーと値のペアが環境変数に含まれているコンテナーは除外されます。

    デフォルトでは、EnvValueパラメーターの値に対して文字列照合が実行されます。 コンテナは、環境変数の値がEnvValueパラメーターの値と同じである場合にのみ一致します。 EnvValueパラメーターにキャレット (^) で始まり、ドル記号 ($) で終わる値を指定した場合、正規表現マッチングが実行されます。 たとえば、EnvKeyパラメーターをNGINX_SERVICE_PORTに設定し、EnvValueパラメーターを ^(80 | 6379)$ に設定した場合、ポート番号が80のコンテナーとポート番号が6379のコンテナーが一致します。

説明

キーと値のペアは論理OR関係にあります。 コンテナの環境変数が指定されたキーと値のペアのいずれかと一致する場合、コンテナは除外されます。

フル正規表現モードとシンプルモードのログ収集に固有の設定

  • パラメーター

    パラメーター

    データ型

    必須

    説明

    キー

    array

    課金されます

    ["content"]

    生ログに指定されているフィールド。

    logBeginRegex

    String

    課金されません

    .*

    ログの最初の行の先頭を一致させるために使用される正規表現。

    regex

    String

    課金されません

    (.*)

    フィールドの値を抽出するために使用される正規表現。

  • 設定例

    {
        "configName": "logConfigName", 
        "outputType": "LogService", 
        "inputType": "file", 
        "inputDetail": {
            "logPath": "/logPath", 
            "filePattern": "*", 
            "logType": "common_reg_log", 
            "topicFormat": "default", 
            "discardUnmatch": false, 
            "enableRawLog": true, 
            "fileEncoding": "utf8", 
            "maxDepth": 10, 
            "key": [
                "content"
            ], 
            "logBeginRegex": ".*", 
            "regex": "(.*)"
        }, 
        "outputDetail": {
            "projectName": "test-project", 
            "logstoreName": "test-logstore"
        }
    }

JSONモードのログ収集に固有の設定

パラメーター

データ型

必須

説明

timeKey

String

課金されません

time

時間フィールドを指定するために使用されるキー。

区切り文字モードのログ収集に固有の構成

  • パラメーター

    パラメーター

    データ型

    必須

    説明

    セパレータ

    String

    課金されません

    ,

    区切り文字。 収集するログの形式に基づいて区切り文字を選択する必要があります。 詳細については、「区切り文字モードでのログの収集」をご参照ください。

    引用

    String

    課金されます

    \

    引用だ ログフィールドに区切り文字が含まれている場合は、フィールドを囲む引用符を指定する必要があります。 Simple Log Serviceは、引用符のペアで囲まれたコンテンツを完全なフィールドに解析します。 収集するログの形式に基づいて引用を選択する必要があります。 詳細については、「区切り文字モードでのログの収集」をご参照ください。

    キー

    array

    課金されます

    ["ip", "time"]

    生ログに指定されているフィールド。

    timeKey

    String

    課金されます

    time

    時刻フィールドです。 keyの値のフィールドをtimeフィールドとして指定する必要があります。

    autoExtend

    Boolean

    課金されません

    true

    ログから解析されたフィールドの数が指定されたキーの数より少ない場合、ログをアップロードするかどうかを指定します。

    たとえば、区切り文字として縦バー (|) を指定すると、ログ11 | 22 | 33 | 44 | 551122334455のフィールドに解析されます。 キーをABCD、およびEに設定できます。

    • true: ログ11 | 22 | 33 | 55がSimple log Serviceにアップロードされ、55Dキーの値としてアップロードされます。

    • false: ログから解析されたフィールドの数が指定されたキーの数と一致しないため、ログ11 | 22 | 33 | 55は破棄されます。

  • 設定例

    {
        "configName": "logConfigName", 
        "logSample": "testlog", 
        "inputType": "file", 
        "outputType": "LogService", 
        "inputDetail": {
            "logPath": "/logPath", 
            "filePattern": "*", 
            "logType": "delimiter_log", 
            "topicFormat": "default", 
            "discardUnmatch": true, 
            "enableRawLog": true, 
            "fileEncoding": "utf8", 
            "maxDepth": 999, 
            "separator": ",", 
            "quote": "\"", 
            "key": [
                "ip", 
                "time"
            ], 
            "autoExtend": true
        }, 
        "outputDetail": {
            "projectName": "test-project", 
            "logstoreName": "test-logstore"
        }
    }

Logtailプラグインに固有の設定

  • パラメーター

    次の表に、プラグインを使用したログ収集に固有の設定を示します。

    パラメーター

    データ型

    必須

    説明

    プラグイン

    JSON object

    課金されます

    なし

    Logtailプラグインを使用してログを収集する場合は、このパラメーターを設定する必要があります。 詳細については、「Logtailプラグインを使用したデータ収集」をご参照ください。

  • 設定例

    {
        "configName": "logConfigName", 
        "outputType": "LogService", 
        "inputType": "plugin",
        "inputDetail": {
            "plugin": {
                "inputs": [
                    {
                        "detail": {
                            "ExcludeEnv": null, 
                            "ExcludeLabel": null, 
                            "IncludeEnv": null, 
                            "IncludeLabel": null, 
                            "Stderr": true, 
                            "Stdout": true
                        }, 
                        "type": "service_docker_stdout"
                    }
                ]
            }
        }, 
        "outputDetail": {
            "projectName": "test-project", 
            "logstoreName": "test-logstore"
        }
    }

outputDetail

outputDetailは、収集されたログを格納するプロジェクトとLogstoreを指定するために使用されます。

パラメーター

データ型

必須

説明

projectName

String

課金されます

my-project

プロジェクトの名前。 名前は、APIリクエストで指定するプロジェクトの名前と同じである必要があります。

logstoreName

String

課金されます

my-logstore

ログストアの名前

追加情報: ExactlyOnce書き込み機能

ExactlyOnce書き込み機能を有効にすると、Logtailは、Logtailがインストールされているサーバーのディスクに、きめ細かいチェックポイントをファイルごとに記録します。 ログ収集中にプロセスエラーやサーバーの再起動などの例外が発生した場合、Logtailはチェックポイントを使用して、ログ収集の再開時に各ファイルで処理する必要のあるデータの範囲を決定し、Simple log Serviceによって提供される増分シーケンス番号を使用して、重複データが送信されないようにします。 ただし、ExactlyOnce書き込み機能はディスク書き込みリソースを消費します。 制限事項

  • チェックポイントは、Logtailがインストールされているサーバーのディスクに保存されます。 ディスクに空き容量がないか、障害が発生したためにチェックポイントが失われた場合、チェックポイントを回復できません。

  • チェックポイントは、ファイルのメタデータ情報のみを記録します。 チェックポイントはファイルのデータを記録しません。 ファイルが削除または変更された場合、チェックポイントは回復されない可能性があります。

  • ExactlyOnce書き込み機能は、Simple Log Serviceによって記録された現在の書き込みシーケンス番号に基づいています。 各シャードは10,000レコードのみをサポートします。 制限を超えると、以前のレコードが置き換えられます。 信頼性を確保するには、次の式を使用して計算された値が9500を超えないようにします。値=同じLogstoreに書き込まれるアクティブなファイルの数 × Logtailインスタンスの数。 値と9500の間にギャップを確保することを推奨します。

    • アクティブなファイルの数: 読み取りおよび送信中のファイルの数。 ログファイルのローテーション中に生成され、同じ論理ファイル名を持つファイルは、シリアルモードで送信されます。 これらのファイルは1つのアクティブファイルと見なされます。

    • Logtailインスタンスの数: Logtailプロセスの数。 デフォルトでは、各サーバーは1つのLogtailインスタンスをホストします。 Logtailインスタンスの数は、サーバーの数と同じです。

デフォルトでは、Logtailがチェックポイントをディスクに書き込むと、syncコマンドは実行されません。 これにより、パフォーマンスの確保に役立ちます。 ただし、サーバーの再起動時にバッファリングされたデータがディスクに書き込まれない場合、チェックポイントが失われる可能性があります。 同期ベースの書き込み機能を有効にするには、Logtailのスタートアップ設定ファイル /usr/local/ilogtail/ilogtail_config.json"enable_checkpoint_sync_write": を追加します。 詳細については、「Logtailの起動パラメーターの設定」をご参照ください。