Praktik terbaik untuk Amazon OpenSearch Ingestion - OpenSearch Layanan Amazon

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

Praktik terbaik untuk Amazon OpenSearch Ingestion

Topik ini memberikan praktik terbaik untuk membuat dan mengelola saluran Amazon OpenSearch Ingestion dan mencakup pedoman umum yang berlaku untuk banyak kasus penggunaan. Setiap beban kerja unik, dengan karakteristik unik, jadi tidak ada rekomendasi umum yang tepat untuk setiap kasus penggunaan.

Praktik terbaik umum

Praktik terbaik umum berikut berlaku untuk membuat dan mengelola jaringan pipa.

  • Untuk memastikan ketersediaan tinggi, konfigurasikan pipeline VPC dengan dua atau tiga subnet. Jika Anda hanya menerapkan pipeline di satu subnet dan Availability Zone turun, Anda tidak akan dapat menyerap data.

  • Dalam setiap pipa, kami sarankan untuk membatasi jumlah sub-pipeline menjadi 5 atau kurang.

  • Jika Anda menggunakan plugin sumber S3, gunakan file S3 berukuran merata untuk kinerja optimal.

  • Jika Anda menggunakan plugin sumber S3, tambahkan 30 detik batas waktu visibilitas tambahan untuk setiap ukuran file 0,25 GB di bucket S3 untuk kinerja optimal.

  • Sertakan antrian surat mati (DLQ) dalam konfigurasi pipeline sehingga Anda dapat membongkar peristiwa yang gagal dan membuatnya dapat diakses untuk dianalisis. Jika sink Anda menolak data karena pemetaan yang salah atau masalah lain, Anda dapat merutekan data ke DLQ untuk memecahkan masalah dan memperbaiki masalah.

CloudWatch Alarm yang Direkomendasikan

CloudWatch Alarm melakukan tindakan bila CloudWatch metrik melebihi nilai tertentu selama beberapa waktu. Misalnya, Anda mungkin ingin AWS untuk mengirim email kepada Anda jika status kesehatan klaster Anda lebih dari satu menit. red Bagian ini mencakup beberapa alarm yang direkomendasikan untuk Amazon OpenSearch Ingestion dan bagaimana menanggapinya.

Untuk informasi selengkapnya tentang mengonfigurasi alarm, lihat Membuat CloudWatchAlarm Amazon di Panduan Pengguna Amazon CloudWatch .

Alarm Isu

computeUnitsmaksimum adalah = dikonfigurasi maxUnits selama 15 menit, 3 kali berturut-turut

Pipa telah mencapai kapasitas maksimum dan mungkin memerlukan maxUnits pembaruan. Tingkatkan kapasitas maksimum pipa Anda

opensearch.documentErrors.countJumlah adalah = {sub_pipeline_name}.opensearch.recordsIn.count jumlah untuk 1 menit, 1 kali berturut-turut

Pipa tidak dapat menulis ke OpenSearch wastafel. Periksa izin pipeline dan konfirmasikan bahwa domain atau koleksinya sehat. Anda juga dapat memeriksa antrian huruf mati (DLQ) untuk peristiwa yang gagal, jika sudah dikonfigurasi.

bulkRequestLatency.maxMaks adalah > = x untuk 1 menit, 1 kali berturut-turut

Pipa mengalami latensi tinggi mengirim data ke OpenSearch wastafel. Ini kemungkinan karena wastafel berukuran terlalu kecil, atau strategi sharding yang buruk, yang menyebabkan wastafel tertinggal. Latensi tinggi yang berkelanjutan dapat memengaruhi kinerja pipa dan kemungkinan akan menyebabkan tekanan balik pada klien.

httpAuthFailure.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Permintaan konsumsi tidak diautentikasi. Konfirmasikan bahwa semua klien memiliki otentikasi Signature Version 4 yang diaktifkan dengan benar.

system.cpu.usage.valueRata-rata > = 80% selama 15 menit, 3 kali berturut-turut

Penggunaan CPU yang tinggi dapat menjadi masalah. Pertimbangkan untuk meningkatkan kapasitas maksimum untuk pipa.

bufferUsage.valueRata-rata > = 80% selama 15 menit, 3 kali berturut-turut

Penggunaan buffer tinggi yang berkelanjutan bisa menjadi masalah. Pertimbangkan untuk meningkatkan kapasitas maksimum untuk pipa.

Alarm lain yang mungkin Anda pertimbangkan

Pertimbangkan untuk mengonfigurasi alarm berikut tergantung pada fitur Amazon OpenSearch Ingestion yang biasa Anda gunakan.

Alarm Isu

dynamodb.exportJobFailure.countjumlah 1

Upaya untuk memicu ekspor ke Amazon S3 gagal.

opensearch.EndtoEndLatency.avgrata-rata> X selama 15 menit, 4 kali berturut-turut

