All Products
Search
Document Center

Simple Log Service:Konfigurasi Logtail (Lama)

Last Updated:Nov 16, 2025

Konfigurasi Logtail adalah seperangkat kebijakan yang digunakan Logtail untuk mengumpulkan log. Anda dapat menyesuaikan kebijakan pengumpulan tersebut dengan mengatur parameter seperti sumber data dan mode pengumpulan saat membuat konfigurasi Logtail. Topik ini menjelaskan parameter terkait konfigurasi Logtail dalam mode API.

Metode konfigurasi CRD-AliyunLogConfig lama tidak lagi dipelihara. Gunakan AliyunPipelineConfig yang baru sebagai gantinya. Untuk informasi selengkapnya, lihat CreateLogtailPipelineConfig - Membuat konfigurasi pipeline Logtail.

Parameter dasar dari konfigurasi Logtail

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

configName

string

Ya

config-sample

Nama konfigurasi Logtail. Nama harus unik dalam proyek. Anda tidak dapat mengubah nama setelah konfigurasi Logtail dibuat.

Nama tersebut harus memenuhi persyaratan berikut:

  • Hanya boleh berisi huruf kecil, angka, tanda hubung (-), dan garis bawah (_).

  • Harus diawali dan diakhiri dengan huruf kecil atau angka.

  • Panjangnya harus antara 2 hingga 128 karakter.

inputType

string

Ya

file

Jenis sumber data. Nilai yang valid:

  • plugin: Mengumpulkan log, seperti data binary logging (Binlog) MySQL, menggunakan plug-in Logtail.

  • file: Mengumpulkan log dari file teks menggunakan mode tetap, seperti mode regex penuh atau mode pembatas.

inputDetail

Objek JSON

Ya

Tidak ada

Konfigurasi detail sumber data. Untuk informasi selengkapnya, lihat parameter inputDetail.

outputType

string

Ya

LogService

Tujuan output log yang dikumpulkan. Hanya LogService yang didukung. Artinya, data yang dikumpulkan hanya dapat diunggah ke Simple Log Service.

outputDetail

Objek JSON

Ya

Tidak ada

Konfigurasi detail untuk output log. Untuk informasi selengkapnya, lihat parameter outputDetail.

logSample

string

Tidak

Tidak ada

Contoh log.

Catatan

Contoh log harus kurang dari 1.500 byte.

Parameter inputDetail

Parameter dasar

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

filterKey

array

Tidak

["ip"]

Bidang yang digunakan untuk memfilter log. Log hanya dikumpulkan jika nilai bidang tersebut cocok dengan ekspresi reguler yang ditentukan dalam parameter filterRegex.

Catatan

Parameter ini hanya untuk pengumpulan log teks.

filterRegex

array

Tidak

["^10.*"]

Ekspresi reguler yang sesuai dengan parameter filterKey. Jumlah elemen dalam filterRegex harus sama dengan jumlah elemen dalam filterKey.

Catatan

Parameter ini hanya untuk pengumpulan log teks.

shardHashKey

array

Tidak

["__source__"]

Mode penulisan data. Secara default, data ditulis dalam mode load balancing.

  • Mode Load balancing (LoadBalance): Menulis data secara otomatis ke shard yang dapat ditulis apa pun di Logstore dengan load balancing. Metode ini memberikan ketersediaan tulis tinggi dan cocok untuk skenario konsumsi data yang tidak memerlukan urutan berurutan.

  • Mode Shard (KeyHash): Menambahkan bidang Key ke parameter URL untuk menentukan shard mana yang akan menerima data. Parameter ini opsional. Jika tidak diatur, sistem secara otomatis beralih ke mode load balancing. Misalnya, Anda dapat melakukan hash pada produsen, seperti instans, ke shard tertentu berdasarkan namanya. Ini memastikan bahwa data yang ditulis ke dan dikonsumsi dari shard tersebut benar-benar berurutan. Selama penggabungan dan pemisahan shard, data dengan kunci yang sama dijamin hanya berada di satu shard kapan saja. Untuk informasi selengkapnya, lihat Shard.

