Topik ini menjelaskan cara membuat konfigurasi Logtail di Konsol Simple Log Service untuk mengumpulkan hasil kueri SQL Server.
Prasyarat
-
Logtail harus diinstal. Gunakan versi 0.16.0 atau yang lebih baru untuk Linux, atau 1.0.0.8 atau yang lebih baru untuk Windows. Untuk informasi selengkapnya, lihat Instal Logtail pada server Linux atau Instal Logtail pada server Windows.
PentingPastikan server Logtail dapat terhubung ke database target.
-
Tambahkan alamat IP server Logtail ke daftar putih database SQL Server Anda.
Sebagai contoh, untuk mengonfigurasi daftar putih untuk instans ApsaraDB RDS for SQL Server, lihat Konfigurasi daftar putih alamat IP.
Fitur
-
Mengumpulkan hasil kueri dari database SQL Server.
-
Mengonfigurasi pagination.
-
Mengonfigurasi zona waktu.
-
Mengonfigurasi timeout.
-
Menyimpan status checkpoint.
-
Membatasi jumlah catatan yang dikumpulkan per sinkronisasi.
Prosedur
Masuk ke Konsol Simple Log Service.
-
Di bagian Import Data, klik Custom Data Plug-in.
-
Pilih proyek dan Logstore tujuan, lalu klik Next.
Pada langkah Machine Group Configurations, konfigurasikan kelompok mesin.
Konfigurasikan parameter Scenario dan Installation Environment sesuai kebutuhan.
PentingAnda harus mengonfigurasi parameter Scenario dan Installation Environment terlepas dari apakah kelompok mesin tersedia atau tidak. Pengaturan parameter ini memengaruhi konfigurasi berikutnya.
Pastikan kelompok mesin ditampilkan di bagian Applied Server Groups, lalu klik Next.
Machine group available
Pilih kelompok mesin dari bagian Source Machine Group.

