All Products
Search
Document Center

DataWorks:Sumber data LogHub (SLS)

Last Updated:Sep 16, 2026

Sumber data LogHub (SLS) menyediakan sinkronisasi data dua arah antara Simple Log Service (SLS) dan sumber data lainnya di DataWorks.

Fitur

Simple Log Service (SLS) mendukung skenario sinkronisasi data berikut:

  • Sinkronisasi data antara LogHub dan sumber data seperti MaxCompute di wilayah berbeda.

  • Sinkronisasi data antara LogHub dan sumber data seperti MaxCompute di akun Alibaba Cloud berbeda.

  • Sinkronisasi data antara LogHub dan sumber data seperti MaxCompute dalam akun Alibaba Cloud yang sama.

  • Sinkronisasi data antara LogHub dan sumber data seperti MaxCompute antara akun public cloud dan akun China Finance Cloud.

Batasan

Ketika Data Integration melakukan penulisan offline ke LogHub (SLS), duplikasi data dapat terjadi jika tugas dijalankan ulang setelah failover karena LogHub (SLS) tidak idempoten.

Tipe bidang yang didukung

Data Integration mendukung tipe bidang LogHub (SLS) berikut untuk pembacaan dan penulisan.

Field type

Offline read (LogHub (SLS) Reader)

Offline write (LogHub (SLS) Writer)

Real-time read

STRING

Supported

Supported

Supported

Detail:

  • Saat menulis data ke LogHub (SLS) dalam mode offline

    Semua tipe data dikonversi ke STRING sebelum ditulis ke LogHub (SLS). Tabel berikut mencantumkan konversi tipe data yang dilakukan oleh LogHub (SLS) Writer.

    Supported Data Integration internal type

    Data type when written to LogHub (SLS)

    LONG

    STRING

    DOUBLE

    STRING

    STRING

    STRING

    DATE

    STRING

    BOOLEAN

    STRING

    BYTES

    STRING

  • Saat membaca data dari LogHub (SLS) dalam mode real-time

    Bidang metadata berikut secara otomatis disertakan.

    LogHub (SLS) real-time synchronization field

    Data type

    Description

    __time__

    STRING

    Bidang terpesan SLS: __time__ menentukan waktu log saat data log ditulis. Nilainya adalah stempel waktu UNIX dalam satuan detik.

    __source__

    STRING

    Bidang terpesan SLS: __source__ menentukan perangkat sumber log.

    __topic__

    STRING

    Bidang terpesan SLS: __topic__ menentukan nama topik.

    __tag__:__receive_time__

    STRING

    Waktu saat log tiba di server. Setelah Anda mengaktifkan fitur pencatatan alamat IP publik, server menambahkan bidang ini ke log mentah saat menerima log. Nilainya adalah stempel waktu UNIX dalam satuan detik.

    __tag__:__client_ip__

    STRING

    Alamat IP publik perangkat sumber log. Setelah Anda mengaktifkan fitur pencatatan alamat IP publik, server menambahkan bidang ini ke log mentah saat menerima log.

    __tag__:__path__

    STRING

    Jalur file log yang dikumpulkan oleh Logtail. Logtail secara otomatis menambahkan bidang ini ke log.

    __tag__:__hostname__

    STRING

    Hostname mesin sumber tempat Logtail mengumpulkan data. Logtail secara otomatis menambahkan bidang ini ke log.

Buat sumber data

Konfigurasikan sumber data

Sebelum mengembangkan tugas sinkronisasi data, Anda harus membuat sumber data yang sesuai di DataWorks. Untuk prosedurnya, lihat Buat sumber data. Untuk deskripsi detail parameter konfigurasi, lihat tooltip yang ditampilkan pada halaman konfigurasi.

Buat sumber data lintas akun Alibaba Cloud