Jika Anda mengonfigurasi parameter ini, data ditulis dalam mode shard. Bidang __source__ didukung.

enableRawLog

boolean

Tidak

false

Menentukan apakah akan mengunggah log mentah. Nilai valid:

  • true: Mengunggah log mentah.

  • false (default): Tidak mengunggah log mentah.

sensitive_keys

array

Tidak

Tidak ada

Fitur penyamaran data. Untuk informasi selengkapnya, lihat parameter sensitive_keys.

mergeType

string

Tidak

topic

Metode agregasi. Nilai yang valid:

  • topic (default): Mengagregasi berdasarkan topik.

  • logstore: Mengagregasi berdasarkan Logstore.

delayAlarmBytes

int

Tidak

209715200

Ambang batas peringatan untuk keterlambatan pengumpulan. Nilai default: 209715200, yaitu 200 MB.

adjustTimezone

boolean

Tidak

false

Menentukan apakah akan menyesuaikan zona waktu log. Parameter ini hanya digunakan ketika penguraian waktu dikonfigurasi, misalnya, ketika parameter timeFormat diatur.

logTimezone

string

Tidak

GMT+08:00

Offset zona waktu. Formatnya adalah GMT+JJ:MM untuk zona waktu timur dan GMT-JJ:MM untuk zona waktu barat. Misalnya, jika waktu log berada di UTC+8, atur nilai ini menjadi GMT+08:00.

advanced

Objek JSON

Tidak

Tidak ada

Fitur lanjutan. Untuk informasi selengkapnya, lihat parameter advanced.

