Pemantauan Tugas AWS DMS - AWS Layanan Migrasi Database

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemantauan Tugas AWS DMS

Pemantauan adalah bagian penting dari pemeliharaan keandalan, ketersediaan, dan performa AWS DMS dan solusi AWS Anda. Anda harus mengumpulkan data pemantauan dari semua bagian solusi AWS Anda sehingga Anda dapat lebih mudah mengidentifikasi dan menghapus kesalahan pada banyak poin yang gagal jika hal itu terjadi. AWS Menyediakan beberapa alat untuk pemantauan tugas dan sumber daya AWS DMS Anda dan merespons terhadap potensi insiden:

Tindakan dan notifikasi AWS DMS

AWS DMS menggunakan Amazon Simple Notification Service (Amazon SNS) untuk memberikan notifikasi pada saat tindakan AWS DMS terjadi, misalnya pembuatan atau penghapusan instans replikasi. AWS DMS mengelompokkan sejumlah tindakan ke dalam beberapa kategori untuk Anda dapat berlangganan, sehingga Anda dapat menerima pemberitahuan di saat suatu tindakan dalam kategori tersebut terjadi. Misalnya, jika Anda berlangganan kategori Pembuatan untuk suatu instans replikasi tertentu, Anda akan diberi tahu setiap kali ada tindakan terkait pembuatan yang memengaruhi instans replikasi Anda. Anda dapat bekerja dengan notifikasi ini dalam bentuk apa pun yang didukung oleh Amazon SNS untuk Wilayah AWS, seperti pesan email, pesan teks, atau panggilan ke titik akhir HTTP. Untuk informasi selengkapnya, lihat Bekerja dengan acara Amazon SNS dan pemberitahuan diAWS Database Migration Service

Status Tugas

Anda dapat memantau kemajuan tugas Anda dengan memeriksa status tugas dan memantau tabel kontrol tugas tersebut. Status tugas menunjukkan syarat tugas AWS DMS dan sumber daya yang terkait. Ini termasuk indikasi seperti jika tugas sedang dibuat, mulai, berjalan, atau berhenti. Status ini juga mencakup keadaan saat tabel dengan tugas dilakukan migrasi, seperti jika beban penuh dari suatu tabel telah dimulai atau sedang berlangsung dan detail seperti jumlah sisipan, penghapusan, dan pembaruan telah berlangsung untuk tabel tersebut. Untuk informasi selengkapnya tentang pemantauan syarat tugas dan sumber daya tugas, lihat Status Tugas dan Kondisi tabel selama tugas. Untuk informasi selengkapnya tentang tabel pengendali, lihat Mengontrol pengaturan tugas tabel.

Amazon CloudWatch alarm dan log log alarm

Menggunakan Amazon CloudWatch alarm, Anda melihat satu metrik tugas selama periode waktu yang Anda tentukan. Jika metrik melebihi ambang batas tertentu, notifikasi dikirimkan ke topik Amazon SNS. CloudWatch Alarm tidak termasuk beberapa statistik karena mereka berada dalam beberapa statistik tertentu. Sebaliknya, kondisi harus diubah dan dipertahankan untuk beberapa periode tertentu.AWS DMSjuga menggunakan CloudWatchuntuk beberapa statistik untuk beberapa statistik untuk beberapa statistik untuk beberapa statistik Anda dapat menggunakan AWS CLI atau AWS DMS API untuk melihat informasi tentang catatan tugas. Untuk beberapa statistik tentang penggunaan CloudWatch bersamaAWS DMS, lihatPemantauan tugas replikasi menggunakan Amazon CloudWatch. Untuk informasi selengkapnya tentang cara pemantauan metrik AWS DMS, lihat Metrik AWS Database Migration Service. Untuk informasi lebih lanjut tentang penggunaan catatan tugas AWS DMS, lihat Melihat dan mengelola AWSMencatat tugas DMS.

Log Perjalanan Waktu

Untuk mencatat dan men-debug tugas replikasi, Anda dapat menggunakanAWS DMSPerjalanan Waktu. Dalam pendekatan ini, Anda menggunakan Amazon S3 untuk menyimpan log dan mengenkripsi mereka menggunakan kunci enkripsi Anda. Anda dapat mengambil log S3 Anda menggunakan filter tanggal-waktu, lalu melihat, mengunduh, dan mengaburkan log sesuai kebutuhan. Dengan melakukan ini, Anda dapat “melakukan perjalanan kembali ke masa lalu” untuk menyelidiki aktivitas database.

Anda dapat menggunakan Time Travel dengan titik akhir sumber PostgreSQL yang didukung DMS dan PostgreSQL yang didukung DMS dan titik akhir target PostgreSQL dan MySQL. Anda dapat mengaktifkan Perjalanan Waktu hanya untuk tugas beban penuh dan CDC dan untuk tugas khusus CDC. Untuk mengaktifkan Perjalanan Waktu atau mengubah pengaturan Perjalanan Waktu yang ada, pastikan tugas Anda dihentikan.

Untuk beberapa statistik tentang beberapa statistik perjalanan waktu, lihatPengaturan tugas Perjalanan Waktu. Untuk praktik terbaik dalam menggunakan log Perjalanan Waktu, lihatMemecahkan masalah tugas replikasi dengan Time Travel.

Log AWS CloudTrail

