Topik ini menjelaskan cara membuat konfigurasi Logtail di konsol Layanan Log Sederhana untuk mengumpulkan hasil kueri SQL Server.
Prasyarat
Logtail V0.16.0 atau lebih baru terpasang pada Server Linux, atau Logtail V1.0.0.8 atau lebih baru terpasang pada Server Windows. Untuk informasi lebih lanjut, lihat Pasang Logtail pada Server Linux atau Pasang Logtail pada Server Windows.
PentingPastikan server tempat Logtail dipasang dapat terhubung ke database dari mana Anda ingin mengumpulkan hasil kueri SQL Server.
Alamat IP server tempat Logtail dipasang ditambahkan ke daftar putih database SQL Server dari mana Anda ingin mengumpulkan hasil kueri SQL Server.
Untuk informasi lebih lanjut tentang cara mengonfigurasi daftar putih alamat IP untuk instance ApsaraDB RDS for SQL Server, lihat Konfigurasikan daftar putih alamat IP.
Prinsip
Logtail mengeksekusi pernyataan SELECT yang ditentukan dalam konfigurasi Logtail secara berkala, lalu mengunggah hasil kueri ke Layanan Log Sederhana.
Setelah Logtail memperoleh hasil kueri, Logtail menyimpan nilai kolom CheckPoint dalam hasil ke server Logtail. Lain kali Logtail mengeksekusi pernyataan SELECT, Logtail menambahkan nilai kolom CheckPoint ke pernyataan SELECT tersebut. Dengan cara ini, Logtail dapat mengumpulkan data tambahan.
Jika Anda menggunakan titik pemeriksaan selama pengumpulan data, Anda harus mengurutkan nilai kolom CheckPoint dalam pernyataan SELECT. Jika tidak, mungkin terjadi duplikasi data atau masalah lainnya.
Fitur
Anda dapat mengumpulkan hasil kueri dari database SQL Server.
Anda dapat mengonfigurasi pengaturan kueri berhalaman.
Anda dapat menentukan zona waktu.
Anda dapat menentukan periode timeout.
Anda dapat menyimpan nilai kolom CheckPoint.
Anda dapat menentukan jumlah maksimum log yang dapat dikumpulkan sekaligus.
Skenario
Kumpulkan data tambahan berdasarkan tanda seperti ID otomatis atau titik waktu.
Sinkronkan data berdasarkan kondisi filter.
Prosedur
Masuk ke konsol Layanan Log Sederhana.
Di bagian Quick Data Import, klik Impor Data. Di kotak dialog yang muncul, temukan dan klik Custom Data Plug-in.
Pilih proyek dan penyimpanan log. Lalu, klik Next.
Di langkah Machine Group Configurations, konfigurasikan grup mesin.
Konfigurasikan parameter Skenario dan Lingkungan Instalasi berdasarkan kebutuhan bisnis Anda.
PentingAnda harus mengonfigurasi parameter Skenario dan Lingkungan Instalasi terlepas dari apakah grup mesin tersedia atau tidak. Pengaturan parameter ini memengaruhi konfigurasi selanjutnya.
Pastikan grup mesin ditampilkan di bagian Applied Server Groups dan klik Next.
Grup mesin tersedia
Pilih grup mesin dari bagian Source Machine Group.