Parameter sensitive_keys

  • Parameter

    Parameter

    Tipe

    Diperlukan

    Contoh

    Deskripsi

    key

    string

    Ya

    content

    Nama bidang log.

    type

    string

    Ya

    const

    Metode penyamaran data. Nilai yang valid:

    • const: Mengganti konten sensitif dengan nilai bidang const.

    • md5: Mengganti konten sensitif dengan hash MD5-nya.

    regex_begin

    string

    Ya

    'password':'

    Ekspresi reguler untuk awalan konten sensitif. Digunakan untuk menemukan konten sensitif. Gunakan sintaks RE2. Untuk informasi selengkapnya, lihat Sintaks RE2.

    regex_content

    string

    Ya

    [^']*

    Ekspresi reguler untuk konten sensitif. Gunakan sintaks RE2. Untuk informasi selengkapnya, lihat Sintaks RE2.

    all

    boolean

    Ya

    true

    Menentukan apakah akan mengganti semua konten sensitif dalam bidang tersebut. Nilai yang valid:

    • true (disarankan): Mengganti semua konten sensitif.

    • false: Hanya mengganti bagian pertama konten yang cocok dengan ekspresi reguler.

    const

    string

    Tidak

    "********"

    Parameter ini wajib jika Anda mengatur type ke const.

  • Contoh Konfigurasi

    Misalnya, jika nilai bidang content dalam log adalah [{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}], Anda dapat mengganti nilai bidang password dengan ******** dengan mengatur sensitive_keys sebagai berikut.

    sensitive_keys = [{"all": true,
    "const": "********",
    "regex_content": "[^']*",
    "regex_begin": "'password':'",
    "type": "const",
    "key": "content"}]                    
  • Contoh Log

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

Parameter advanced

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

enable_root_path_collection

boolean

Tidak

false

Menentukan apakah mengizinkan pengumpulan data dari direktori root Windows, seperti D:\log*. Nilai valid:

  • true: Diizinkan.

  • false (default): Tidak diizinkan.

Penting
  • Ini adalah parameter global. Jika Anda mengaktifkan fitur ini dalam satu konfigurasi Logtail, semua konfigurasi Logtail di server diizinkan untuk mengumpulkan dari direktori root hingga Logtail dimulai ulang.

  • Fitur ini hanya didukung pada Windows Logtail 1.0.0.22 dan versi lebih baru.

exactly_once_concurrency

int

Tidak

1

Menentukan apakah akan mengaktifkan fitur penulisan ExactlyOnce. Fitur ini menentukan jumlah pengiriman konkuren yang diizinkan untuk satu file. Nilainya harus berada dalam rentang 0 hingga 512. Untuk informasi selengkapnya, lihat Lampiran: Fitur penulisan ExactlyOnce. Nilai yang valid:

  • 0: Menonaktifkan fitur penulisan ExactlyOnce.

  • Nilai lain: Mengaktifkan fitur penulisan ExactlyOnce dan menentukan jumlah pengiriman konkuren yang diizinkan untuk satu file.

Penting
  • Nilai besar untuk parameter ini meningkatkan overhead memori dan disk. Evaluasi parameter ini berdasarkan lalu lintas tulis lokal Anda.

  • Logtail melakukan randomisasi lokal. Bahkan jika nilai parameter ini kurang dari jumlah shard di server, keseimbangan tulis tetap terjamin dan tidak perlu disejajarkan sempurna.

  • Setelah Anda mengonfigurasi parameter ini, efeknya hanya berlaku untuk file baru.

  • Fitur ini hanya didukung pada Logtail 1.0.21 dan versi lebih baru.

enable_log_position_meta

boolean

Tidak

true

Menentukan apakah akan menambahkan metadata dari file log asli ke log. Ini menambahkan bidang __tag__:__inode__ dan __file_offset__. Nilai yang valid:

  • true: Menambahkan metadata.

  • false: Tidak menambahkan metadata.

Catatan

Fitur ini hanya didukung pada Logtail 1.0.21 dan versi lebih baru.

specified_year

uint

Tidak

0

Jika tahun dalam log mentah tidak ada, Anda dapat mengatur parameter ini untuk melengkapi waktu log dengan tahun saat ini atau tahun yang ditentukan. Nilai yang valid:

  • 0: Menggunakan tahun saat ini.

  • Tahun tertentu (misalnya, 2020): Menggunakan tahun yang ditentukan.

Catatan

Fitur ini hanya didukung pada Logtail 1.0.21 dan versi lebih baru.

force_multiconfig

boolean

Tidak

false

Menentukan apakah akan mengizinkan konfigurasi Logtail ini untuk mengumpulkan file yang sudah dicocokkan oleh konfigurasi Logtail lain. Nilai default adalah false, artinya tidak diizinkan.

Ini berlaku untuk skenario multi-tulis, misalnya, ketika satu file dikumpulkan oleh dua konfigurasi pengumpulan ke Logstore yang berbeda.

raw_log_tag

string

Tidak

__raw__

Bidang yang digunakan untuk menyimpan log mentah saat mengunggah log mentah. Nilai default adalah __raw__.

blacklist

object

Tidak

Tidak ada

Konfigurasi daftar hitam pengumpulan. Untuk informasi selengkapnya, lihat parameter blacklist.

tail_size_kb

int

Tidak

1024

Ukuran pengumpulan awal untuk file baru. Ukuran ini menentukan posisi awal pengumpulan. Ukuran pengumpulan awal default adalah 1024 KB.

  • Saat pengumpulan awal, jika file lebih kecil dari 1024 KB, pengumpulan dimulai dari awal file.

  • Saat pengumpulan awal, jika file lebih besar dari 1024 KB, pengumpulan dimulai dari 1024 KB sebelum akhir file.

Anda dapat memodifikasi ukuran pengumpulan awal di sini. Nilainya harus berada dalam rentang 0 hingga 10485760. Satuannya adalah KB.

batch_send_interval

int

Tidak

3

Periode pengiriman agregasi. Satuannya adalah detik. Nilai default adalah 3.

max_rotate_queue_size

int

Tidak

20

Panjang antrian rotasi file tunggal. Nilai default adalah 20.

enable_precise_timestamp

boolean

Tidak

false

Menentukan apakah akan mengekstrak waktu presisi tinggi. Jika parameter ini tidak ditambahkan, nilai default adalah false, artinya waktu presisi tinggi tidak diekstrak.

Secara default, setelah Anda mengatur ini ke true, Logtail mengurai nilai bidang waktu yang ditentukan menjadi timestamp tingkat milidetik dan menyimpannya di bidang yang sesuai dengan parameter precise_timestamp_key.

Catatan
  • Pastikan sakelar untuk menggunakan waktu sistem dalam konfigurasi pengumpulan Logtail dimatikan.

  • Fitur ini hanya didukung pada Logtail 1.0.32 dan versi lebih baru.

precise_timestamp_key

string

Tidak

"precise_timestamp"

Bidang yang menyimpan timestamp presisi tinggi. Jika parameter ini tidak ditambahkan, bidang default adalah precise_timestamp.

precise_timestamp_unit

string

Tidak

"ms"

Unit timestamp presisi tinggi. Jika parameter ini tidak ditambahkan, default-nya adalah ms. Nilai yang valid termasuk ms (milidetik), us (mikrodetik), dan ns (nanodetik).

Tabel berikut menjelaskan parameter-parameter dari blacklist.

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

dir_blacklist

array

Tidak

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

Daftar hitam direktori (jalur absolut). Anda dapat menggunakan tanda bintang (*) sebagai karakter wildcard untuk mencocokkan beberapa direktori.

Misalnya, jika Anda mengonfigurasi jalur sebagai /home/admin/dir1, semua konten dalam direktori /home/admin/dir1 diabaikan selama pengumpulan.

filename_blacklist

array

Tidak

["app*.log", "password"]

Daftar hitam nama file. Nama file yang ditentukan tidak dikumpulkan dari direktori mana pun. Anda dapat menggunakan tanda bintang (*) sebagai karakter wildcard untuk mencocokkan beberapa nama file.

filepath_blacklist

array

Tidak

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

Daftar hitam jalur file (jalur absolut). Anda dapat menggunakan tanda bintang (*) sebagai karakter wildcard untuk mencocokkan beberapa file.

Jika Anda mengonfigurasi jalur sebagai /home/admin/private*.log, semua file dalam direktori /home/admin/ yang diawali dengan "private" dan diakhiri dengan ".log" diabaikan selama pengumpulan.

Konfigurasi khusus Logtail untuk log teks

Parameter Dasar

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

logType

string

Ya

common_reg_log

Mode pengumpulan log. Mode berikut didukung:

  • json_log: Mode JSON.

  • common_reg_log: Mode regex penuh.

  • plugin: Mode plug-in.

  • delimiter_log: Mode pembatas.

logPath

string

Ya

/var/log/http/

Jalur file log.

filePattern

string

Ya

access*.log

Nama file log.

topicFormat

string

Ya

none

Metode pembuatan topik. Nilai yang valid:

  • none: Tidak menghasilkan topik log.

  • default: Menggunakan jalur file log sebagai topik log.

  • group_topic: Menggunakan topik kelompok mesin tempat konfigurasi Logtail ini diterapkan sebagai topik log.

  • Ekspresi reguler jalur file: Menggunakan bagian dari jalur file log sebagai topik log. Misalnya, /var/log/(.*).log.

Untuk informasi lebih lanjut, lihat Topik log.

timeFormat

string

Tidak

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

Format waktu log. Untuk informasi selengkapnya, lihat Format waktu.

preserve

boolean

Tidak

true

Jika file log tidak diperbarui dalam waktu tertentu, file tersebut dianggap telah timeout. Nilai yang valid:

  • true (default): Tidak pernah timeout.

  • false: Jika file log tidak diperbarui dalam 30 menit, file tersebut dianggap timeout dan tidak lagi dipantau.

preserveDepth

integer

Tidak

1

Saat Anda mengatur preserve ke false, Anda harus menentukan kedalaman direktori maksimum untuk timeout. Nilainya harus berada dalam rentang 1 hingga 3.

fileEncoding

string

Tidak

utf8

Format encoding file log. Nilai yang valid adalah utf8 dan gbk.

discardUnmatch

boolean

Tidak

true

Menentukan apakah akan membuang log yang gagal dicocokkan. Nilai yang valid:

  • true: Membuang log yang gagal dicocokkan.

  • false: Tidak membuang log yang gagal dicocokkan.

maxDepth

int

Tidak

100

Kedalaman maksimum direktori log yang dipantau. Nilainya harus berada dalam rentang 0 hingga 1.000. Nilai 0 berarti hanya direktori saat ini yang dipantau.

delaySkipBytes

int

Tidak

0

Ambang batas untuk membuang data yang tertunda. Nilai yang valid:

  • 0 (default): Tidak membuang data.

  • Nilai lain: Jika keterlambatan pengumpulan melebihi nilai ini (misalnya, 1024 KB), data yang tertunda dibuang.

dockerFile

boolean

Tidak

false

Menentukan apakah file objek untuk pengumpulan adalah file dalam kontainer. Nilai default adalah false.

dockerIncludeLabel

Objek JSON

Tidak

Tidak ada

Daftar putih label kontainer, digunakan untuk menentukan kontainer yang akan dikumpulkan. Secara default, kosong, artinya log atau output standar dari semua kontainer dikumpulkan. Jika Anda ingin mengatur daftar putih label kontainer, LabelKey wajib dan LabelValue opsional.

  • Jika LabelValue kosong, semua kontainer dengan label yang mencakup LabelKey dicocokkan.

  • Jika LabelValue tidak kosong, hanya kontainer dengan label LabelKey=LabelValue yang dicocokkan.

    Secara default, LabelValue dicocokkan sebagai string. Pencocokan hanya terjadi jika LabelValue identik dengan nilai label kontainer. Jika nilai dimulai dengan ^ dan diakhiri dengan $, nilai tersebut dianggap sebagai ekspresi reguler. Misalnya, atur LabelKey ke io.kubernetes.container.name dan LabelValue ke ^(nginx|cube)$ untuk mencocokkan kontainer bernama nginx atau cube.

Catatan
  • Jangan mengatur LabelKey yang sama beberapa kali. Jika ada duplikat, hanya satu yang berlaku.

  • Beberapa entri daftar putih memiliki hubungan OR. Kontainer dicocokkan jika labelnya memenuhi salah satu entri daftar putih.

dockerExcludeLabel

Objek JSON

Tidak

Tidak ada

Daftar hitam label kontainer, digunakan untuk mengecualikan kontainer dari pengumpulan. Secara default, kosong, artinya tidak ada kontainer yang dikecualikan. Jika Anda ingin mengatur daftar hitam label kontainer, LabelKey wajib dan LabelValue opsional.

  • Jika LabelValue kosong, semua kontainer dengan label yang mencakup LabelKey dikecualikan.

  • Jika LabelValue tidak kosong, hanya kontainer dengan label LabelKey=LabelValue yang dikecualikan.

    Secara default, LabelValue dicocokkan sebagai string. Pencocokan hanya terjadi jika LabelValue identik dengan nilai label kontainer. Jika nilai dimulai dengan ^ dan diakhiri dengan $, nilai tersebut dianggap sebagai ekspresi reguler. Misalnya, atur LabelKey ke io.kubernetes.container.name dan LabelValue ke ^(nginx|cube)$ untuk mencocokkan kontainer bernama nginx atau cube.

Catatan
  • Jangan mengatur LabelKey yang sama beberapa kali. Jika ada duplikat, hanya satu yang berlaku.

  • Beberapa entri daftar hitam memiliki hubungan OR. Kontainer dikecualikan jika labelnya memenuhi salah satu pasangan kunci-nilai daftar hitam.

dockerIncludeEnv

Objek JSON

Tidak

Tidak ada

Daftar putih variabel lingkungan, digunakan untuk menentukan kontainer yang akan dikumpulkan. Secara default, kosong, artinya log atau output standar dari semua kontainer dikumpulkan. Jika Anda ingin mengatur daftar putih variabel lingkungan, EnvKey wajib dan EnvValue opsional.

  • Jika EnvValue kosong, semua kontainer dengan variabel lingkungan yang mencakup EnvKey dicocokkan.

  • Jika EnvValue tidak kosong, hanya kontainer dengan variabel lingkungan EnvKey=EnvValue yang dicocokkan.

    Secara default, EnvValue dicocokkan sebagai string. Pencocokan hanya terjadi jika EnvValue identik dengan nilai variabel lingkungan. Jika nilai dimulai dengan ^ dan diakhiri dengan $, nilai tersebut dianggap sebagai ekspresi reguler. Misalnya, atur EnvKey ke NGINX_SERVICE_PORT dan EnvValue ke ^(80|6379)$ untuk mencocokkan kontainer dengan port layanan 80 atau 6379.

Catatan

Beberapa entri daftar putih memiliki hubungan OR. Kontainer dicocokkan jika variabel lingkungannya memenuhi salah satu entri daftar putih.

dockerExcludeEnv

Objek JSON

Tidak

Tidak ada

Daftar hitam variabel lingkungan, digunakan untuk mengecualikan kontainer dari pengumpulan. Secara default, kosong, artinya tidak ada kontainer yang dikecualikan. Jika Anda ingin mengatur daftar hitam variabel lingkungan, EnvKey wajib dan EnvValue opsional.

  • Jika EnvValue kosong, semua kontainer dengan variabel lingkungan yang mencakup EnvKey dikecualikan.

  • Jika EnvValue tidak kosong, hanya kontainer dengan variabel lingkungan EnvKey=EnvValue yang dikecualikan.

    Secara default, EnvValue dicocokkan sebagai string. Pencocokan hanya terjadi jika EnvValue identik dengan nilai variabel lingkungan. Jika nilai dimulai dengan ^ dan diakhiri dengan $, nilai tersebut dianggap sebagai ekspresi reguler. Misalnya, atur EnvKey ke NGINX_SERVICE_PORT dan EnvValue ke ^(80|6379)$ untuk mencocokkan kontainer dengan port layanan 80 atau 6379.

Catatan

Beberapa entri daftar hitam memiliki hubungan OR. Kontainer dikecualikan jika variabel lingkungannya memenuhi salah satu pasangan kunci-nilai.

Konfigurasi khusus untuk mode regex penuh dan mode sederhana

  • Parameter

    Parameter

    Tipe

    Diperlukan

    Contoh

    Deskripsi

    key

    array

    Ya

    ["content"]

    Daftar bidang yang digunakan untuk mengonfigurasi bidang untuk konten log mentah.

    logBeginRegex

    string

    Tidak

    .*

    Ekspresi reguler untuk awal entri log.

    regex

    string

    Tidak

    (.*)

    Ekspresi reguler yang digunakan untuk mengekstrak bidang.

  • Contoh Konfigurasi

    {
        "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"
        }
    }

