Ringkasan log basis data RDS for MySQL - Layanan Basis Data Relasional Amazon

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.

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 nilai long_query_time yang akan dicatat. Misalnya, mengatur long_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 parameter long_query_time. Default-nya adalah 0.

  • log_output option: Anda dapat menentukan salah satu opsi berikut untuk parameter log_output.

    • TABLE (default) – Menulis kueri umum ke tabel mysql.general_log, dan kueri lambat ke tabel mysql.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_logharus diaktifkan.

  • log_output harus diatur ke FILE.

  • Kueri harus memakan waktu lebih lama dari waktu yang dikonfigurasilong_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 kategori low 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 bernama mysql.general_log_backup. Tabel log cadangan untuk tabel mysql.slow_log bernama mysql.slow_log_backup.

    Anda dapat merotasi tabel mysql.general_log dengan mengikuti prosedur mysql.rds_rotate_general_log. Anda dapat merotasi mysql.slow_log tabel dengan mengikuti mysql.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 di dokumentasi MySQL.

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.