EndtoEndLatencyLebih tinggi dari yang diinginkan untuk membaca dari aliran DynamoDB. Hal ini dapat disebabkan oleh OpenSearch cluster underscaled atau kapasitas OCU pipeline maksimum yang terlalu rendah untuk throughput WCU pada tabel DynamoDB. EndtoEndLatencyakan lebih tinggi setelah ekspor tetapi akan berkurang seiring waktu karena mengikuti aliran DynamoDB terbaru.

dynamodb.changeEventsProcessed.countjumlah == 0 selama X menit

Tidak ada catatan yang dikumpulkan dari aliran DynamoDB. Ini bisa disebabkan oleh tidak adanya aktivitas di atas meja, atau masalah saat mengakses aliran DynamoDB.

opensearch.s3.dlqS3RecordsSuccess.countjumlah > = opensearch.documentSuccess.count jumlah untuk 1 menit, 1 kali berturut-turut

Sejumlah besar catatan dikirim ke DLQ daripada wastafel. OpenSearch Tinjau metrik plugin OpenSearch sink untuk menyelidiki dan menentukan akar penyebabnya.

grok.grokProcessingTimeouts.countjumlah = recordsin.Hitung jumlah selama 1 menit, 5 kali berturut-turut

Semua data habis waktu sementara prosesor Grok mencoba mencocokkan pola. Ini kemungkinan berdampak pada kinerja dan memperlambat pipeline Anda. Pertimbangkan untuk menyesuaikan pola Anda untuk mengurangi batas waktu.

grok.grokProcessingErrors.countJumlah adalah > = 1 untuk 1 menit, 1 kali berturut-turut

Prosesor Grok gagal mencocokkan pola dengan data dalam pipeline, yang mengakibatkan kesalahan. Tinjau data Anda dan konfigurasi plugin Grok untuk memastikan pencocokan pola diharapkan.

grok.grokProcessingMismatch.countjumlah = recordsin.Hitung jumlah selama 1 menit, 5 kali berturut-turut

Prosesor Grok tidak dapat mencocokkan pola dengan data dalam pipeline. Tinjau data Anda dan konfigurasi plugin Grok untuk memastikan pencocokan pola diharapkan.

date.dateProcessingMatchFailure.countsum = recordsin.Hitung jumlah selama 1 menit, 5 kali berturut-turut

Prosesor Tanggal tidak dapat mencocokkan pola apa pun dengan data dalam pipeline. Tinjau data Anda dan konfigurasi plugin Tanggal untuk memastikan pola yang diharapkan.

s3.s3ObjectsFailed.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Masalah ini terjadi karena objek S3 tidak ada, atau pipeline memiliki hak istimewa yang tidak mencukupi. Reivew s3ObjectsNotFound.count dan s3ObjectsAccessDenied.count metrik untuk menentukan akar penyebabnya. Konfirmasikan bahwa objek S3 ada dan/atau perbarui izin.

s3.sqsMessagesFailed.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Plugin S3 gagal memproses pesan Amazon SQS. Jika DLQ diaktifkan pada antrean SQS Anda, tinjau pesan yang gagal. Antrian mungkin menerima data tidak valid yang coba diproses oleh pipeline.

http.badRequests.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Klien mengirim permintaan yang buruk. Konfirmasikan bahwa semua klien mengirimkan muatan yang tepat.

http.requestsTooLarge.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Permintaan dari plugin sumber HTTP berisi terlalu banyak data, yang melebihi kapasitas buffer. Sesuaikan ukuran batch untuk klien Anda.

http.internalServerError.countJumlah> = 0 untuk 1 menit, 1 kali berturut-turut

Plugin sumber HTTP mengalami kesulitan menerima acara.

http.requestTimeouts.countJumlah> = 0 untuk 1 menit, 1 kali berturut-turut

Batas waktu sumber kemungkinan merupakan hasil dari pipeline yang kurang tersedia. Pertimbangkan untuk meningkatkan pipa maxUnits untuk menangani beban kerja tambahan.

otel_trace.badRequests.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Klien mengirim permintaan yang buruk. Konfirmasikan bahwa semua klien mengirimkan muatan yang tepat.

otel_trace.requestsTooLarge.countJumlah> = 1 untuk 1 menit, 1 kali berturut-turut

Permintaan dari plugin sumber Otel Trace berisi terlalu banyak data, yang melebihi kapasitas buffer. Sesuaikan ukuran batch untuk klien Anda.

otel_trace.internalServerError.countJumlah> = 0 untuk 1 menit, 1 kali berturut-turut

Plugin sumber Otel Trace mengalami kesulitan menerima acara.

otel_trace.requestTimeouts.countJumlah> = 0 untuk 1 menit, 1 kali berturut-turut

Batas waktu sumber kemungkinan merupakan hasil dari pipeline yang kurang tersedia. Pertimbangkan untuk meningkatkan pipa maxUnits untuk menangani beban kerja tambahan.

otel_metrics.requestTimeouts.countJumlah> = 0 untuk 1 menit, 1 kali berturut-turut

Batas waktu sumber kemungkinan merupakan hasil dari pipeline yang kurang tersedia. Pertimbangkan untuk meningkatkan pipa maxUnits untuk menangani beban kerja tambahan.