AWS DMSterintegrasi denganAWS CloudTraillayanan yang memberikan catatan tindakan yang dilakukan oleh pengguna, peran IAM,AWSlayanan diAWS DMS. CloudTrailmenangkap semua panggilan API untukAWS DMSsebagai beberapa peristiwa, termasuk beberapa statistikAWS DMSkonsol dan dari panggilan kode keAWS DMSOperasi API Jika Anda membuat jejak, Anda dapat mengaktifkan beberapa statistik CloudTrail peristiwa ke beberapa bucket Amazon S3, termasuk beberapa acara untuk beberapa statistikAWS DMS. Jika Anda ingin membuat jejak, Anda dapat melihat peristiwa terbaru CloudTrail konsol diSejarah acara. Menggunakan informasi yang dikumpulkan oleh CloudTrailAnda dapat menentukan beberapa permintaan untuk beberapa statistikAWS DMS, alamat IP dari mana permintaan dibuat, siapa yang membuat permintaan, kapan permintaan, dan detail tambahan. Untuk informasi selengkapnya, lihat Mencatat panggilan API AWS DMS dengan AWS CloudTrail.

Mencatat Basis Data

Anda dapat melihat, mengunduh, dan melihat catatan basis data untuk titik akhir tugas menggunakan AWS Management Console, AWS CLI, atau API untuk layanan basis data AWS. Untuk informasi selengkapnya, lihat dokumentasi untuk layanan basis data Anda di dokumentasi AWS.

Untuk informasi lebih lanjut, lihat topik berikut.

Status Tugas

Status tugas menunjukkan kondisi tugas. Tabel berikut menunjukkan status yang mungkin dapat dimiliki suatu tugas:

Status Tugas Deskripsi

Menciptakan

AWS DMS sedang membuat tugas.

Berlari

Tugas tersebut adalah melaksanakan tugas migrasi yang ditentukan.

Berhenti

Tugas dihentikan.

Berhenti

Tugas sedang dihentikan. Ini biasanya merupakan indikasi intervensi pengguna dalam tugas.

Menghapus

Tugas sedang dihapus, biasanya dari permintaan untuk campur tangan pengguna.

Gagal

Tugas telah gagal. Untuk informasi lebih lanjut, lihat file yang mencatat tugas.

Kesalahan

Tugas berhenti karena beberapa kesalahan. Deskripsi singkat tentang kesalahan tugas disediakan di bagian pesan kegagalan terakhirIkhtisartab.

Berjalan dengan kesalahan

Tugas berjalan dengan status kesalahan. Ini biasanya menunjukkan bahwa satu tabel dalam tugas tidak dapat dimigrasi. Tugas terus memuat tabel lain sesuai dengan aturan pemilihan.

Memulai

Tugas ini menjadikan connect ke instans replikasi dan ke titik akhir sumber dan target. Setiap filter dan transformasi sedang diterapkan.

Siap

Tugas ini siap dijalankan. Status ini biasanya mengikuti status “membuat”.

Memodifikasi

Tugas sedang diubah, biasanya disebabkan oleh tindakan pengguna yang mengubah pengaturan tugas.

Bergerak

Tugas ini sedang dalam proses dipindahkan ke instans replikasi lain. Replikasi tetap berada dalam keadaan ini sampai langkah ini selesai. Menghapus tugas adalah satu-satunya operasi diizinkan pada tugas replikasi sementara tugas itu sedang dipindahkan.

Gerakan gagal

Pemindahan tugas telah gagal untuk alasan apa pun, seperti halnya tidak memiliki cukup ruang penyimpanan pada instans replikasi target. Ketika tugas replikasi berada dalam keadaan ini, maka tugas ini dapat dimulai, dimodifikasi, dipindahkan, atau dihapus.

Pengujian

Migrasi database yang ditentukan untuk tugas ini sedang diuji sebagai respons terhadap menjalankan salah satuStartReplicationTaskAssessmentRun, atauStartReplicationTaskAssessmentoperasi

Bilah status tugas memberikan estimasi tentang kemajuan tugas. Kualitas estimasi ini tergantung pada kualitas statistik tabel basis data sumber; semakin baik statistik tabel, semakin akurat estimasi. Untuk tugas dengan hanya satu tabel yang tidak memiliki estimasi statistik baris, kita tidak dapat memberikan persentase estimasi lengkap apa pun. Dalam hal ini, gunakan status tugas dan indikasi baris yang dimuat untuk mengonfirmasi bahwa tugas berlangsung dan mengalami kemajuan.

Perhatikan bahwa kolom “terakhir diperbarui” di konsol DMS hanya menunjukkan waktu AWS DMS terakhir yang memperbarui catatan statistik tabel untuk suatu tabel. Ini tidak menunjukkan waktu pembaruan terakhir pada tabel.

Selain menggunakan konsol DMS, Anda bisakeluarandeskripsi tugas replikasi saat ini, termasuk status tugas, dengan menggunakanaws dms describe-replication-tasksperintah diAWS CLI, seperti yang ditunjukkan pada contoh berikut.

{ "ReplicationTasks": [ { "ReplicationTaskIdentifier": "moveit2", "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:6GGI6YPWWGAYUVLKIB732KEVWA", "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:EOM4SFKCZEYHZBFGAGZT3QEC5U", "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:T3OM7OUB5NM2LCVZF7JPGJRNUE", "MigrationType": "full-load", "TableMappings": ...output omitted... , "ReplicationTaskSettings": ...output omitted... , "Status": "stopped", "StopReason": "Stop Reason FULL_LOAD_ONLY_FINISHED", "ReplicationTaskCreationDate": 1590524772.505, "ReplicationTaskStartDate": 1590619805.212, "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:K55IUCGBASJS5VHZJIINA45FII", "ReplicationTaskStats": { "FullLoadProgressPercent": 100, "ElapsedTimeMillis": 0, "TablesLoaded": 0, "TablesLoading": 0, "TablesQueued": 0, "TablesErrored": 0, "FreshStartDate": 1590619811.528, "StartDate": 1590619811.528, "StopDate": 1590619842.068 } } ] }

Kondisi tabel selama tugas

