Topik ini menjelaskan cara membuat konfigurasi Logtail untuk mengumpulkan hasil kueri MySQL.
Prasyarat
Logtail V0.16.0 atau lebih baru terpasang di Server Linux, atau Logtail V1.0.0.8 atau lebih baru terpasang di Server Windows. Untuk informasi lebih lanjut, lihat Instal, Jalankan, Tingkatkan, dan Hapus Instalasi Logtail.
PentingPastikan server tempat Logtail terinstal dapat terhubung ke database MySQL.
Alamat IP server tempat Logtail terinstal ditambahkan ke daftar putih database MySQL dari mana Anda ingin mengumpulkan hasil kueri MySQL.
Sebagai contoh, untuk mengonfigurasi daftar putih untuk instance ApsaraDB RDS for MySQL, lihat Konfigurasikan Daftar Putih Alamat IP.
Untuk mengumpulkan hasil kueri MySQL menggunakan CRD-AliyunPipelineConfig, pastikan komponen Logtail terinstal di kluster.
Untuk informasi lebih lanjut, lihat Instal Komponen Logtail.
Prosedur
Konsol Simple Log Service
Masuk ke Konsol Simple Log Service.
Di sisi kanan halaman yang muncul, klik kartu Quick Data Import.

Di halaman Data Import, pilih MySQL Query Result - Plug-in.
Pilih proyek dan penyimpanan log, lalu klik Next.
Di langkah Machine Group Configurations, konfigurasikan grup mesin.
Konfigurasikan parameter Skenario dan Lingkungan Instalasi sesuai kebutuhan.
PentingAnda harus mengonfigurasi parameter Skenario dan Lingkungan Instalasi terlepas dari apakah grup mesin tersedia atau tidak. Pengaturan parameter 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 menyetel 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 detak jantung grup mesin mungkin menjadi FAIL. Masalah ini terjadi karena grup mesin belum terhubung ke Simple Log Service. Untuk menyelesaikan masalah ini, Anda dapat mengklik Automatic Retry. Jika masalah tetap ada, lihat Apa yang Harus Saya Lakukan Jika Tidak Ada Koneksi Detak Jantung yang Terdeteksi pada Logtail?.
Di langkah Configure Data Source, konfigurasikan parameter Configuration Name dan Plug-in Configuration. Lalu, klik Next.
Anda dapat mengonfigurasi sumber data menggunakan formulir atau editor (konfigurasi JSON). Untuk informasi lebih lanjut, lihat Konfigurasi Input Ekstensi: Plugin Input MySQL.