Contoh berikut menjelaskan cara menggunakan Akun B untuk mengonfigurasi tugas sinkronisasi di Data Integration guna menyinkronkan data LogHub dari Akun A ke MaxCompute milik Akun B. Catatan khusus untuk skenario lintas akun adalah sebagai berikut:

  1. Buat sumber data LogHub menggunakan AccessKey ID dan AccessKey Secret Akun A.

    Dalam kasus ini, Akun B dapat menyinkronkan data dari semua proyek SLS di bawah Akun A.

  2. Buat sumber data LogHub menggunakan AccessKey ID dan AccessKey Secret Pengguna RAM A1 di bawah Akun A.

    • Akun A memberikan izin umum kepada Pengguna RAM A1 pada SLS, yaitu kebijakan AliyunLogFullAccess dan AliyunLogReadOnlyAccess. Untuk informasi selengkapnya, lihat Buat pengguna RAM dan berikan izin.

      Catatan

      Setelah Anda melampirkan kebijakan sistem AliyunLogFullAccess dan AliyunLogReadOnlyAccess ke pengguna RAM, pengguna RAM tersebut dapat mengkueri semua resource SLS di bawah akun Alibaba Cloud.

    • Akun A memberikan izin kustom kepada Pengguna RAM A1 pada SLS.

      Masuk ke halaman RAM console > Permission Management > Permission Policy menggunakan Akun A, lalu klik Create Permission Policy.

      Untuk informasi tentang otorisasi terkait, lihat Ikhtisar kontrol akses dan Contoh otorisasi kustom RAM.

      Setelah Anda memberikan otorisasi kepada Pengguna RAM A1 berdasarkan kebijakan berikut, Akun B hanya dapat menyinkronkan data dari proyek SLS project_name1 dan project_name2 melalui Pengguna RAM A1.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "log:Get*",
                      "log:List*",
                      "log:CreateConsumerGroup",
                      "log:UpdateConsumerGroup",
                      "log:DeleteConsumerGroup",
                      "log:ListConsumerGroup",
                      "log:ConsumerGroupUpdateCheckPoint",
                      "log:ConsumerGroupHeartBeat",
                      "log:GetConsumerGroupCheckPoint"
                  ],
                  "Resource": [
                      "acs:log:*:*:project/project_name1",
                      "acs:log:*:*:project/project_name1/*",
                      "acs:log:*:*:project/project_name2",
                      "acs:log:*:*:project/project_name2/*"
                  ],
                  "Effect": "Allow"
              }
          ]
      }

Pengembangan tugas sinkronisasi data

Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.

Catatan

Saat sumber data LogHub digunakan sebagai sumber, Anda dapat menyaring data di LogHub menggunakan sintaks kueri LogHub atau pernyataan SPL (SLS Processing Language, sintaks yang digunakan SLS untuk memproses log) selama konfigurasi tugas. Untuk detail sintaks, lihat Lampiran: Penyaringan data LogHub.

Panduan konfigurasi tugas sinkronisasi offline tabel tunggal

Panduan konfigurasi tugas sinkronisasi real-time tabel tunggal

Untuk prosedurnya, lihat Konfigurasikan tugas sinkronisasi real-time tabel tunggal.

Panduan konfigurasi sinkronisasi real-time basis data penuh dan sinkronisasi tingkat basis data lainnya

Untuk prosedurnya, lihat Konfigurasikan tugas sinkronisasi real-time basis data penuh.

FAQ

Untuk isu umum lainnya tentang Data Integration, lihat FAQ Data Integration.

Lampiran 1: Demo skrip dan deskripsi parameter

Konfigurasikan tugas sinkronisasi batch menggunakan editor kode

Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Konfigurasi mode skrip. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.

Demo skrip Reader

Baca dari demo Logstore