Konsol DMS AWS memperbarui informasi mengenai keadaan tabel Anda selama migrasi. Tabel berikut menunjukkan kemungkinan nilai keadaan:


             Instans replikasi AWS Database Migration Service
Kondisi Deskripsi

Tabel tidak ada

AWS DMS tidak dapat menemukan tabel pada titik akhir sumber.

Sebelum memuat

Mengaktifkan proses beban penuh telah dilakukan, tetapi belum mulai.

Beban penuh

Proses beban penuh sedang berlangsung.

Tabel selesai

Beban penuh telah selesai.

Tabel dibatalkan

Pemuatan beban tabel telah dibatalkan.

Kesalahan tabel

Terjadi kesalahan saat memuat beban tabel.

Pemantauan tugas replikasi menggunakan Amazon CloudWatch

Anda dapat menggunakan Amazon CloudWatch alarm atau beberapa statistik untuk beberapa statistik untuk beberapa statistik untuk beberapa statistik Untuk beberapa statistik tentang Amazon CloudWatch, lihatApa itu Amazon CloudWatch, Amazon CloudWatch Acara, dan Amazon CloudWatch Log?di Amazon CloudWatch Panduan pengguna. Perhatikan bahwa ada biaya untuk beberapa statistik untuk beberapa statistik CloudWatch.

Jika tugas replikasi Anda tidak dibuat CloudWatch log, lihatAWS DMStidak membuat CloudWatch logdalam panduan pemecahan masalah.

TheAWS DMSkonsol menunjukkan dasar CloudWatch statistik untuk setiap tugas, termasuk status tugas, persen selesai, waktu yang telah berlalu, dan statistik tabel, seperti yang ditunjukkan berikut. Pilih tugas replikasi dan kemudian pilihCloudWatch metriktab.

Untuk melihat dan memodifikasi CloudWatch pengaturan log tugas, pilihUdit log tugas. Untuk informasi selengkapnya, lihat Pengaturan tugas pengelogan.


            Pemantauan AWS DMS

Konsol AWS DMS menunjukkan statistik performa untuk setiap tabel, termasuk jumlah sisipan, penghapusan, dan pembaruan, ketika Anda menentukan pilihan tab Statistik tabel.


            Pemantauan AWS DMS

Selain itu, jika Anda memilih instance replikasi dariContoh replikasihalaman, Anda dapat melihat metrik kinerja untuk contoh dengan memilihCloudWatch metriktab.


            Pemantauan AWS DMS

Metrik AWS Database Migration Service

AWS DMS menyediakan statistik untuk hal berikut:

  • Metrik Host— Statistik kinerja dan pemanfaatisasi untuk host, yang disediakan oleh Amazon CloudWatch. Untuk daftar lengkap metrik yang tersedia, lihat Metrik instans replikasi.

  • Metrik Tugas Replikasi – Statistik untuk tugas replikasi termasuk perubahan masuk dan yang dilakukan, dan latensi antara host replikasi dan basis data sumber dan target. Untuk daftar lengkap metrik yang tersedia, lihat Metrik tugas replikasi.

  • Metrik tabel – Statistik untuk tabel yang sedang dalam proses migrasi, termasuk jumlah sisipan, pembaruan, penghapusan, dan pernyataan DDL yang selesai.

Metrik tugas dibagi menjadi beberapa statistik antara host replikasi dan titik akhir sumber, dan statistik antara host replikasi dan titik akhir target. Anda dapat menentukan total statistik untuk suatu tugas dengan menambahkan dua statistik terkait bersama-sama. Misalnya, Anda dapat menentukan latensi total, atau kelambatan, untuk tugasCDCLatencySourcedanCDCLatencyTargetnilai.

Nilai metrik tugas dapat dipengaruhi oleh aktivitas saat ini di dalam basis data sumber Anda. Misalnya, jika transaksi telah dimulai, tetapi belum dilakukan,CDCLatencySourceMetrik terus tumbuh hingga transaksi tersebut telah dilakukan.

Untuk contoh replikasi,FreeableMemorymetrik membutuhkan klarifikasi. Memori bebas bukan indikasi dari memori bebas sebenarnya yang tersedia. Ini merupakan memori yang saat ini digunakan yang dapat dibebaskan dan digunakan untuk kegunaan lain; ini merupakan kombinasi dari buffer dan cache yang digunakan pada instans replikasi.

SementaraFreeableMemorymetrik tidak mencerminkan memori bebas aktual yang tersedia, kombinasi dariFreeableMemorydanSwapUsagemetrik dapat menunjukkan apakah instance replikasi kelebihan beban.

Memantau kedua metrik ini untuk syarat-syarat berikut:

  • TheFreeableMemorymetrik mendekati nol

  • TheSwapUsagemetrik meningkat atau berfluktuasi

Jika Anda melihat salah satu dari dua syarat ini, itu menunjukkan bahwa Anda harus mempertimbangkan pindah ke instans replikasi yang lebih besar. Anda juga harus mempertimbangkan untuk mengurangi jumlah dan tipe tugas yang berlangsung pada instans replikasi. Tugas beban penuh memerlukan lebih banyak memori daripada tugas yang hanya melakukan replikasi perubahan.

Untuk memperkirakan secara kasar kebutuhan memori aktual untukAWS DMStugas migrasi, Anda dapat menggunakan beberapa parameter berikut.

Kolom LOB

Jumlah rata-rata kolom LOB di setiap tabel dalam lingkup migrasi Anda.

Jumlah maksimum tabel untuk beberapa statistik untuk beberapa statistik untuk beberapa statistik

Jumlah maksimum tabel yangAWS DMSmemuat secara paralel dalam satu tugas.

Nilai default adalah 8.