Tidak ada grup mesin tersedia
Klik Create Machine Group. Di panel Create Machine Group, konfigurasikan parameter. Anda dapat mengatur parameter Pengenal Grup Mesin ke IP Address atau Custom Identifier. Untuk informasi lebih lanjut, lihat Buat grup mesin berbasis pengenal kustom atau Buat grup mesin berbasis alamat IP.
PentingJika Anda menerapkan grup mesin segera setelah membuat grup mesin, status denyut jantung grup mesin mungkin menjadi FAIL. Masalah ini terjadi karena grup mesin belum terhubung ke Layanan Log Sederhana. Untuk menyelesaikan masalah ini, Anda dapat mengklik Retry. Jika masalah tetap ada, lihat Apa yang harus saya lakukan jika tidak ada koneksi denyut jantung yang terdeteksi pada Logtail?
Di langkah Configure Data Source, konfigurasikan parameter Configuration Name dan Plug-in Configuration. Lalu, klik Next.
{ "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
Tipe
Diperlukan
Deskripsi
type
string
Ya
Tipe sumber data. Atur nilainya menjadi service_mssql.
Address
string
Tidak
Alamat database SQL Server. Contoh:
rm-****.sqlserver.rds.aliyuncs.com.Nilai default: 127.0.0.1:1433.
User
string
Tidak
Nama pengguna akun yang digunakan untuk masuk ke database SQL Server.
Nilai default: root.
Password
string
Tidak
Kata sandi akun yang digunakan untuk masuk ke database SQL Server. Parameter ini kosong secara default.
Jika Anda memiliki persyaratan tinggi untuk keamanan data, kami sarankan Anda atur nama pengguna dan kata sandi menjadi
xxx. Setelah konfigurasi Anda disinkronkan ke server Logtail, temukan parameter User dan Password di file /usr/local/ilogtail/user_log_config.json dan ubah nilainya sesuai dengan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Ubah konfigurasi Logtail pada server Logtail.PentingJika Anda memodifikasi parameter ini di konsol Layanan Log Sederhana, pengaturan parameter dalam konfigurasi Logtail pada server Logtail akan tertimpa setelah modifikasi disinkronkan ke server.
DataBase
string
Tidak
Nama database SQL Server.
DialTimeOutMs
int
Tidak
Periode timeout untuk koneksi ke database SQL Server. Unit: milidetik.
Nilai default: 5000.
ReadTimeOutMs
int
Tidak
Periode timeout untuk pembacaan dari database SQL Server. Unit: milidetik.
Nilai default: 5000.
StateMent
string
Tidak
Pernyataan SELECT.
Jika Anda mengatur parameter CheckPoint menjadi true, Anda harus menyertakan kolom yang ditentukan untuk parameter CheckPointColumn dalam klausa WHERE dari pernyataan SELECT yang Anda tentukan untuk parameter StateMent. Anda juga harus mengatur nilai untuk kolom tersebut menjadi tanda tanya (?). Sebagai contoh, jika Anda mengatur parameter CheckPointColumn menjadi id, Anda harus menentukan nilai parameter StateMent dalam format
SELECT * from ... where id > ?.Limit
boolean
Tidak
Menentukan apakah menggunakan klausa LIMIT untuk membagi halaman hasil kueri.
Nilai default: false. Nilai ini menunjukkan bahwa tidak ada klausa LIMIT yang digunakan.
Kami sarankan Anda mengatur parameter Limit menjadi true. Jika Anda mengatur parameter Limit menjadi true, klausa LIMIT secara otomatis ditambahkan ke pernyataan SELECT yang Anda tentukan untuk parameter StateMent saat Logtail mengeksekusi pernyataan SQL.
PageSize
int
Tidak
Jumlah maksimum log yang dapat dikembalikan di setiap halaman. Jika Anda mengatur parameter Limit menjadi true, Anda harus mengonfigurasi parameter ini.
MaxSyncSize
int
Tidak
Jumlah maksimum log yang dapat disinkronkan sekaligus.
Nilai default: 0. Nilai ini menunjukkan bahwa jumlahnya tidak terbatas.
CheckPoint
boolean
Tidak
Menentukan apakah menggunakan titik pemeriksaan selama pengumpulan data.
Nilai default: false. Nilai ini menunjukkan bahwa tidak ada titik pemeriksaan yang digunakan.
CheckPointColumn
string
Tidak
Nama kolom yang menyimpan titik pemeriksaan. Kolom ini juga disebut sebagai kolom titik pemeriksaan.
Jika Anda mengatur parameter CheckPoint menjadi true, Anda harus mengonfigurasi parameter ini.
PeringatanNilai dalam kolom titik pemeriksaan harus bertambah. Jika tidak, beberapa data mungkin tidak dikumpulkan. Nilai maksimum dalam hasil operasi kueri digunakan sebagai input untuk operasi kueri berikutnya.
CheckPointColumnType
string
Tidak
Tipe kolom titik pemeriksaan. Nilai valid: int dan time. Jika Anda mengatur parameter ini menjadi int, nilai dalam kolom titik pemeriksaan adalah tipe int64. Jika Anda mengatur parameter ini menjadi time, nilai dalam kolom titik pemeriksaan dapat berupa tipe date, datetime, atau time yang didukung oleh SQL Server.
Jika Anda mengatur parameter CheckPoint menjadi true, Anda harus mengonfigurasi parameter ini.
CheckPointStart
string
Tidak
Nilai awal kolom titik pemeriksaan.
Jika Anda mengatur parameter CheckPoint menjadi true, Anda harus mengonfigurasi parameter ini.
CheckPointSavePerPage
boolean
Tidak
Menentukan apakah menyimpan titik pemeriksaan setiap kali hasil kueri dibagi halaman. Nilai valid:
true: menyimpan titik pemeriksaan setiap kali hasil kueri dibagi halaman.
false: menyimpan titik pemeriksaan setiap kali hasil kueri disinkronkan.
IntervalMs
int
Ya
Interval sinkronisasi. Unit: milidetik.
Create indexes dan preview data. Lalu, klik Next. Secara default, pengindeksan teks penuh diaktifkan di Layanan Log Sederhana. Anda juga dapat secara manual membuat indeks bidang untuk log yang dikumpulkan atau klik Automatic Index Generation. Lalu, Layanan Log Sederhana menghasilkan indeks bidang. Untuk informasi lebih lanjut, lihat Buat indeks.
PentingJika Anda ingin menanyakan semua bidang dalam log, kami sarankan Anda menggunakan indeks teks penuh. Jika Anda hanya ingin menanyakan bidang tertentu, kami sarankan Anda menggunakan indeks bidang. Ini membantu mengurangi lalu lintas indeks. Jika Anda ingin menganalisis bidang, Anda harus membuat indeks bidang. Anda harus menyertakan pernyataan SELECT dalam pernyataan kueri Anda untuk analisis.
Klik Log Query. Anda akan dialihkan ke halaman kueri dan analisis Logstore Anda.
Anda harus menunggu sekitar 1 menit agar indeks berlaku. Lalu, Anda dapat melihat log yang dikumpulkan di tab Raw Logs. Untuk informasi lebih lanjut, lihat Panduan kueri dan analisis log.
Ubah konfigurasi Logtail pada server Logtail
Jika Anda tidak memasukkan nilai aktual untuk parameter seperti Address, User, dan Password di bidang Plug-in Configuration saat Anda membuat konfigurasi Logtail, Anda dapat memodifikasi parameter tersebut setelah konfigurasi Logtail dikirimkan ke server Logtail.
Linux
Masuk ke server Logtail.
Temukan kata kunci service_mssql di file /usr/local/ilogtail/user_log_config.json dan modifikasi parameter seperti Address, User, dan Password.
Jalankan perintah berikut untuk memulai ulang Logtail:
sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start
Windows
Masuk ke server Logtail.
Temukan kata kunci service_mssql di file C:\Program Files\Alibaba\Logtail\user_log_config.json dan modifikasi parameter seperti Address, User, dan Password.
Jalur file berbeda antara sistem operasi Windows 64-bit dan Windows 32-bit. Untuk informasi lebih lanjut, lihat Jalur File.
Jalankan perintah berikut untuk memulai ulang 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 lebih baru, pilih LogtailDaemon.
Klik kanan layanan dan pilih Start, Stop, atau Restart.
Pemecahan Masalah
Jika tidak ada data yang ditampilkan di halaman pratinjau atau halaman kueri setelah log dikumpulkan menggunakan Logtail, Anda dapat mendiagnosis kesalahan berdasarkan instruksi yang diberikan di Apa yang harus saya lakukan jika terjadi kesalahan saat saya menggunakan Logtail untuk mengumpulkan log?
Tabel database sampel dan log sampel
Berikut ini adalah tabel sampel dari database SQL Server dan log sampel yang dikumpulkan oleh Logtail.
Tabel database sampel
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; GOLog sampel
