Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ringkasan log basis data RDS for MySQL
Anda dapat memantau jenis file log RDS for MySQL berikut:
-
Log kesalahan
-
Log kueri lambat
-
Log umum
-
Log audit
-
Log contoh
-
Log kesalahan otentikasi basis data IAM
Log kesalahan RDS for MySQL dihasilkan secara default. Anda dapat membuat kueri lambat dan log umum dengan mengatur parameter di grup parameter DB Anda.
Topik
Log kesalahan RDS for MySQL
Kesalahan tulis RDS for MySQL dalam file mysql-error.log
. Setiap file log memiliki jam pembuatan (dalam UTC) yang ditambahkan pada namanya. File log juga memiliki stempel waktu yang membantu Anda menentukan kapan entri log ditulis.
RDS for MySQL ditulis ke log kesalahan hanya saat dinyalakan, dimatikan, dan saat terjadi kesalahan. Instan DB dapat memakan waktu berjam-jam atau berhari-hari tanpa perlu menulis entri baru ke log kesalahan. Jika Anda melihat tidak ada entri terbaru, berarti server tidak mengalami kesalahan yang akan mengakibatkan entri log.
Secara desain, log kesalahan difilter sehingga hanya peristiwa tak terduga seperti kesalahan yang ditampilkan. Namun, log kesalahan juga berisi beberapa informasi basis data tambahan, misalnya kemajuan kueri, yang tidak ditampilkan. Oleh karena itu, bahkan tanpa kesalahan aktual, ukuran log kesalahan mungkin meningkat dikarenakan aktivitas basis data yang sedang berlangsung. Dan sementara Anda mungkin melihat ukuran tertentu dalam byte atau kilobyte untuk log kesalahan di AWS Management Console, mereka mungkin memiliki 0 byte saat Anda mengunduhnya.
RDS for MySQL menulis mysql-error.log
ke disk setiap 5 menit. Ini menambahkan konten log ke mysql-error-running.log
.
RDS for MySQL merotasi file mysql-error-running.log
setiap jam. Ini mempertahankan log yang dihasilkan selama dua minggu terakhir.
catatan
Periode retensi log berbeda antara Amazon RDS dan Aurora.
Log umum dan kueri lambat RDS for MySQL
Anda dapat menulis log umum dan log kueri lambat RDS for MySQL ke file atau tabel basis data. Untuk melakukannya, atur parameter di grup parameter DB Anda. Untuk mengetahui informasi tentang cara membuat dan memodifikasi grup parameter DB, lihat Grup parameter untuk RDS. Anda harus mengatur parameter ini sebelum dapat melihat log kueri lambat atau log umum di konsol Amazon RDS atau dengan menggunakan Amazon RDS API, Amazon RDS CLI, atau. AWS SDKs
Anda dapat mengontrol pencatatan log RDS for MySQL dengan menggunakan parameter dalam daftar ini:
-
slow_query_log
: Untuk membuat log kueri lambat, atur ke 1. Default-nya adalah 0. -
general_log
: Untuk membuat log umum, atur ke 1. Default-nya adalah 0. -
long_query_time
: Untuk mencegah pencatatan log kueri yang berjalan cepat dalam log kueri lambat, tentukan nilai untuk runtime kueri terpendek yang akan dicatat, dalam detik. Nilai default-nya adalah 10 detik; nilai minimumnya adalah 0. Jika log_output = FILE, Anda dapat menentukan nilai titik mengambang yang masuk ke resolusi mikrodetik. Jika log_output = TABLE, Anda harus menentukan nilai integer dengan resolusi kedua. Hanya kueri yang runtime-nya melebihi nilailong_query_time
yang akan dicatat. Misalnya, mengaturlong_query_time
ke 0,1 akan mencegah pencatatan log kueri apa pun yang berjalan kurang dari 100 milidetik. -
log_queries_not_using_indexes
: Untuk mencatat semua kueri yang tidak menggunakan indeks pada log kueri lambat, atur ke 1. Kueri yang tidak menggunakan indeks dicatat meskipun runtime-nya kurang dari nilai parameterlong_query_time
. Default-nya adalah 0. -
log_output
: Anda dapat menentukan salah satu opsi berikut untuk parameteroption
log_output
.-
TABLE (default) – Menulis kueri umum ke tabel
mysql.general_log
, dan kueri lambat ke tabelmysql.slow_log
. -
FILE – Menulis log umum dan log kueri lambat ke sistem file.
-
TIDAK ADA – Menonaktifkan pencatatan log.
-
Agar data kueri lambat muncul di CloudWatch Log Amazon, kondisi berikut harus dipenuhi:
CloudWatch Log harus dikonfigurasi untuk menyertakan log kueri yang lambat.
slow_query_log
harus diaktifkan.log_output
harus diatur keFILE
.Kueri harus memakan waktu lebih lama dari waktu yang dikonfigurasi
long_query_time
.
Untuk mengetahui informasi selengkapnya tentang log umum dan kueri lambat, buka topik berikut di dokumentasi MySQL:
Log audit MySQL
Untuk mengakses log audit, instans DB harus menggunakan grup opsi kustom dengan opsi MARIADB_AUDIT_PLUGIN
. Untuk informasi selengkapnya, lihat Dukungan MariaDB Audit Plugin untuk My SQL.
Rotasi dan retensi log untuk RDS for MySQL
Saat pencatatan log diaktifkan, Amazon RDS merotasi log tabel atau menghapus file log secara berkala. Langkah ini merupakan tindakan pencegahan untuk mengurangi kemungkinan file log besar memblokir penggunaan basis data atau memengaruhi performa. RDS for MySQL menangani rotasi dan penghapusan sebagai berikut:
-
Ukuran file log umum, log kesalahan, dan log kueri lambat MySQL dibatasi hingga tidak lebih dari 2 persen dari ruang penyimpanan yang dialokasikan untuk instans DB. Untuk mempertahankan ambang batas ini, log secara otomatis dirotasi setiap jam. MySQL menghapus file log yang berusia lebih dari dua minggu. Jika ukuran file log gabungan melebihi ambang batas setelah file log lama dihapus, file log paling lama akan dihapus hingga ukuran file log tidak lagi melebihi ambang batas.
-
Jika pencatatan log
FILE
diaktifkan, file log akan diperiksa setiap jam dan file log yang berusia lebih dari dua minggu akan dihapus. Dalam beberapa kasus, ukuran file log gabungan yang tersisa setelah penghapusan mungkin melebihi ambang batas 2 persen dari ruang yang dialokasikan oleh instans DB. Dalam kasus ini, file log yang paling lama akan dihapus hingga ukuran file log tidak lagi melebihi ambang batas. -
Saat pencatatan log
TABLE
diaktifkan, dalam beberapa kasus tabel log dirotasi setiap 24 jam. Rotasi ini terjadi jika ruang yang digunakan oleh log tabel lebih dari 20 persen dari ruang penyimpanan yang dialokasikan. Rotasi ini juga terjadi jika ukuran semua log yang digabungkan lebih besar dari 10 GB. Jika jumlah ruang yang digunakan untuk instans DB lebih besar dari 90 persen dari ruang penyimpanan yang dialokasikan untuk instans DB, ambang batas untuk rotasi log akan berkurang. Tabel log ini kemudian dirotasi jika ruang yang digunakan oleh log tabel lebih dari 10 persen bagi ruang penyimpanan yang dialokasikan. Tabel ini juga dirotasi jika ukuran semua log yang digabungkan lebih besar dari 5 GB. Anda dapat berlangganan kategorilow storage
acara untuk diberi tahu saat tabel log diputar untuk mengosongkan ruang. Untuk informasi selengkapnya, lihat Bekerja dengan pemberitahuan RDS acara Amazon.Saat tabel log dirotasi, tabel log saat ini akan disalin terlebih dahulu ke tabel log cadangan. Kemudian, entri dalam tabel log saat ini dihapus. Jika sudah ada, tabel log cadangan akan dihapus sebelum tabel log saat ini disalin ke cadangan. Anda dapat meminta tabel log cadangan jika diperlukan. Tabel log cadangan untuk tabel
mysql.general_log
bernamamysql.general_log_backup
. Tabel log cadangan untuk tabelmysql.slow_log
bernamamysql.slow_log_backup
.Anda dapat merotasi tabel
mysql.general_log
dengan mengikuti prosedurmysql.rds_rotate_general_log
. Anda dapat merotasimysql.slow_log
tabel dengan mengikutimysql.rds_rotate_slow_log
prosedur.Log tabel dirotasi selama peningkatan versi basis data.
Untuk bekerja dengan log dari konsol Amazon RDS, Amazon RDS API, Amazon RDS CLI, AWS SDKs atau, atur log_output
parameter ke FILE. Seperti log kesalahan MySQL, file log ini dirotasi setiap jam. File log yang dihasilkan selama dua minggu sebelumnya akan dipertahankan. Perhatikan bahwa periode retensi log berbeda antara Amazon RDS dan Aurora.
Batas ukuran pada log redo
Untuk RDS for MySQL versi 8.0.32 dan yang lebih rendah, nilai default parameter ini adalah 256 MB. Jumlah ini diturunkan dengan mengalikan nilai default parameter innodb_log_file_size
(128 MB) dengan nilai default parameter innodb_log_files_in_group
(2). Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik untuk mengonfigurasi parameter untuk Amazon RDS for MySQL, bagian 1: Parameter yang terkait dengan performa
Untuk RDS untuk MySQL versi 8.0.33 dan versi minor yang lebih tinggi, Amazon RDS menggunakan parameter alih-alih parameter. innodb_redo_log_capacity
innodb_log_file_size
Nilai default Amazon RDS parameter innodb_redo_log_capacity
adalah 2 GB. Untuk mengetahui informasi selengkapnya, lihat Changes in MySQL 8.0.30
Dimulai dengan MySQL 8.4, Amazon RDS mengaktifkan parameter secara default. innodb_dedicated_server
Dengan innodb_dedicated_server
parameter, mesin database menghitung innodb_buffer_pool_size
dan innodb_redo_log_capacity
parameter. Untuk informasi selengkapnya, lihat Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di My 8.4 SQL.