Ukuran potongan LOB

Ukuran potongan LOB, dalam kilobyte, ituAWS DMSdigunakan untuk mereplikasi data ke database target.

Tingkat komit selama beberapa beban

Jumlah maksimum beberapa statistik yangAWS DMSdapat mentransfer secara paralel.

Nilai default adalah 10,000.

Ukuran LOB

Ukuran maksimum LOB individu, dalam beberapa kilobyte.

Ukuran array massal

Jumlah maksimum baris yang diambil atau diproses oleh driver endpoint Anda. Nilai ini tergantung pada beberapa pengaturan driver.

Nilai default adalah 1,000.

Setelah Anda menentukan nilai ini, Anda dapat menggunakan salah satu metode berikut untuk memperkirakan jumlah memori Anda. Metode ini tergantung pada opsi yang Anda pilihPengaturan kolom LOBdalam tugas migrasi Anda.

  • UntukMode LOB penuh, gunakan rumus berikut.

    Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB chunk size) * (Commit rate during full load)

    Pertimbangkan contoh di mana tabel sumber Anda menyertakan rata-rata 2 kolom LOB, dan ukuran potongan LOB adalah 64 KB. Jika Anda menggunakan beberapa nilai untuk beberapa statistikMaximum number of tables to load in paralleldanCommit rate during full load, maka jumlah memori yang dibutuhkan untuk tugas Anda adalah sebagai berikut.

    Required memory = 2 * 8 * 64 * 10,000 = 10,240,000 KB

    catatan

    Untuk mengurangi nilaiTingkat komit selama beberapa beban, bukaAWS DMSkonsol, pilihTugas migrasi database, dan membuat atau memodifikasi tugas. PerluasPengaturan lanjutan, dan masukkan nilai Anda untukTingkat komit selama beberapa beban.

  • UntukMode LOB terbatas, gunakan rumus berikut.

    Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB size) * (Bulk array size)

    Pertimbangkan contoh di mana tabel sumber Anda menyertakan rata-rata 2 kolom LOB, dan ukuran maksimum LOB individu adalah 4.096 KB. Jika Anda menggunakan beberapa nilai untuk beberapa statistikMaximum number of tables to load in paralleldanBulk array size, maka jumlah memori yang dibutuhkan untuk tugas Anda adalah sebagai berikut.

    Required memory = 2 * 8 * 4,096 * 1,000 = 65,536,000 KB

Untuk AWS DMS melakukan performa konversi ini secara optimal, CPU harus tersedia ketika konversi terjadi. Memuat beban berlebihan pada CPU dan tidak memiliki cukup sumber daya CPU dapat mengakibatkan migrasi lambat. AWS DMS dapat bersifat CPU-intensif, terutama ketika melakukan migrasi heterogen dan replikasi seperti migrasi dari Oracle ke PostgreSQL. Penggunaan kelas instans replikasi C4 dapat menjadi pilihan yang bagus untuk situasi ini. Untuk informasi selengkapnya, lihat Memilih instans replikasi AWS DMS yang tepat untuk migrasi Anda.

Metrik instans replikasi

Pemantauan instans replikasi mencakup Amazon CloudWatch metrik untuk beberapa statistik berikut:

Metrik

Deskripsi

AvailableMemory

Perkiraan berapa banyak memori yang tersedia untuk mulai aplikasi baru, tanpa bertukar. Untuk informasi lebih lanjut, lihat nilai MemAvailable dalam bagian /proc/memInfo dari Linux man-pages.

Unit: Byte

CPUAllocated

Persentase CPU maksimal yang dialokasikan untuk tugas (0 berarti tidak ada batas).

AWS DMSmemunculkan metrik ini terhadap dimensi gabunganReplicationInstanceIdentiferdanReplicationTaskIdentifierdi CloudWatch konsol. GunakanReplicationInstanceIdentifier, ReplicationTaskIdentifierkategori untuk melihat metrik ini.

Unit: Persen

CPUUtilization

Persentase vCPU yang dialokasikan (CPU virtual) saat ini yang digunakan di instans.

Unit: Persen

DiskQueueDepth

Jumlah (I/O) permintaan baca/tulis yang belum terselesaikan yang menunggu untuk mengakses disk.

Unit: Count (Jumlah)

FreeStorageSpace

Jumlah ruang penyimpanan yang tersedia.

Unit: Bita

FreeMemory

Jumlah memori fisik yang tersedia untuk digunakan oleh aplikasi, cache halaman, dan struktur data kernel sendiri. Untuk informasi lebih lanjut, lihat nilai MemFree dalam bagian /proc/memInfo dari Linux man-pages.

Unit: Bita

FreeableMemory

Jumlah memori mengakses acak yang tersedia.

Unit: Bita

MemoryAllocated

Alokasi maksimum memori untuk tugas (0 berarti tidak ada batas).

AWS DMSmemunculkan metrik ini terhadap dimensi gabunganReplicationInstanceIdentiferdanReplicationTaskIdentifierdi CloudWatch konsol. GunakanReplicationInstanceIdentifier, ReplicationTaskIdentifierkategori untuk melihat metrik ini.

Unit: MiB

WriteIOPS

Jumlah rata-rata operasi I/O tulis disk per detik.

Unit: Jumlah/Detik

ReadIOPS

Jumlah rata-rata operasi I/O baca disk per detik.

Unit: Jumlah/Detik

WriteThroughput

Jumlah rata-rata byte yang ditulis pada disk per detik.

Unit: Byte/Detik

ReadThroughput

Jumlah rata-rata byte untuk baca dari disk per detik.

Unit: Byte/Detik

WriteLatency

Jumlah waktu rata-rata yang diambil per operasi I/O (output) disk.

Unit: Milidetik

ReadLatency