Konfigurasi khusus untuk mode JSON

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

timeKey

string

Tidak

time

Nama kunci bidang waktu.

Konfigurasi khusus untuk mode pembatas

  • Parameter

    Parameter

    Tipe

    Diperlukan

    Contoh

    Deskripsi

    separator

    string

    Tidak

    ,

    Pilih pemisah yang benar berdasarkan format log Anda. Untuk informasi selengkapnya, lihat Kumpulkan log dalam mode pembatas.

    quote

    string

    Ya

    \

    Jika bidang log berisi pemisah, Anda harus menentukan tanda kutip untuk mengapitnya. Konten yang diapit tanda kutip diurai oleh Simple Log Service sebagai satu bidang. Pilih tanda kutip yang benar berdasarkan format log Anda. Untuk informasi selengkapnya, lihat Kumpulkan log dalam mode pembatas.

    key

    array

    Ya

    [ "ip", "time"]

    Daftar bidang yang digunakan untuk mengonfigurasi bidang untuk konten log mentah.

    timeKey

    string

    Ya

    time

    Menentukan bidang dari daftar key sebagai bidang waktu.

    autoExtend

    boolean

    Tidak

    true

    Menentukan apakah akan mengunggah bidang yang diurai jika jumlah bidang yang dipisahkan dari log kurang dari jumlah kunci yang dikonfigurasi.

    Misalnya, log adalah 11|22|33|44|55, pemisahnya adalah tanda pipa vertikal (|), dan konten log diurai menjadi 11, 22, 33, 44, dan 55. Kuncinya diatur menjadi A, B, C, D, dan E masing-masing.

    • true: Saat mengumpulkan log 11|22|33|55, 55 diunggah ke Simple Log Service sebagai nilai untuk kunci D.

    • false: Saat mengumpulkan log 11|22|33|55, entri log ini dibuang karena jumlah bidang tidak sesuai dengan jumlah kunci.

  • Contoh Konfigurasi

    {
        "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"
        }
    }