Buat indeks dan pratinjau data, lalu klik Next. Secara default, pengindeksan teks penuh diaktifkan di Simple Log Service. Anda juga dapat secara manual membuat indeks bidang untuk log yang dikumpulkan atau klik Automatic Index Generation. Lalu, Simple Log Service menghasilkan indeks bidang. Untuk informasi lebih lanjut, lihat Buat Indeks.
PentingUntuk menanyakan semua bidang dalam log, kami sarankan Anda menggunakan indeks teks penuh. Untuk menanyakan hanya bidang tertentu, kami sarankan Anda menggunakan indeks bidang. Ini membantu mengurangi lalu lintas indeks. Untuk menganalisis bidang, buat indeks bidang. Anda harus menyertakan pernyataan SELECT dalam pernyataan kueri Anda untuk analisis.
Klik Query Log. Anda akan dialihkan ke halaman kueri dan analisis logstore Anda.
Tunggu sekitar 1 menit agar indeks berlaku. Lalu, lihat log yang dikumpulkan di tab Raw Logs. Untuk informasi lebih lanjut, lihat Panduan Kueri dan Analisis Log.
CRD-AliyunPipelineConfig
Bagian ini menjelaskan cara membuat konfigurasi koleksi di kluster ACK.
Masuk ke Konsol ACK. Di panel navigasi di sebelah kiri, klik Clusters.
Di halaman Clusters, temukan kluster target. Di kolom Actions, klik More, lalu klik Manage Cluster.
Buat file bernama example-k8s-file.yaml.
Deskripsi Parameter
Contoh
apiVersion: telemetry.alibabacloud.com/v1alpha1 # Buat CR dari ClusterAliyunPipelineConfig CRD. kind: ClusterAliyunPipelineConfig metadata: # Nama sumber daya. Nama harus unik di kluster Kubernetes saat ini. Nama sama dengan nama konfigurasi Logtail yang dibuat name: example-crd-mysql spec: # Tentukan proyek ke mana log dikumpulkan. project: name: k8s-log-clusterid # Buat Logstore untuk menyimpan log. logstores: - name: crd-mysql-test # Konfigurasikan parameter untuk konfigurasi Logtail. config: # Masukkan log sampel. Anda bisa membiarkan parameter ini kosong. sample: '' inputs: - Type: service_mysql Address: "rm-*.mysql.rds.aliyuncs.com" CheckPoint: true CheckPointColumn: id CheckPointColumnType: int CheckPointSavePerPage: true CheckPointStart: "0" Database: **** IntervalMs: 1000 Limit: true MaxSyncSize: 100 PageSize: 100 User: **** Password: ******* StateMent: "select * from test where id > ? order by id" # Konfigurasikan plugin output. flushers: # Gunakan plugin flusher_sls untuk mengirim log ke Logstore tertentu. - Type: flusher_sls Logstore: crd-mysql-test Endpoint: cn-hangzhou.log.aliyuncs.com Region: cn-hangzhou TelemetryType: logsTipe
string(wajib)Tipe sumber data. Atur nilainya ke service_mysql.
Alamat
string(opsional)Alamat MySQL, misalnya,
rm-****.mysql.rds.aliyuncs.com.Nilai default: 127.0.0.1:3306.
Jenis alamat:
Internal (virtual private cloud (VPC)): digunakan hanya untuk akses internal dari instance (seperti ECS dan instance ACK) di VPC yang sama.
Titik akhir publik: digunakan ketika bisnis Anda ditempatkan di VPC lain atau di mesin lokal dan Anda perlu mengakses instance melalui Internet. Anda harus mengajukan titik akhir publik secara manual terlebih dahulu. Untuk informasi lebih lanjut, lihat Ajukan atau Lepaskan Titik Akhir Publik.
CatatanKami sarankan Anda menggunakan titik akhir pembagian beban baca/tulis internal untuk terhubung ke instance RDS karena koneksi melalui Internet rentan terhadap fluktuasi.
Pengguna
string(opsional)Nama pengguna akun yang digunakan untuk masuk ke database MySQL. Nilai default: root.
Kata Sandi
string(opsional)Kata sandi akun yang digunakan untuk masuk ke database MySQL.
Jika Anda memiliki persyaratan keamanan tinggi, kami sarankan Anda menyetel nama pengguna dan kata sandi ke
xxx. Setelah konfigurasi koleksi disinkronkan ke server lokal, temukan konfigurasi yang sesuai di file /usr/local/ilogtail/user_log_config.json di server lokal dan ubah konfigurasi. Untuk informasi lebih lanjut, lihat Kumpulkan Hasil Kueri MySQL.PentingJika Anda mengubah parameter ini di konsol Simple Log Service, pengaturan parameter dalam konfigurasi Logtail di server Logtail akan ditimpa setelah modifikasi disinkronkan ke server.
Database
string(opsional)Nama database MySQL.
DialTimeOutMs
int(opsional)Periode timeout untuk koneksi ke database MySQL. Unit: milidetik. Nilai default: 5000.
ReadTimeOutMs
int(opsional)Periode timeout untuk membaca dari database MySQL. Unit: milidetik. Nilai default: 5000.
StateMent
string(opsional)Pernyataan SELECT.
Jika Anda menyetel CheckPoint ke true, kondisi WHERE dalam Statement harus mencakup kolom CheckPoint (CheckPointColumn). Anda dapat menggunakan tanda tanya (?) untuk menunjukkan karakter pengganti. Jika Anda menggunakan tanda tanya (?) dalam pernyataan SELECT, Anda juga harus mengonfigurasi parameter CheckPointColumn.
Sebagai contoh, jika Anda menyetel CheckPointColumn ke id, menyetel CheckPointStart ke 0, dan menyetel StateMent ke
SELECT * from ... where id > ?. Setiap kali kueri dilakukan, sistem menyimpan ID catatan data terakhir sebagai checkpoint. Dalam kueri berikutnya, tanda tanya (?) yang ditentukan dalam pernyataan SELECT diganti dengan ID yang sesuai dengan checkpoint yang disimpan.Limit
boolean(opsional)Menentukan apakah menggunakan klausa LIMIT untuk membagi hasil kueri menjadi halaman. Nilai valid:
true: menggunakan klausa LIMIT.
false (default): tidak menggunakan klausa LIMIT.
Kami sarankan Anda menggunakan klausa LIMIT untuk membagi hasil kueri menjadi halaman. Jika Anda menyetel Limit ke true, sistem secara otomatis menambahkan klausa LIMIT ke pernyataan SELECT saat kueri SQL dilakukan.
PageSize
int(opsional)Jumlah entri per halaman. Parameter ini diperlukan jika Anda menyetel Limit ke true.
MaxSyncSize
int(opsional)Jumlah maksimum log yang dapat disinkronkan sekaligus. Nilai default: 0, yang menunjukkan bahwa tidak ada batasan yang diberlakukan.
CheckPoint
boolean(opsional)Menentukan apakah akan menggunakan checkpoint selama pengumpulan data. Nilai yang valid:
true: menggunakan checkpoint.
false (default): tidak menggunakan checkpoint.
Checkpoint dapat digunakan sebagai titik awal untuk pengumpulan data berikutnya, sehingga data inkremental dapat dikumpulkan.
CheckPointColumn
string(opsional)Nama kolom yang menyimpan checkpoint.
Parameter ini diperlukan jika Anda menyetel CheckPoint ke true.
PeringatanNilai dalam kolom checkpoint harus bertambah. Jika tidak, beberapa data mungkin tidak dikumpulkan. Nilai maksimum dalam hasil operasi kueri digunakan sebagai input untuk operasi kueri berikutnya.
CheckPointColumnType
string(opsional)Parameter ini diperlukan jika Anda menyetel CheckPoint ke true.
Tipe data kolom CheckPoint. Nilai valid: int dan time. Jika Anda menyetel parameter ini ke int, nilai dalam kolom checkpoint disimpan sebagai bilangan bulat 64-bit. Jika Anda menyetel parameter ini ke time, nilai dalam kolom checkpoint dapat berupa tipe date, time, atau datetime yang didukung oleh MySQL.
CheckPointStart
string(opsional)Parameter ini diperlukan jika Anda menyetel CheckPoint ke true.
Nilai awal kolom checkpoint.
CheckPointSavePerPage
boolean(opsional)Parameter ini diperlukan jika Anda menyetel CheckPoint ke true.
Menentukan apakah menyimpan checkpoint setiap kali hasil kueri dibagi menjadi halaman.
true (default): menyimpan checkpoint setiap kali hasil kueri dibagi menjadi halaman.
false: menyimpan checkpoint setiap kali hasil kueri disinkronkan.
IntervalMs
int(wajib)Interval sinkronisasi. Unit: milidetik. Nilai default: 60000.
Jalankan
kubectl apply -f example-k8s-file.yaml. Logtail mulai mengumpulkan data MySQL.Masuk ke Konsol Simple Log Service. Di bagian Projects, klik yang Anda inginkan.
Klik ikon
di sisi kanan logstore yang sesuai, dan pilih Search & Analysis untuk melihat log kueri.