Jumlah waktu rata-rata yang diambil per operasi I/O (input) disk.

Unit: Milidetik

SwapUsage

Jumlah ruang tukar yang digunakan pada instans replikasi.

Unit: Bita

NetworkTransmitThroughput

Lalu lintas jaringan keluar (transmit) pada instans replikasi, termasuk lalu lintas basis data pelanggan dan lalu lintas AWS DMS yang digunakan untuk pemantauan dan replikasi.

Unit: Byte/Detik

NetworkReceiveThroughput

Lalu lintas jaringan masuk (penerima) pada instans replikasi, termasuk lalu lintas basis data pelanggan dan lalu lintas AWS DMS yang digunakan untuk pemantauan dan replikasi.

Unit: Byte/Detik

Metrik tugas replikasi

Pemantauan tugas replikasi termasuk metrik untuk beberapa statistik berikut.

Metrik

Deskripsi

FullLoadThroughputBandwidthTarget

Data keluar ditransmisikan dari beban penuh untuk target di KB per detik.

FullLoadThroughputRowsTarget

Perubahan keluar dari beban penuh untuk target dalam baris per detik.

CDCIncomingChanges

Jumlah total beberapa peristiwa perubahan di point-in-time yang menunggu untuk beberapa sasaran. Perhatikan bahwa ini tidak sama dengan ukuran nilai perubahan transaksi dari titik akhir sumber. Jumlah large metrik ini biasanya menunjukkan AWS DMS tidak dapat menerapkan perubahan yang ditangkap pada waktu yang tepat, sehingga menyebabkan latensi target tinggi.

CDCChangesMemorySource

Jumlah baris yang terakumulasi dalam memori dan menunggu untuk melakukan dari sumber tersebut. Anda dapat melihat metrik ini bersama dengan beberapa metrikChangesDiskSource.

CDCChangesMemoryTarget

Jumlah baris yang terakumulasi dalam memori dan menunggu untuk melakukan dari target tersebut. Anda dapat melihat metrik ini bersama dengan beberapa metrikChangesDiskTarget.

CDCChangesDiskSource

Jumlah baris yang terakumulasi pada disk dan menunggu untuk melakukan dari sumber tersebut. Anda dapat melihat metrik ini bersama dengan beberapa metrikChangesMemorySource.

CDCChangesDiskTarget

Jumlah baris yang terakumulasi dalam memori dan menunggu untuk melakukan dari target tersebut. Anda dapat melihat metrik ini bersama dengan beberapa metrikChangesMemoryTarget.

CDCThroughputBandwidthTarget

Data keluar ditransmisikan untuk target di KB per detik. CDCThroughputBandwidth mencatat data keluar yang dikirimkan pada beberapa titik pengambilan sampel. Jika tidak ada lalu lintas jaringan tugas yang ditemukan, nilai tersebut adalah nol. Karena CDC tidak mengeluarkan transaksi yang berlangsung lama, lalu lintas jaringan mungkin tidak memiliki catatan.

CDCThroughputRowsSource

Perubahan tugas masuk dari sumber dalam baris per detik.

CDCThroughputRowsTarget

Perubahan tugas keluar untuk target dalam baris per detik.

CDCLatencySource

Selang waktu, dalam detik, antara tindakan terakhir yang ditangkap dari titik akhir sumber dan stempel waktu sistem saat ini dari instans AWS DMS. CDCLatencySource mewakili latensi antara sumber dan beberapa contoh replikasi. CDC tinggiLatencySource berarti proses menangkap beberapa perubahan dari beberapa sumber tertunda. Untuk mengidentifikasi latensi dalam replikasi yang sedang berlangsung, Anda dapat melihat metrik iniLatencyTarget. Jika kedua CDCLatencySource dan CDCLatencyTarget tinggi, selidiki CDCLatencySourcePertama.

CDCSourceLatency bisa 0 ketika tidak ada jeda replikasi antara sumber dan instance replikasi. CDCSourceLatencyjuga bisa menjadi nol ketika tugas replikasi mencoba membaca peristiwa berikutnya di log transaksi sumber dan tidak ada peristiwa baru dibandingkan dengan terakhir kali dibaca dari sumber. Ketika ini terjadi, tugas me-reset CDCSourceLatency ke 0.

CDCLatencyTarget

Kesenjangan, dalam detik, antara tempel waktu tindakan pertama yang menunggu untuk melakukan pada target dan stempel waktu saat ini dari instans AWS DMS. Latensi target adalah perbedaan antara waktu server instance replikasi dan id peristiwa tertua yang belum dikonfirmasi yang diteruskan ke komponen target. Dengan kata lain, latensi target adalah perbedaan stempel waktu antara instance replikasi dan peristiwa tertua yang diterapkan tetapi belum dikonfirmasi oleh titik akhir TRG (99%). Ketika CDCLatencyTarget tinggi, ini menunjukkan proses penerapan peristiwa untuk target tertunda. Untuk mengidentifikasi latensi dalam replikasi yang sedang berlangsung, Anda dapat melihat metrik iniLatencySource. Jika CDCLatencyTarget tinggi tapi CDCLatencySource tidak tinggi, selidiki jika:

  • Tidak ada kunci primer atau indeks yang berada di target

  • Sumber daya kemacetan terjadi dalam instans target atau replikasi

  • Masalah jaringan berada di antara instans replikasi dan target

CPUUtilization

Persentase CPU yang digunakan oleh tugas di beberapa inti. Semantik CPUUtilization tugas sedikit berbeda dari CPUUtilization replikasi. Jika 1 vCPU sepenuhnya digunakan, itu menunjukkan 100%, tetapi jika beberapa vCPU sedang digunakan, nilai tersebut bisa di atas 100%.