{
 "type":"job",
 "version":"2.0",// Nomor versi.
 "steps":[
     {
         "stepType":"LogHub",// Nama plug-in.
         "parameter":{
             "datasource":"",// Sumber data.
             "column":[// Kolom.
                 "col0",
                 "col1",
                 "col2",
                 "col3",
                 "col4",
                 "__category__",
                 "__source__",
                 "__topic__", // Topik log.
                 "__machineUUID__", // Pengidentifikasi unik mesin koleksi.
                 "__tag__:__hostname__", // Hostname.
                 "__tag__:__path__", // Jalur.
                 "__time__" // Waktu event.
             ],
             "beginDateTime":"",// Waktu mulai konsumsi data.
             "batchSize":"",// Jumlah entri data yang dikueri dari SLS sekaligus.
             "endDateTime":"",// Waktu akhir konsumsi data.
             "fieldDelimiter":",",// Pemisah kolom.
             "logstore":""// Nama Logstore tujuan.
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// Jumlah catatan error.
     },
     "speed":{
         "throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku, artinya pembatasan kecepatan dinonaktifkan. Jika throttle diatur ke true, pembatasan kecepatan diaktifkan.
            "concurrent":1 // Jumlah thread konkuren.
            "mbps":"12",// Laju pembatasan. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Baca dari Logstore setelah pemrosesan data dengan demo SPL

{
 "type":"job",
 "version":"2.0",// Nomor versi.
 "steps":[
     {
         "stepType":"LogHub",// Nama plug-in.
         "parameter":{
             "datasource":"",// Sumber data.
             "column":[// Kolom.
                 "col100",
                 "col1"
             ],
             "beginDateTime":"",// Waktu mulai konsumsi data.
             "batchSize":"",// Jumlah entri data yang dikueri dari SLS sekaligus.
             "endDateTime":"",// Waktu akhir konsumsi data.
             "fieldDelimiter":",",// Pemisah kolom.
             "logstore":"",// Nama Logstore tujuan.
             "query":"* | where regexp_like(col0, '[0-9]+') | project col100=col0, col1 " // SPL
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// Jumlah catatan error.
     },
     "speed":{
         "throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku, artinya pembatasan kecepatan dinonaktifkan. Jika throttle diatur ke true, pembatasan kecepatan diaktifkan.
            "concurrent":1 // Jumlah thread konkuren.
            "mbps":"12",// Laju pembatasan. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Baca dari Logstore setelah memperluas bidang dengan demo SPL

{
 "type":"job",
 "version":"2.0",// Nomor versi.
 "steps":[
     {
         "stepType":"LogHub",// Nama plug-in.
         "parameter":{
             "datasource":"",// Sumber data.
             "column":[// Kolom.
               "col0",
               "col1",
               "col2",
               "col3",
               "col4",
               "__category__",
               "__source__",
               "__topic__", // Topik log.
               "__machineUUID__", // Pengidentifikasi unik mesin koleksi.
               "__tag__:__hostname__", // Hostname.
               "__tag__:__path__", // Jalur.
               "__time__", // Waktu event.
               "col100",
               "col101"
             ],
             "beginDateTime":"",// Waktu mulai konsumsi data.
             "batchSize":"",// Jumlah entri data yang dikueri dari SLS sekaligus.
             "endDateTime":"",// Waktu akhir konsumsi data.
             "fieldDelimiter":",",// Pemisah kolom.
             "logstore":"",// Nama Logstore tujuan.
             "query":"* | where regexp_like(col0, '[0-9]+') | extend col100=cast(col2 as BIGINT), extend col101=date_parse(col3, '%Y-%m-%d %H:%i') ",// SPL
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// Jumlah catatan error.
     },
     "speed":{
         "throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku, artinya pembatasan kecepatan dinonaktifkan. Jika throttle diatur ke true, pembatasan kecepatan diaktifkan.
            "concurrent":1 // Jumlah thread konkuren.
            "mbps":"12",// Laju pembatasan. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Parameter skrip Reader

Parameter

Description

Required

Default value

endPoint

Titik akhir Simple Log Service adalah URL yang digunakan untuk mengakses proyek dan data lognya. Titik akhir ini terkait dengan wilayah Alibaba Cloud tempat proyek berada dan nama proyek tersebut. Untuk titik akhir layanan setiap wilayah, lihat Endpoints.

Yes

None

accessId

ID AccessKey yang digunakan untuk mengakses Simple Log Service, yang mengidentifikasi pengguna.

Yes

None

accessKey

AccessKey yang digunakan untuk mengakses Simple Log Service guna otentikasi pengguna.

Yes

None

project

Nama proyek Simple Log Service tujuan. Proyek adalah unit manajemen sumber daya di Simple Log Service dan digunakan untuk mengisolasi serta mengelola sumber daya.

Yes

None

logstore

Nama Logstore tujuan. Logstore adalah unit di Simple Log Service untuk mengumpulkan, menyimpan, dan mengkueri data log.

Yes

None

batchSize

Jumlah entri data yang diambil dari Simple Log Service dalam satu kueri.

No

128

column

Nama kolom dalam setiap entri data. Anda dapat mengonfigurasi bidang metadata Simple Log Service sebagai kolom sinkronisasi. Simple Log Service mendukung metadata seperti topik log, pengidentifikasi unik mesin koleksi, hostname, jalur, dan waktu log.

Catatan

Nama kolom bersifat case-sensitive. Untuk informasi selengkapnya, lihat bagian nilai kolom yang dapat dikonfigurasi di bawah ini.

Yes

None

beginDateTime

Waktu mulai konsumsi data, yaitu waktu saat data log tiba di LogHub (SLS). Parameter ini menentukan batas kiri (inklusif) rentang waktu. Atur parameter ini ke string waktu dalam format yyyyMMddHHmmss (misalnya, 20180111013000). Anda dapat menggunakan parameter ini bersama parameter penjadwalan DataWorks.

Sebagai contoh, di Scheduling Settings di sisi kanan halaman pengeditan node, atur beginDateTime=${yyyymmdd-1} di Parameter, lalu atur Log Start Time ke ${beginDateTime}000000. Ini menunjukkan bahwa waktu mulai log adalah pukul 00:00:00 pada tanggal bisnis. Untuk informasi selengkapnya, lihat Parameter penjadwalan.

Catatan
  • beginDateTime dan endDateTime harus digunakan bersama.

  • Untuk menyinkronkan semua data, Anda dapat mengatur beginDateTime ke waktu mulai data dan endDateTime ke hari ini. Namun, hal ini dapat mengonsumsi banyak sumber daya karena volume datanya. Sesuaikan spesifikasi kelompok sumber daya sesuai kebutuhan.

  • Bidang filter waktu dasar tetap menggunakan stempel waktu tulis (waktu saat log tiba di LogHub (SLS)). beginDateTime hanya mengontrol rentang waktu konsumsi data. Parameter ini tidak mengubah bidang filter dasar dan tidak dapat diubah menjadi bidang bisnis kustom seperti start_time.

Yes

None

endDateTime

Waktu akhir konsumsi data, yaitu batas kanan (eksklusif) rentang waktu. Atur parameter ini ke string waktu dalam format yyyyMMddHHmmss (misalnya, 20180111013010). Anda dapat menggunakan parameter ini bersama parameter penjadwalan DataWorks.

Sebagai contoh, di Scheduling Settings di sisi kanan halaman pengeditan node, atur endDateTime=${yyyymmdd} di Parameter, lalu atur Log End Time ke ${endDateTime}000000. Ini menunjukkan bahwa waktu akhir log adalah pukul 00:00:00 pada hari setelah tanggal bisnis. Untuk informasi selengkapnya, lihat Parameter penjadwalan.

Penting
  • Waktu yang ditentukan untuk endDatetime harus lebih awal dari (2038-01-19 11:14:07 +8:00). Jika tidak, data mungkin gagal diambil.

  • endDateTime dari siklus penjadwalan sebelumnya harus sama dengan atau lebih baru dari beginDateTime dari siklus penjadwalan berikutnya. Jika tidak, data dalam beberapa rentang waktu mungkin tidak diambil.

  • Bidang filter waktu dasar tetap menggunakan stempel waktu tulis (waktu saat log tiba di LogHub (SLS)). endDateTime hanya mengontrol rentang waktu konsumsi data. Parameter ini tidak mengubah bidang filter dasar dan tidak dapat diubah menjadi bidang bisnis kustom seperti start_time.

Yes

None

query

Menyaring data di LogHub menggunakan sintaks kueri LogHub atau pernyataan SPL (SLS Processing Language adalah sintaks yang digunakan SLS untuk memproses log).

Yes

None

Catatan

Jika data hilang saat Anda membaca dari LogHub, periksa di konsol LogHub apakah bidang metadata receive_time berada dalam rentang waktu yang dikonfigurasi untuk tugas tersebut.

Partisi berdasarkan bidang bisnis kustom

Filter waktu untuk tugas sinkronisasi offline LogHub (SLS) selalu berdasarkan __tag__:__receive_time__. Penyaringan atau partisi langsung berdasarkan bidang bisnis kustom seperti start_time tidak didukung. Untuk mempartisi data ke MaxCompute berdasarkan bidang bisnis kustom, gunakan solusi berikut:

  1. Konfigurasikan tugas sinkronisasi offline untuk menyinkronkan semua data LogHub (SLS) ke tabel staging MaxCompute (tanpa menentukan bidang partisi).

  2. Buat node SQL MaxCompute dan jalankan pernyataan berikut untuk menulis data ke tabel partisi tujuan berdasarkan bidang bisnis kustom (seperti start_time):

    INSERT OVERWRITE TABLE target_table PARTITION(start_time)
    SELECT col1, col2, start_time
    FROM temp_table;
  3. Gunakan parameter penjadwalan untuk meneruskan nilai partisi secara dinamis dan menerapkan partisi otomatis per hari atau per jam.

Demo skrip Writer

{
    "type": "job",
    "version": "2.0",// Nomor versi.
    "steps": [
        { 
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "LogHub",// Nama plug-in.
            "parameter": {
                "datasource": "",// Sumber data.
                "column": [// Kolom.
                    "col0",
                    "col1",
                    "col2",
                    "col3",
                    "col4",
                    "col5"
                ],
                "topic": "",// Topik yang dipilih.
                "batchSize": "1024",// Jumlah catatan yang dikirim sekaligus.
                "logstore": ""// Nama Logstore LogService tujuan.
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": ""// Jumlah catatan error.
        },
        "speed": {
            "throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku dan bandwidth tidak dibatasi. Jika throttle diatur ke true, bandwidth dibatasi.
            "concurrent":3, // Jumlah thread konkuren.
            "mbps":"12"// Laju pembatasan. 1 mbps = 1 MB/s.
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parameter skrip Writer

Catatan

LogHub (SLS) Writer memperoleh data yang dihasilkan oleh Reader melalui kerangka kerja Data Integration, lalu mengonversi semua tipe data yang didukung ke STRING satu per satu. Saat batchSize yang ditentukan tercapai, data didorong ke LogHub (SLS) dalam satu batch menggunakan LogService Java SDK.

Parameter

Description

Required

Default value

endpoint

Titik akhir Layanan Log adalah URL yang digunakan untuk mengakses proyek dan data lognya. Titik akhir ini ditentukan oleh wilayah Alibaba Cloud dan nama proyek. Untuk titik akhir setiap wilayah, lihat Titik akhir layanan.

Yes

None

accessKeyId

AccessKeyId yang digunakan untuk mengakses Layanan Log.

Yes

None

accessKeySecret

AccessKeySecret yang digunakan untuk mengakses Layanan Log.

Yes

None

project

Nama proyek Layanan Log tujuan.

Yes

None

logstore

Nama Logstore tujuan. Logstore adalah unit di Layanan Log untuk mengumpulkan, menyimpan, dan mengkueri data log.

Yes

None

topic

Nama topic di SLS tujuan.

No

Empty string

batchSize

Jumlah catatan data yang disinkronkan ke LogHub (SLS) sekaligus. Nilai default: 1.024. Nilai maksimum: 4.096.

Catatan

Ukuran data untuk satu penulisan batch ke LogHub (SLS) tidak boleh melebihi 5 MB. Sesuaikan jumlah catatan yang didorong per batch berdasarkan ukuran catatan individual Anda.

No

1.024

column

Nama kolom dalam setiap catatan data.

Yes

None

Lampiran 2: Penyaringan sintaks SPL LogHub

Saat LogHub digunakan sebagai sumber data, Anda dapat menggunakan sintaks kueri LogHub atau pernyataan SPL (SLS Processing Language) untuk menyaring data di LogHub selama konfigurasi tugas. Sintaks tersebut dijelaskan sebagai berikut:

Catatan

Untuk informasi selengkapnya tentang SPL, lihat Ikhtisar SPL.

Scenario

SQL statement

SPL statement

Data filtering

SELECT * WHERE Type='write'

  • Penyaringan kondisional.

    * | where Type='write'
  • Kueri fuzzy.

    * | where Type like '%write%'
  • Ekspresi reguler.

    * | where regexp_like(server_protocol, '\d+')
  • Lebih lanjut (ekspresi SQL).

    * | where <sql-expr> 

Pemrosesan dan pemilihan bidang

Pilih bidang tertentu dan ubah namanya:

SELECT "__tag__:node" AS node, path
  • Pilih bidang tertentu dan ubah namanya.

    * | project node="__tag__:node", path
  • Pilih bidang berdasarkan pola.

    * | project -wildcard "__tag__:*"
  • Ubah nama bidang tertentu tanpa memengaruhi bidang lainnya.

    * | project-rename node="__tag__:node"
  • Kecualikan bidang berdasarkan pola.

    * | project-away -wildcard "__tag__:*"

Transformasi data

(panggil fungsi SQL)

Konversi tipe data, uraikan stempel waktu, dan lainnya:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time

Konversi tipe data, uraikan stempel waktu, dan lainnya:

* | extend Status=cast(Status as BIGINT), extend Time=date_parse(Time, '%Y-%m-%d %H:%i')

Ekstraksi bidang

Ekstraksi ekspresi reguler:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time

Ekstraksi JSON:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time
  • Ekstraksi ekspresi reguler: pencocokan satu kali.

    * | parse-regexp protocol, '(\w+)/(\d+)' as scheme, version
  • Ekstraksi JSON: ekspansi penuh.

    * | parse-json -path='$.0' content
  • Ekstraksi CSV.

    * | parse-csv -delim='^_^' content as ip, time, host

Lampiran 3: Nilai kolom yang dapat dikonfigurasi

Logika pembacaan semua bidang hanya dipicu ketika column berisi tepat satu elemen yang berupa * atau "*". Jika tidak, setiap elemen column diproses dalam urutan pencocokan normal. Sebagai contoh, jika Anda mengonfigurasi ["*", "__time__"], * tidak memicu logika pembacaan semua bidang. Sebaliknya, elemen tersebut dicocokkan sebagai nama bidang biasa, yang biasanya menghasilkan null.

Urutan pencocokan normal adalah: bidang konten log biasa → pemetaan bidang meta bawaan Reader → konstanta dalam tanda kutip tunggal → __tag__:<tagKey> → null. Jika bidang konten log biasa memiliki nama yang sama dengan bidang meta atau kunci LogTag, bidang konten log biasa memiliki prioritas lebih tinggi.

Tabel berikut mencantumkan bidang yang umum digunakan dan direkomendasikan untuk konfigurasi yang dihadapkan pengguna dalam pengaturan column LogHub Reader, berdasarkan definisi bidang bidang terpesan SLS. Apakah suatu bidang memiliki nilai tergantung pada konten log aktual, metadata LogGroup, dan LogTags yang diambil.

Configuration

Behavior

Nama bidang biasa, seperti content atau level

Membaca nilai dari bidang konten (contents) setiap entri log berdasarkan kunci. Nama bidang bersifat case-sensitive.

__time__ atau __logtime__

Membaca log.getTime() setiap entri log, yaitu waktu log dalam stempel waktu tingkat detik.

__source__

Membaca source dari LogGroup, yang sesuai dengan perangkat sumber log.

__topic__

Membaca topic dari LogGroup, yang sesuai dengan topik log.

__category__

Membaca category dari LogGroup.

__machineUUID__

Membaca machineUUID dari LogGroup.

__tag__:__receive_time__

Membaca __receive_time__ dari LogTags, yang menunjukkan waktu saat log tiba di server. Tag ini harus benar-benar ada dalam log.

__tag__:__client_ip__

Membaca __client_ip__ dari LogTags, yang menunjukkan alamat IP publik perangkat sumber log. Tag ini harus benar-benar ada dalam log.

__tag__:__path__

Membaca __path__ dari LogTags, yang biasanya menunjukkan jalur file log yang dikumpulkan oleh Logtail. Tag ini harus benar-benar ada dalam log.

__tag__:__hostname__

Membaca __hostname__ dari LogTags, yang biasanya menunjukkan hostname mesin sumber tempat Logtail mengumpulkan data. Tag ini harus benar-benar ada dalam log.

__tag__:<tagKey>

Membaca LogTags lain yang ditentukan, seperti __tag__:__pack_id__ atau __tag__:__user_defined_id__.

__raw_log__ atau __raw__

Jika bidang ini ada sebagai bidang konten log, bidang ini dapat dibaca sebagai nama bidang biasa.

'fixed value'

Menghasilkan string konstan (konten setelah menghapus tanda kutip tunggal luar).

["*"]

Hanya berlaku ketika column berisi satu *. Membaca semua bidang konten log biasa, mengurutkannya berdasarkan kunci, dan menghasilkan setiap kolom dalam format key:value.

Bidang yang tidak cocok

Menghasilkan null tanpa melaporkan error.

Contoh konfigurasi:

"column": [
  "content",
  "__time__",
  "__source__",
  "__tag__:__receive_time__",
  "'constant_value'"
]