Topik ini menjelaskan penyebab umum kesalahan yang terjadi ketika hasil transformasi data ditulis ke Logstore target serta cara melakukan troubleshooting terhadap kesalahan tersebut.
How it works
Setelah event log ditransformasi, data tersebut dikirim ke Logstore target yang telah dikonfigurasi sebelumnya. Mesin Domain-Specific Language (DSL) Log Service membaca satu batch log sumber sekaligus, yang jumlahnya dapat berkisar dari satu hingga hampir sepuluh ribu entri. Alih-alih langsung mengeluarkan setiap log setelah transformasi, mesin terlebih dahulu menyimpan data yang telah diproses dalam cache. Seluruh data yang telah ditransformasi baru dikeluarkan sekaligus setelah seluruh batch sumber selesai diproses.
Kesalahan pada tahap ini biasanya disebabkan oleh akses abnormal ke Logstore target. Penyebab yang mungkin antara lain:
-
Konfigurasi Logstore target salah.
-
Informasi Logstore target telah berubah.
-
Terjadi error jaringan.
Dampak kesalahan:
-
Jika terjadi kesalahan saat menulis ke Logstore target, pekerjaan transformasi data akan terus mencoba ulang operasi tersebut hingga berhasil atau Anda menghentikan pekerjaan secara manual. Jika percobaan ulang berhasil, pekerjaan akan berjalan normal tanpa kehilangan atau duplikasi data.
-
Jika kesalahan terjadi setelah sebagian data berhasil ditulis, pekerjaan akan menyimpan breakpoint dan terus mencoba ulang operasi tersebut. Misalnya, hal ini dapat terjadi ketika dua target output dikonfigurasi, dan operasi penulisan berhasil untuk satu target tetapi gagal untuk target lainnya. Jika percobaan ulang berhasil, tidak akan terjadi kehilangan atau duplikasi data. Namun, jika Anda menghentikan dan me-restart pekerjaan pada titik ini, pekerjaan akan melanjutkan dari breakpoint yang tersimpan. Hal ini mencegah kehilangan data tetapi berpotensi menyebabkan duplikasi data.
Troubleshooting kesalahan umum
Logstore target menggunakan AccessKey yang tidak valid.
AccessKey yang tidak valid dapat disebabkan oleh ID AccessKey atau Rahasia AccessKey yang tidak valid.
-
Log kesalahan:
# Invalid AccessKeyId { "errorCode": "Unauthorized", "errorMessage": "AccessKeyId not found: LTAI****************" } # Invalid AccessKeySecret { "errorCode": "SignatureNotMatch", "errorMessage": "signature uJfAJbc0ji04gb+cXhh0qWt****= not match" } -
Metode troubleshooting:
Periksa konfigurasi pekerjaan untuk memastikan bahwa ID AccessKey dan Rahasia AccessKey untuk Logstore target valid dan benar.
Proyek target tidak ada
-
Log kesalahan:
{ "errorCode": "ProjectNotExist", "errorMessage": "The Project does not exist : your_project_name" } -
Akar penyebab:
Log kesalahan menunjukkan error
Project does not exist, yang memiliki tiga kemungkinan penyebab:-
Nama proyek target dalam konfigurasi pekerjaan salah.
-
Nama proyek target benar, tetapi proyek tersebut dihapus saat pekerjaan transformasi data sedang berjalan.
-
-
Metode troubleshooting:
-
Periksa apakah nama proyek target dalam konfigurasi pekerjaan sudah benar.
-
Periksa apakah proyek target telah dihapus.
-
-
Target output tidak ada.
Contoh aturan transformasi:
e_coutput("target1")-
Log kesalahan:
{ "errorMessage": "transform_data: output target target1 is not found in configurations" } -
Akar penyebab:
Aturan DSL di atas mengeluarkan event log ke
target1, tetapi log kesalahan menunjukkan bahwatarget1 is not found in configurations. Artinya, konfigurasi aturan transformasi tidak mendefinisikan proyek dan Logstore target yang terkait dengantarget1. -
Metode troubleshooting:
Periksa konfigurasi aturan DSL dan pastikan semua target penyimpanan yang dirujuk dalam aturan telah didefinisikan dalam konfigurasi.
-
Informasi Logstore target telah berubah
-
Akar penyebab:
Anda mungkin telah mengonfigurasi informasi Logstore target dengan benar, dan pekerjaan mungkin telah memproses sebagian data. Namun, informasi Logstore target berubah selama proses transformasi data. Akibatnya, konfigurasi awal tidak dapat digunakan lagi untuk mengakses Logstore tersebut.
-
Log kesalahan:
Perubahan informasi Logstore target biasanya terjadi dalam dua skenario berikut:
-
Logstore target dihapus.
{ "errorMessage": "Logstore [logstore_name] does not exist." } -
AccessKey untuk Logstore target berubah.
# Invalid AccessKeyId { "errorCode": "Unauthorized", "errorMessage": "AccessKeyId not found: LTAI****************" } # Invalid AccessKeySecret { "errorCode": "SignatureNotMatch", "errorMessage": "signature uJfAJbc0ji04gb+cXhh0qWt****= not match" }
-
-
Metode troubleshooting:
-
Periksa apakah Logstore target telah dihapus.
-
Periksa apakah AccessKey untuk Logstore target telah berubah.
-
-
Network error.
-
Log kesalahan:
{ "errorCode": "LogRequestError", "errorMessage": "HTTPConnectionPool(host='your_host', port=80): Max retries exceeded with url: your_url (Caused by NewConnectionError: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'" } -
Metode troubleshooting:
Periksa apakah koneksi jaringan stabil.
-