Unit: Persen

SwapUsage

Jumlah pertukaran yang digunakan oleh tugas.

Unit: Bita

MemoryUsage

Kelompok kontrol (cgroup)memori.usage_in_bytesDikonsumsi oleh suatu tugas. DMS menggunakan cgroups untuk mengontrol penggunaan sumber daya sistem seperti memori dan CPU. Metrik ini menunjukkan penggunaan memori tugas dalam Megabyte dalam cgroup yang dialokasikan untuk tugas itu. Batas cgroup didasarkan pada sumber daya yang tersedia untuk kelas instance replikasi DMS Anda.memori.usage_in_bytesterdiri dari residen set size (RSS), cache, dan komponen swap memori. Sistem operasi dapat merebut kembali memori cache jika diperlukan. Kami menyarankan Anda untuk beberapa metrik replikasi untuk beberapa metrik replikasi,AvailableMemory.

AWS DMSmemunculkan metrik ini terhadap dimensi gabunganReplicationInstanceIdentiferdanReplicationTaskIdentifierdi CloudWatch konsol. GunakanReplicationInstanceIdentifier, ReplicationTaskIdentifierkategori untuk melihat metrik ini.

Melihat dan mengelola AWSMencatat tugas DMS

Anda dapat menggunakan Amazon CloudWatch untuk mencatat informasi tugas selamaAWS DMSproses migrasi Anda mengaktifkan untuk mencatat pada pilihan pengaturan tugas. Untuk informasi selengkapnya, lihat Pengaturan tugas pengelogan.

Untuk melihat informasi yang mencatat tugas yang berjalan, ikuti langkah berikut:

  1. Membuka konsol AWS DMS tersebut, memilih Tugas migrasi basis data dari panel navigasi. Dialog tugas migrasi basis data muncul.

  2. Tentukan pilihan nama tugas Anda. Dialog detail Gambaran Umum muncul.

  3. Temukanlog tugas migrasibagian dan pilihLihat CloudWatch Log.

Anda dapat menggunakan AWS CLI atau AWS DMS API untuk melihat informasi yang mencatat tugas. Untuk melakukannya, gunakan perintah describe-replication-instance-task-logs AWS CLI atau AWS DMS tindakan API DescribeReplicationInstanceTaskLogs.

Misalnya, perintah AWS CLI berikut ini menunjukkan metadata yang mencatat tugas dalam format JSON.

$ aws dms describe-replication-instance-task-logs \ --replication-instance-arn arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY

Respons sampel dari perintah tersebut adalah sebagai berikut.

{ "ReplicationInstanceTaskLogs": [ { "ReplicationTaskArn": "arn:aws:dms:us-east-1:237565436:task:MY34U6Z4MSY52GRTIX3O4AY", "ReplicationTaskName": "mysql-to-ddb", "ReplicationInstanceTaskLogSize": 3726134 } ], "ReplicationInstanceArn": "arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY" }

Dalam respon ini, ada yang mencatat tugas tunggal (mysql-to-ddb) yang terkait dengan instans replikasi. Mencatat pengukuran ini yaitu 3,726,124 byte.

Anda dapat menggunakan informasi yang dikembalikan oleh describe-replication-instance-task-logs untuk mendiagnosis dan memecahkan masalah dengan mencatat tugas. Sebagai contoh, jika Anda mengaktifkan untuk mencatat debug detail untuk suatu tugas, dengan mencatat tugas akan berkembang cepat—berpotensi menghabiskan semua penyimpanan yang tersedia pada instans replikasi, dan menyebabkan status instans berubah ke storage-full. Melalui penjelasan dengan mencatat tugas, Anda dapat menentukan mana yang tidak lagi Anda butuhkan; maka Anda dapat menghapusnya, sehingga membebaskan ruang penyimpanan.

Untuk menghapus catatan tugas untuk suatu tugas, tetapkan pengaturan tugas DeleteTaskLogs ke BETUL. Sebagai contoh, JSON berikut menghapus catatan tugas ketika memodifikasi suatu tugas menggunakan perintah AWS CLI modify-replication-task atau tindakan AWS DMS API ModifyReplicationTask.

{ "Logging": { "DeleteTaskLogs":true } }

Mencatat panggilan API AWS DMS dengan AWS CloudTrail

AWS DMSterintegrasi denganAWS CloudTraillayanan yang memberikan catatan tindakan yang dilakukan oleh pengguna, peran,AWSlayanan diAWS DMS. CloudTrail menangkap semua panggilan API untukAWS DMSsebagai beberapa peristiwa, termasuk beberapa statistikAWS DMSkonsol dan dari panggilan kode keAWS DMSOperasi API Jika Anda membuat jejak, Anda dapat mengaktifkan beberapa statistik CloudTrail peristiwa ke beberapa bucket Amazon S3, termasuk beberapa acara untuk beberapa statistikAWS DMS. Jika Anda ingin membuat jejak, Anda dapat melihat peristiwa terbaru CloudTrail konsol diSejarah acara. Menggunakan informasi yang dikumpulkan oleh CloudTrailAnda dapat menentukan beberapa permintaan untuk beberapa statistikAWS DMS, alamat IP dari mana permintaan dibuat, siapa yang membuat permintaan, kapan permintaan, dan detail tambahan.

Untuk mempelajari lebih lanjut tentang CloudTrail, lihatAWS CloudTrailPanduan pengguna.

AWS DMSinformasi di CloudTrail

CloudTrail diaktifkan padaAWSakun saat Anda membuat akun. Ketika aktivitas terjadi diAWS DMSKegiatan tersebut dicatat dalam CloudTrail acara bersama dengan lainnyaAWSAcara layanan diSejarah acara. Anda dapat melihat, mencari, dan mengunduh peristiwa terbaru di akun AWS Anda. Untuk informasi selengkapnya, lihatMelihat acara dengan CloudTrail sejarah peristiwa.