No machine group available
Klik Create Machine Group. Di panel Create Machine Group, konfigurasikan parameter tersebut. Anda dapat mengatur parameter Machine Group Identifier menjadi IP Address atau Custom Identifier. Untuk informasi selengkapnya, lihat Buat kelompok mesin berbasis pengenal kustom atau Buat kelompok mesin berbasis alamat IP.
PentingJika Anda menerapkan kelompok mesin segera setelah membuatnya, status heartbeat kelompok mesin mungkin FAIL. Masalah ini terjadi karena kelompok mesin belum terhubung ke Simple Log Service. Untuk mengatasi masalah ini, Anda dapat mengklik Automatic Retry. Jika masalah tetap berlanjut, lihat Apa yang harus saya lakukan jika tidak ada koneksi heartbeat yang terdeteksi pada Logtail?
-
Pada tab Configure Data Source, atur Configuration Name dan Plug-in Configuration, lalu klik Next.
-
inputs wajib diisi dan digunakan untuk mengonfigurasi pengaturan sumber data untuk konfigurasi Logtail.
PentingAnda hanya dapat menentukan satu jenis sumber data dalam inputs.
-
processors bersifat opsional dan digunakan untuk mengonfigurasi pengaturan pemrosesan data untuk konfigurasi Logtail guna mengurai data. Anda dapat menentukan satu atau beberapa metode pemrosesan.
Jika log Anda tidak dapat diurai hanya berdasarkan pengaturan inputs, Anda dapat mengonfigurasi processors di kolom Plug-in Configuration untuk menambahkan plugin guna pemrosesan data. Misalnya, ekstraksi field, ekstraksi waktu log, masking data, dan penyaringan log. Untuk informasi selengkapnya, lihat Plugin Logtail untuk pemrosesan data.
{ "inputs": [ { "type": "service_mssql", "detail": { "Address": "rm-****.sqlserver.rds.aliyuncs.com", "User": "****", "Password": "*******", "DataBase": "****", "Limit": true, "PageSize": 100, "StateMent": "select * from LogtailTestTable where id > ? order by id", "CheckPoint": true, "CheckPointColumn": "id", "CheckPointStart": "0", "CheckPointSavePerPage": true, "CheckPointColumnType": "int", "IntervalMs": 1000 } } ] }Parameter
Type
Required
Description
type
string
Yes
Jenis sumber data diatur ke service_mssql.
Address
string
No
Alamat SQL Server. Contoh:
rm-****.sqlserver.rds.aliyuncs.com.Jika parameter ini tidak dikonfigurasi, nilai default-nya adalah 127.0.0.1:1433.
User
string
No
Username untuk masuk ke database SQL Server.
Jika tidak dikonfigurasi, root digunakan secara default.
Password
string
No
Password untuk pengguna. Parameter ini kosong secara default.
Jika Anda memiliki persyaratan keamanan tinggi, kami sarankan agar Anda mengatur username dan password ke
xxx. Setelah konfigurasi Logtail disinkronkan ke mesin lokal Anda, temukan konfigurasi yang sesuai dalam file /usr/local/ilogtail/user_log_config.json dan modifikasi. Untuk informasi selengkapnya, lihat Modifikasi konfigurasi lokal.PentingJika Anda memodifikasi parameter ini di konsol, konsol akan menimpa konfigurasi lokal saat sinkronisasi.
DataBase
string
No
Nama database SQL Server.
DialTimeOutMs
int
No
Timeout untuk menghubungkan ke database SQL Server. Satuan: milidetik (ms).
Nilai default: 5000.
ReadTimeOutMs
int
No
Timeout untuk membaca hasil kueri dari database SQL Server. Satuan: ms.
Nilai default: 5000.
StateMent
string
No
Pernyataan SELECT.
Saat Anda mengatur CheckPoint ke true, klausa
WHEREdari pernyataanSELECTdalam StateMent harus berisi kolom yang ditentukan oleh parameter CheckPointColumn, dan nilai kolom ini harus diatur ke ?. Contoh: atur CheckPointColumn ke id dan StateMent keSELECT * from ... where id > ?.Limit
boolean
No
Menentukan apakah akan menggunakan pagination dengan klausa LIMIT.
Jika parameter ini tidak ditentukan, nilai default-nya adalah false, yang berarti pagination berbasis Limit tidak digunakan.
Kami menyarankan agar Anda menggunakan Limit untuk pagination. Jika Anda mengatur Limit ke true, pernyataan LIMIT akan ditambahkan secara otomatis ke Statement saat Anda melakukan kueri SQL.
PageSize
int
No
Ukuran halaman. Parameter ini wajib diisi saat Limit diatur ke true.
MaxSyncSize
int
No
Jumlah maksimum catatan yang disinkronkan sekaligus.
Jika Anda tidak mengonfigurasi parameter ini, nilai default-nya adalah 0, yang berarti tidak ada batasan.
CheckPoint
boolean
No
Menentukan apakah akan menggunakan checkpoint untuk pengumpulan inkremental.
Jika tidak dikonfigurasi, nilai default-nya adalah false, yang berarti Checkpoint tidak digunakan.
CheckPointColumn
string
No
Nama kolom checkpoint.
Wajib diisi jika CheckPoint diatur ke true.
PeringatanNilai dalam kolom checkpoint harus bersifat inkremental. Jika tidak, kehilangan data dapat terjadi karena Logtail menggunakan nilai maksimum dari kueri sebelumnya sebagai titik awal untuk kueri berikutnya.
CheckPointColumnType
string
No
Tipe data kolom checkpoint. Nilai yang valid:
intdantime. Logtail menyimpan tipeintsebagai int64. Tipetimemendukung tipedate,datetime, dantimemilik SQL Server.Parameter ini wajib diisi jika CheckPoint diatur ke true.
CheckPointStart
string
No
Nilai awal kolom checkpoint.
Parameter ini wajib diisi jika CheckPoint diatur ke true.
CheckPointSavePerPage
boolean
No
Menentukan apakah checkpoint disimpan setelah mengumpulkan setiap halaman.
-
true: Menyimpan Checkpoint setiap kali terjadi pagination.
-
false: Menyimpan Checkpoint setelah setiap sinkronisasi selesai.
IntervalMs
int
Yes
Interval sinkronisasi, dalam ms.
-
Buat indeks dan pratinjau data. Lalu, klik Next. Secara default, indeks teks penuh diaktifkan di Simple Log Service. Anda juga dapat membuat indeks bidang secara manual untuk log yang dikumpulkan atau klik Automatic Index Generation. Kemudian, Simple Log Service akan menghasilkan indeks bidang. Untuk informasi selengkapnya, lihat Buat indeks.
PentingJika Anda ingin mengkueri semua bidang dalam log, kami sarankan agar Anda menggunakan indeks teks penuh. Jika Anda hanya ingin mengkueri bidang tertentu, kami sarankan agar Anda menggunakan indeks bidang. Hal ini membantu mengurangi traffic indeks. Jika Anda ingin menganalisis bidang, Anda harus membuat indeks bidang. Anda harus menyertakan pernyataan SELECT dalam pernyataan kueri Anda untuk analisis.
-
Klik Query Log untuk membuka halaman kueri dan analisis Logstore.
Tunggu sekitar satu menit hingga indeks berlaku. Lalu, Anda dapat melihat log yang dikumpulkan di tab Raw Logs. Untuk informasi selengkapnya, lihat Panduan cepat untuk kueri dan analisis log.
Modifikasi konfigurasi lokal
Jika Anda tidak memasukkan nilai aktual untuk parameter seperti Address, User, dan Password di bagian Plug-in Configuration, Anda dapat memodifikasinya secara manual setelah konfigurasi Logtail dikirimkan.
Linux
-
Masuk ke server tempat Logtail diinstal.
-
Buka file /usr/local/ilogtail/user_log_config.json, cari kata kunci service_mssql, lalu modifikasi field seperti Address, User, dan Password.
-
Jalankan perintah berikut untuk restart Logtail.
sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start
Windows
-
Masuk ke server tempat Logtail diinstal.
-
Buka file C:\Program Files\Alibaba\Logtail\user_log_config.json, cari kata kunci service_mssql, lalu modifikasi field Address, User, dan Password.
Jalur file berbeda untuk sistem operasi Windows 64-bit dan 32-bit. Untuk informasi selengkapnya, lihat Jalur file.
-
Restart Logtail.
Pilih .
Di kotak dialog Services, pilih layanan yang ingin Anda kelola.
Untuk Logtail V0.x.x.x, pilih LogtailWorker.
Untuk Logtail V1.0.0.0 atau yang lebih baru, pilih LogtailDaemon.
Klik kanan layanan tersebut dan pilih Start, Stop, atau Restart.
Pemecahan Masalah
Jika tidak ada data yang muncul di halaman pratinjau atau halaman kueri setelah Anda menggunakan Logtail untuk mengumpulkan log, lihat Pemecahan masalah kegagalan pengumpulan log Logtail.
Contoh tabel database dan log
Bagian ini menyediakan skema contoh untuk tabel database SQL Server dan contoh log yang dikumpulkan oleh Logtail.
-
Skema tabel contoh
IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'LogtailTest') BEGIN CREATE DATABASE [LogtailTest] END GO USE [LogtailTest] GO IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='LogtailTestTable' and xtype='U') BEGIN CREATE TABLE LogtailTestTable ( id INT PRIMARY KEY IDENTITY (1, 1), name NVARCHAR(50), quantity INT ) END GO INSERT INTO LogtailTestTable (name, quantity) values('banana', 1); INSERT INTO LogtailTestTable (name, quantity) values('banana', 2); INSERT INTO LogtailTestTable (name, quantity) values('banana', 3); INSERT INTO LogtailTestTable (name, quantity) values('banana', 4); SELECT * FROM LogtailTestTable; GO -
Contoh log