Konfigurasi khusus plug-in Logtail

  • Parameter

    Tabel berikut menjelaskan konfigurasi khusus untuk pengumpulan log menggunakan plug-in.

    Parameter

    Tipe

    Diperlukan

    Contoh

    Deskripsi

    plugin

    Objek JSON

    Ya

    Tidak ada

    Konfigurasikan parameter ini saat Anda menggunakan plug-in Logtail untuk mengumpulkan log. Untuk informasi selengkapnya, lihat Gunakan plug-in Logtail untuk mengumpulkan data.

  • Contoh Konfigurasi

    {
        "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"
        }
    }

Parameter outputDetail

Parameter ini digunakan untuk mengonfigurasi proyek tujuan dan Logstore tempat log akan dikirim.

Parameter

Tipe

Diperlukan

Contoh

Deskripsi

projectName

string

Ya

my-project

Nama proyek. Harus sama dengan nama proyek dalam permintaan.

logstoreName

string

Ya

my-logstore

Nama Logstore.

Lampiran: Fitur penulisan ExactlyOnce

Saat Anda mengaktifkan fitur penulisan ExactlyOnce, Logtail mencatat checkpoint detail halus tingkat file ke disk lokal. Jika terjadi pengecualian seperti kesalahan proses atau restart server, Logtail menggunakan checkpoint ini untuk menentukan cakupan pemrosesan ulang setiap file saat pengumpulan dilanjutkan. Logtail juga memanfaatkan nomor urut inkremental dari Simple Log Service untuk mencegah pengiriman data duplikat. Namun, fitur ini mengonsumsi sejumlah sumber daya tulis disk. Batasan berikut berlaku:

  • Checkpoint disimpan di disk lokal. Jika checkpoint tidak dapat direkam karena disk penuh atau rusak, pemulihan mungkin gagal.

  • Checkpoint hanya mencatat metadata file, bukan data file itu sendiri. Jika file tersebut dihapus atau dimodifikasi, pemulihan mungkin tidak dapat dilakukan.

  • Fitur penulisan ExactlyOnce bergantung pada nomor urut tulis yang dicatat oleh Simple Log Service. Setiap shard mendukung maksimal 10.000 catatan. Jika batas ini terlampaui, catatan lama akan ditimpa. Untuk memastikan keandalan, hasil dari `Jumlah file aktif × Jumlah instans Logtail` untuk Logstore yang sama tidak boleh melebihi 9.500. Kami menyarankan agar Anda menyisakan buffer.

    • File aktif: Jumlah file yang sedang dibaca dan dikirim. File yang diputar dengan nama logis yang sama dikirim secara serial dan dihitung sebagai satu file aktif.

    • Instans Logtail: Jumlah proses Logtail. Secara default, setiap server memiliki satu instans. Oleh karena itu, jumlah ini biasanya sama dengan jumlah server.

Karena alasan kinerja, Logtail tidak memanggil `sync` untuk menulis checkpoint ke disk secara default. Jika server dimulai ulang sebelum data yang dibuffer ditulis ke disk, checkpoint mungkin hilang. Untuk mengaktifkan penulisan sinkron, tambahkan "enable_checkpoint_sync_write": true, ke file konfigurasi startup Logtail (/usr/local/ilogtail/ilogtail_config.json). Untuk informasi selengkapnya, lihat Atur parameter startup Logtail.