Untuk catatan berkelanjutan tentang peristiwa di akun AWS Anda, termasuk peristiwa untuk AWS DMS, buat jejak. Jejak memungkinkan CloudTrail untuk beberapa statistik untuk beberapa statistik untuk beberapa bucket Amazon S3. Secara default, saat Anda membuat jejak di dalam konsol tersebut, jejak diterapkan ke semua Wilayah AWS. Jejak mencatat peristiwa dari semua Wilayah AWS di partisi AWS dan mengirimkan berkas log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengkonfigurasiAWSuntuk beberapa statistik untuk beberapa statistik untuk beberapa statistik untuk beberapa statistik CloudTrail log. Untuk informasi selengkapnya, lihat :

SemuaAWS DMSTindakan log log log log log log log log log koneksi CloudTrail dan didokumentasikan dalamAWS Database Migration ServiceReferensi API. Misalnya, panggilan keCreateReplicationInstance,TestConnectiondanStartReplicationTasktindakan menghasilkan entri di CloudTrail file log log log log log log log koneksi

Setiap entri peristiwa atau log berisi informasi tentang siapa yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan hal berikut:

  • Jika permintaan tersebut dibuat dengan kredensial pengguna root atau IAM.

  • Jika permintaan tersebut dibuat dengan kredensial keamanan sementara untuk peran atau pengguna federasi.

  • Bahwa permintaan dibuat oleh layanan AWS lain.

Untuk informasi selengkapnya, lihat Elemen userIdentity CloudTrail .

Memahami entri file log AWS DMS

Jejak adalah konfigurasi yang memungkinkan pengiriman peristiwa sebagai berkas log ke bucket Amazon S3 yang Anda tentukan. CloudTrail beberapa statistik termasuk satu atau beberapa entri log. Sebuah peristiwa mewakili permintaan tunggal dari sumber apa pun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, parameter permintaan, dan sebagainya. CloudTrail file log bukan jejak tumpukan yang diurutkan dari panggilan API publik, sehingga file tersebut tidak muncul dalam urutan tertentu.

Contoh berikut menunjukkan CloudTrail entri log yang menunjukkanRebootReplicationInstancetindakan.

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:johndoe", "arn": "arn:aws:sts::123456789012:assumed-role/admin/johndoe", "accountId": "123456789012", "accessKeyId": "ASIAYFI33SINADOJJEZW", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-08-01T16:42:09Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/admin", "accountId": "123456789012", "userName": "admin" } } }, "eventTime": "2018-08-02T00:11:44Z", "eventSource": "dms.amazonaws.com", "eventName": "RebootReplicationInstance", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.64", "userAgent": "console.amazonaws.com", "requestParameters": { "forceFailover": false, "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE" }, "responseElements": { "replicationInstance": { "replicationInstanceIdentifier": "replication-instance-1", "replicationInstanceStatus": "rebooting", "allocatedStorage": 50, "replicationInstancePrivateIpAddresses": [ "172.31.20.204" ], "instanceCreateTime": "Aug 1, 2018 11:56:21 PM", "autoMinorVersionUpgrade": true, "engineVersion": "2.4.3", "publiclyAccessible": true, "replicationInstanceClass": "dms.t2.medium", "availabilityZone": "us-east-1b", "kmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/f7bc0f8e-1a3a-4ace-9faa-e8494fa3921a", "replicationSubnetGroup": { "vpcId": "vpc-1f6a9c6a", "subnetGroupStatus": "Complete", "replicationSubnetGroupArn": "arn:aws:dms:us-east-1:123456789012:subgrp:EDHRVRBAAAPONQAIYWP4NUW22M", "subnets": [ { "subnetIdentifier": "subnet-cbfff283", "subnetAvailabilityZone": { "name": "us-east-1b" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-d7c825e8", "subnetAvailabilityZone": { "name": "us-east-1e" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-6746046b", "subnetAvailabilityZone": { "name": "us-east-1f" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-bac383e0", "subnetAvailabilityZone": { "name": "us-east-1c" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-42599426", "subnetAvailabilityZone": { "name": "us-east-1d" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-da327bf6", "subnetAvailabilityZone": { "name": "us-east-1a" }, "subnetStatus": "Active" } ], "replicationSubnetGroupIdentifier": "default-vpc-1f6a9c6a", "replicationSubnetGroupDescription": "default group created by console for vpc id vpc-1f6a9c6a" }, "replicationInstanceEniId": "eni-0d6db8c7137cb9844", "vpcSecurityGroups": [ { "vpcSecurityGroupId": "sg-f839b688", "status": "active" } ], "pendingModifiedValues": {}, "replicationInstancePublicIpAddresses": [ "18.211.48.119" ], "replicationInstancePublicIpAddress": "18.211.48.119", "preferredMaintenanceWindow": "fri:22:44-fri:23:14", "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE", "replicationInstanceEniIds": [ "eni-0d6db8c7137cb9844" ], "multiAZ": false, "replicationInstancePrivateIpAddress": "172.31.20.204", "patchingPrecedence": 0 } }, "requestID": "a3c83c11-95e8-11e8-9d08-4b8f2b45bfd5", "eventID": "b3c4adb1-e34b-4744-bdeb-35528062a541", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

AWS DMSEndit log koneksi

