Aktifkan dan lihat log audit SQL di Lindorm.
Prasyarat
Versi minor LindormTable minimal 2.7.6. Untuk informasi tentang cara melihat atau memperbarui versi minor LindormTable, lihat Catatan rilis LindormTable dan Tingkatkan versi mesin minor instans Lindorm.
Catatan penggunaan
-
Fitur log audit SQL tidak didukung untuk instans Lindorm Serverless dan instans single-node.
Jika Anda mengaktifkan fitur log audit sebagai RAM user, Anda harus memberikan izin AliyunLogFullAccess kepada RAM user tersebut. Untuk informasi selengkapnya tentang cara memberikan izin kepada RAM user, lihat Berikan izin kepada RAM user.
-
Setelah fitur log audit diaktifkan, Lindorm membuat sebuah Project dan Logstore khusus di wilayah tempat instans Lindorm dideploy.
-
Format penamaan Project adalah
aliyun-product-ID Akun Alibaba Cloud-ID wilayah. -
Nama Logstore khusus adalah
lindorm-sql-audit-log.
-
Anda tidak dapat melakukan operasi tertentu pada Logstore khusus. Misalnya, Anda tidak dapat menulis data ke Logstore khusus, mengubah, atau menghapus indeks Logstore tersebut. Selain itu, atribut Logstore khusus tidak dapat diubah. Namun, fitur seperti kueri data, analisis statistik, dan alerting tetap dapat digunakan tanpa batasan.
Pastikan SLS tersedia. Jika SLS tidak tersedia, fitur analisis log lengkap tidak dapat digunakan.
Tipe log audit
Log audit SQL Lindorm mencatat tipe operasi SQL berikut:
Operasi DDL, seperti CREATE DATABASE, CREATE TABLE, ALTER TABLE, dan DROP TABLE
Operasi DML, seperti INSERT, UPSERT, DELETE, dan UPDATE
Operasi DQL, seperti SELECT
Umumnya, operasi DML dan DQL sering terjadi, dan pencatatan operasi ini dapat memengaruhi kinerja serta stabilitas instans Anda. Oleh karena itu, Mesin Tabel Lebar secara default hanya mencatat log audit SQL DDL. Untuk mengaktifkan log audit DML dan DQL, Anda dapat menyesuaikan tingkat audit dengan menggunakan variabel sistem AUDIT_LEVEL. Untuk petunjuk lengkap, lihat Ubah tingkat log audit.
Aktifkan fitur log audit SQL
Penagihan
Log Service menerapkan biaya bayar sesuai penggunaan untuk log audit SQL berdasarkan kapasitas penyimpanan dan periode retensi. Untuk informasi harga lengkap, lihat Harga Log Service.
Prosedur
Masuk ke Konsol Lindorm.
Di pojok kiri atas halaman, pilih wilayah tempat instans dideploy.
Pada halaman Instances, klik ID instans target atau klik View Instance Details di kolom Actions untuk instans tersebut.
-
Di panel navigasi sebelah kiri, klik Wide Table Engine.
-
Klik tab SQL Audit Logs, lalu klik Enable audit logs.
-
Pada kotak dialog Enable SQL Audit Logs, klik OK.
Lihat log audit SQL
Periode retensi log
Secara default, log audit SQL Lindorm disimpan selama 30 hari. Anda dapat Mengubah periode retensi log di Konsol Lindorm. Log akan dihapus secara otomatis setelah periode retensi berakhir.
Ubah periode retensi log
Masuk ke Konsol Lindorm.
Di pojok kiri atas halaman, pilih wilayah tempat instans dideploy.
Pada halaman Instances, klik ID instans target atau klik View Instance Details di kolom Actions untuk instans tersebut.
Di panel navigasi sebelah kiri, pilih . Di pojok kanan atas, klik Modify retention period dan atur periode retensi baru di kotak dialog yang muncul.
Klik Confirm Modifications.
Lihat log audit
Masuk ke Konsol Lindorm.
Di pojok kiri atas halaman, pilih wilayah tempat instans dideploy.
Pada halaman Instances, klik ID instans target atau klik View Instance Details di kolom Actions untuk instans tersebut.
Di panel navigasi sebelah kiri, pilih untuk melihat detail log audit Mesin Tabel Lebar.
CatatanSecara default, detail log dalam 15 menit terakhir ditampilkan. Anda juga dapat mengubah periode waktu sesuai kebutuhan bisnis Anda.
(Opsional) Pada tab Raw Log, Anda dapat memfilter log berdasarkan berbagai kriteria. Gunakan panel Index Fields di sebelah kiri untuk memfilter berdasarkan bidang seperti db, clientIp, dan fail. Panel kanan menampilkan bidang detail untuk setiap log, termasuk
sqlType,user,affectRows,checkRows,clientIp,clientPort, danconnectionId. Misalnya, pilih default di bawah bidang db untuk memfilter catatan audit dari database tertentu.
Bidang dalam log audit
Field | Description |
instance_id | ID instans Lindorm. |
reqId | ID unik yang mengidentifikasi log audit operasi. |
user | Username yang sesuai dengan log audit operasi. |
fail | Menunjukkan apakah pernyataan SQL berhasil dieksekusi. Nilai |
reason | Pesan error dalam log audit operasi. Pesan ini hanya dikembalikan ketika terjadi error dalam operasi. |
connectionId | ID koneksi client. |
protocol | Tipe protokol client. Nilai yang valid: Avatica dan MySQL. |
db | Nama database yang dipilih. |
sql | Pernyataan SQL yang dieksekusi. |
sqlType | Tipe pernyataan SQL. Nilai yang valid meliputi |
params | Parameter yang ditentukan dalam pernyataan SQL. Pisahkan beberapa parameter dengan koma (,). Bidang ini tersedia dalam skenario kueri tempat parameter diikat. |
sqlTime | Waktu eksekusi pernyataan SQL. |
responseTime | Waktu respons. Satuan: milidetik. |
checkRows | Jumlah baris yang dipindai, yang menunjukkan jumlah baris yang dikembalikan dari mesin penyimpanan data selama kueri. |
affectRows | Jumlah baris yang dipengaruhi oleh pernyataan. Untuk operasi INSERT, UPDATE, atau DELETE, affectRows menunjukkan jumlah baris yang dimodifikasi. Untuk pernyataan kueri, affectRows menunjukkan jumlah baris yang dikembalikan. |
dbVersion | Versi SQL pada server yang terhubung. |
hostname | Nama host pada node server. |
clientIp | Alamat IP client. |
clientPort | Nomor port client. |
Ubah tipe log audit
Anda dapat mengeksekusi pernyataan ALTER SYSTEM untuk mengubah nilai parameter AUDIT_LEVEL dan menyesuaikan tingkat output log audit SQL.
Nilai yang valid:
0: Mencatat log DDL.
1: Mencatat log DDL dan DML.
2: Mencatat log DDL dan DQL.
3: Mencatat log DDL, DML, dan DQL.
Contoh
Ubah tingkat log audit agar mencatat log DDL dan DQL.
ALTER SYSTEM SET AUDIT_LEVEL = 2;Verifikasi hasil
Eksekusi pernyataan SHOW SYSTEM VARIABLES LIKE 'AUDIT_LEVEL'; untuk memverifikasi bahwa perubahan telah berhasil.
Untuk informasi selengkapnya tentang variabel sistem, lihat ALTER SYSTEM.