AWS DMSmenggunakan pencatatan konteks untuk memberi Anda informasi tentang migrasi yang sedang berlangsung. Pencatatan konteks menulis informasi, seperti berikut ini, ke tugas CloudWatch log:

  • Informasi tentang koneksi tugas ke basis data sumber dan target.

  • Perilaku tugas replikasi. Anda dapat menggunakan log tugas untuk mendiagnosis masalah replikasi.

  • Pernyataan SQL tanpa data yangAWS DMSmengeksekusi pada beberapa basis data sumber dan target. Anda dapat menggunakan log SQL untuk mendiagnosis perilaku migrasi yang tidak terduga.

  • Detail posisi streaming untuk setiap acara CDC.

Pencatatan konteks hanya tersedia diAWS DMSversi 3.5.0 atau lebih tinggi

AWS DMSmengaktifkan pencatatan konteks secara default. Untuk mengontrol pencatatan konteks, aturEnableLogContextpengaturan tugas untuktrueataufalse, atau dengan memodifikasi tugas di konsol.

AWS DMSmenulis informasi log konteks ke CloudWatch tugas replikasi log setiap tiga menit. Pastikan instance replikasi Anda memiliki ruang yang cukup untuk log aplikasinya. Untuk beberapa statistik tentang mengelola log tugas, lihatMelihat dan mengelola AWSMencatat tugas DMS.

Jenis Objek

AWS DMSmenghasilkan pencatatan konteks CloudWatch untuk jenis objek berikut.

Jenis Objek Deskripsi
TABLE_NAME Entri log ini berisi informasi tentang tabel yang berada dalam cakupan dengan aturan pemetaan tugas saat ini. Anda dapat menggunakan entri ini untuk memeriksa peristiwa tabel untuk periode tertentu selama migrasi.
SCHEMA_NAME Entri log ini berisi informasi tentang skema yang digunakan oleh aturan pemetaan tugas saat ini. Anda dapat menggunakan entri ini untuk menentukan skemaAWS DMSdigunakan untuk periode tertentu selama migrasi.
TRANSACTION_ID Entri ini berisi ID transaksi untuk setiap perubahan DML/DDL yang diambil dari database sumber. Anda dapat menggunakan entri log ini untuk menentukan perubahan apa yang terjadi selama transaksi tertentu.
CONNECTION_ID Entri ini berisi ID koneksi. Anda dapat menggunakan entri log ini untuk menentukan koneksiAWS DMSdigunakan untuk setiap langkah migrasi.
STATEMENT Entri ini berisi kode SQL yang digunakan untuk mengambil, memproses, dan menerapkan setiap perubahan migrasi.
STREAM_POSITION Entri ini berisi posisi dalam file log transaksi untuk setiap tindakan migrasi pada database sumber. Format untuk entri ini bervariasi antara jenis mesin basis data sumber. Anda juga dapat menggunakan informasi ini untuk menentukan posisi awal pos pemeriksaan pemulihan saat mengonfigurasi replikasi khusus CDC.

Contoh Pencatatan

Bagian ini berisi contoh catatan log yang dapat Anda gunakan untuk memantau replikasi dan mendiagnosis masalah replikasi.

Contoh log koneksi

Bagian ini berisi sampel log yang menyertakan ID koneksi.

2023-02-22T10:09:29 [SOURCE_CAPTURE ]I: Capture record 1 to internal queue from Source {operation:START_REGULAR (43), connectionId:27598, streamPosition:0000124A/6800A778.NOW} (streamcomponent.c:2920) 2023-02-22T10:12:30 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), connectionId:27598} (streamcomponent.c:2920) 2023-02-22T11:25:27 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), columnName:region, connectionId:27598} (streamcomponent.c:2920)

Contoh log perilaku tugas

Bagian ini berisi sampel log tentang perilaku log tugas replikasi. Anda dapat menggunakan informasi ini untuk mendiagnosis masalah replikasi, misalnyaIDLEstatus.

Berikut iniSOURCE_CAPTURElog menunjukkan bahwa tidak ada peristiwa yang tersedia untuk dibaca dari file log database sumber, dan berisiTARGET_APPLYcatatan yang menunjukkan bahwa tidak ada peristiwa yang diterimaAWS DMSKomponen CDC untuk beberapa statistik untuk beberapa statistik Peristiwa ini juga berisi detail konteks terkait peristiwa yang diterapkan sebelumnya.

2023-02-22T11:23:24 [SOURCE_CAPTURE ]I: No Event fetched from wal log (postgres_endpoint_wal_engine.c:1369) 2023-02-22T11:24:29 [TARGET_APPLY ]I: No records received to load or apply on target , waiting for data from upstream. The last context is {operation:INSERT (1), tableName:sales_11, schemaName:public, txnId:18662441, connectionId:17855, statement:INSERT INTO "public"."sales_11"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),

Contoh log pernyataan SQL

Bagian ini berisi sampel log tentang pernyataan SQL yang dijalankan pada basis data sumber dan target. Pernyataan SQL yang Anda lihat di log hanya menampilkan pernyataan SQL; mereka tidak menampilkan data. Berikut iniTARGET_APPLYlog menunjukkanINSERTpernyataan yang berjalan pada target.

2023-02-22T11:26:07 [TARGET_APPLY ]I: Applied record 2193305 to target {operation:INSERT (1), tableName:sales_111, schemaName:public, txnId:18761543, connectionId:17855, statement:INSERT INTO "public"."sales_111"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),

Keterbatasan:

Batasan berikut berlaku untukAWS DMSlog konteks log koneksi

  • SementaraAWS DMSmembuat logging minimal untuk semua tipe titik akhir, logging konteks khusus mesin ekstensif hanya tersedia untuk tipe titik akhir berikut. Sebaiknya aktifkan pencatatan konteks saat menggunakan tipe titik akhir ini.

    • MySQL

    • PostgreSQL

    • Oracle

    • Microsoft SQL Server

    • MongoDB/Amazon DocumentDB

    • Amazon S3