Agen Kinesis - Amazon Data Firehose

Mengirimkan aliran Amazon Data Firehose ke Apache Iceberg Tables di Amazon S3 sedang dalam pratinjau dan dapat berubah sewaktu-waktu.

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

Agen Kinesis

Agen Amazon Kinesis adalah aplikasi perangkat lunak Java mandiri yang berfungsi sebagai implementasi referensi untuk menunjukkan bagaimana Anda dapat mengumpulkan dan mengirim data ke Firehose. Agen terus memantau sekumpulan file dan mengirimkan data baru ke aliran Firehose Anda. Agen menunjukkan bagaimana Anda dapat menangani rotasi file, checkpointing, dan coba lagi setelah kegagalan. Ini menunjukkan bagaimana Anda dapat mengirimkan data Anda dengan cara yang andal, tepat waktu, dan sederhana. Ini juga menunjukkan bagaimana Anda dapat memancarkan CloudWatch metrik untuk memantau dan memecahkan masalah proses streaming dengan lebih baik. Untuk mempelajari lebih lanjut, awslabs/ amazon-kinesis-agent.

Secara default, catatan diurai dari setiap file berdasarkan karakter baris baru ('\n'). Namun, agen juga dapat dikonfigurasi untuk mengurai catatan multi-baris (lihat Pengaturan konfigurasi agen).

Anda dapat menginstal agen di lingkungan server berbasis Linux seperti server web, server log, dan server basis data. Setelah menginstal agen, konfigurasikan dengan menentukan file yang akan dipantau dan aliran Firehose untuk data. Setelah agen dikonfigurasi, agen akan mengumpulkan data dari file dan mengirimkannya dengan andal ke aliran Firehose.

Topik
    • Sistem operasi Anda harus Amazon Linux, atau Red Hat Enterprise Linux versi 7 atau yang lebih baru.

    • Agen versi 2.0.0 atau yang lebih baru berjalan menggunakan JRE versi 1.8 atau yang lebih baru. Agen versi 1.1.x berjalan menggunakan JRE 1.7 atau yang lebih baru.

    • Jika Anda menggunakan Amazon EC2 untuk menjalankan agen Anda, luncurkan EC2 instans Anda.

    • IAMPeran atau AWS kredensil yang Anda tentukan harus memiliki izin untuk menjalankan PutRecordBatchoperasi Amazon Data Firehose agar agen dapat mengirim data ke aliran Firehose Anda. Jika Anda mengaktifkan CloudWatch pemantauan untuk agen, izin untuk melakukan CloudWatch PutMetricDataoperasi juga diperlukan. Untuk informasi selengkapnya, lihat Mengontrol akses dengan Amazon Data FirehosePantau kesehatan Agen Kinesis, dan Otentikasi dan Kontrol Akses untuk Amazon CloudWatch.

    Kelola AWS kredensyal Anda menggunakan salah satu metode berikut:

    • Buat penyedia kredensial khusus. Untuk detailnya, lihat Buat penyedia kredensi khusus.

    • Tentukan IAM peran saat Anda meluncurkan EC2 instans Anda.

    • Tentukan AWS kredensil saat Anda mengonfigurasi agen (lihat entri untuk awsAccessKeyId dan awsSecretAccessKey di tabel konfigurasi di bawah). Pengaturan konfigurasi agen

    • Edit /etc/sysconfig/aws-kinesis-agent untuk menentukan AWS Region dan kunci AWS akses Anda.

    • Jika EC2 instans Anda berada di AWS akun lain, buat IAM peran untuk menyediakan akses ke layanan Amazon Data Firehose. Tentukan peran tersebut saat Anda mengonfigurasi agen (lihat assumeRoleARNdan assumeRoleExternalId). Gunakan salah satu metode sebelumnya untuk menentukan AWS kredensi pengguna di akun lain yang memiliki izin untuk mengambil peran ini.

    Anda dapat membuat penyedia kredensial khusus dan memberikan nama kelas dan jalur jarnya ke agen Kinesis dalam pengaturan konfigurasi berikut: userDefinedCredentialsProvider.classname dan userDefinedCredentialsProvider.location. Untuk deskripsi dari dua pengaturan konfigurasi ini, lihat Pengaturan konfigurasi agen.

    Untuk membuat penyedia kredensial khusus, tentukan kelas yang mengimplementasikan antarmuka AWS CredentialsProvider, seperti yang ada di contoh berikut.

    import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; public class YourClassName implements AWSCredentialsProvider { public YourClassName() { } public AWSCredentials getCredentials() { return new BasicAWSCredentials("key1", "key2"); } public void refresh() { } }

    Kelas Anda harus memiliki konstruktor yang tidak mengambil argumen.

    AWS memanggil metode penyegaran secara berkala untuk mendapatkan kredensyal yang diperbarui. Jika Anda ingin penyedia kredensial Anda memberikan kredensial yang berbeda sepanjang masa pakainya, sertakan kode untuk menyegarkan kredensial dalam metode ini. Atau, Anda dapat membiarkan metode ini kosong jika Anda ingin penyedia kredensial yang menyediakan kredensial statis (tidak berubah).

    Pertama-tama, hubungkan ke instans Anda. Untuk informasi selengkapnya, lihat Connect to Your Instance di Panduan EC2 Pengguna Amazon. Jika Anda mengalami masalah saat menyambung, lihat Pemecahan Masalah Menghubungkan ke Instans Anda di EC2Panduan Pengguna Amazon.

    Selanjutnya, instal agen menggunakan salah satu metode berikut.

    • Untuk mengatur agen dari repositori Amazon Linux

      Metode ini hanya berfungsi untuk instans Amazon Linux. Gunakan perintah berikut:

      sudo yum install –y aws-kinesis-agent

      Agent v 2.0.0 atau yang lebih baru diinstal pada komputer dengan sistem operasi Amazon Linux 2 ()AL2. Versi agen ini membutuhkan Java versi 1.8 atau yang lebih baru. Jika versi Java yang diperlukan belum ada, proses instalasi agen akan menginstalnya. Untuk informasi lebih lanjut tentang Amazon Linux 2 lihat https://aws.amazon.com/amazon-linux-2/.

    • Untuk mengatur agen dari repositori Amazon S3

      Metode ini berfungsi untuk Red Hat Enterprise Linux, serta instans Amazon Linux 2 karena metode ini menginstal agen dari repositori yang tersedia untuk umum. Gunakan perintah berikut untuk mengunduh dan menginstal versi terbaru dari versi agen 2.x.x:

      sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn2.noarch.rpm

      Untuk menginstal versi tertentu dari agen, tentukan nomor versi dalam perintah. Sebagai contoh, perintah berikut menginstal agen v 2.0.1.

      sudo yum install –y https://streaming-data-agent.s3.amazonaws.com/aws-kinesis-agent-2.0.1-1.amzn1.noarch.rpm

      Jika Anda memiliki Java 1.7 dan tidak ingin meng-upgrade-nya, Anda dapat mengunduh agen versi 1.x.x, yang kompatibel dengan Java 1.7. Misalnya, untuk mengunduh agen v1.1.6, Anda dapat menggunakan perintah berikut:

      sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-1.1.6-1.amzn1.noarch.rpm

      Agen v1.x.x terbaru dapat diunduh dengan menggunakan perintah berikut:

      sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn1.noarch.rpm
    • Untuk mengatur agen dari GitHub repo

      1. Pertama, pastikan bahwa Anda menginstal versi Java yang diperlukan, tergantung pada versi agen.

      2. Unduh agen dari amazon-kinesis-agent GitHub awslabs/repo.

      3. Instal agen dengan menavigasi ke direktori unduhan dan menjalankan perintah berikut:

        sudo ./setup --install
    • Untuk mengatur agen dalam wadah Docker

      Agen Kinesis dapat dijalankan dalam wadah juga melalui basis wadah amazonlinux. Gunakan Dockerfile berikut dan kemudian jalankan. docker build

      FROM amazonlinux RUN yum install -y aws-kinesis-agent which findutils COPY agent.json /etc/aws-kinesis/agent.json CMD ["start-aws-kinesis-agent"]
    Untuk mengonfigurasi dan memulai agen
    1. Buka dan edit file konfigurasi (sebagai pengguna super jika menggunakan izin akses file default): /etc/aws-kinesis/agent.json

      Dalam file konfigurasi ini, tentukan file ("filePattern") dari mana agen mengumpulkan data, dan nama Firehose stream "deliveryStream" () tempat agen mengirimkan data. Nama file merupakan pola, dan agen mengenali rotasi file. Anda dapat memutar file atau membuat file baru satu kali per detik. Agen menggunakan stempel waktu pembuatan file untuk menentukan file mana yang akan dilacak dan diekor ke aliran Firehose Anda. Membuat file baru atau memutar file lebih sering dari satu kali per detik membuat agen tidak dapat membedakan file-file tersebut dengan benar.

      { "flows": [ { "filePattern": "/tmp/app.log*", "deliveryStream": "yourdeliverystream" } ] }

      AWS Wilayah default adalahus-east-1. Jika Anda menggunakan Wilayah yang berbeda, tambahkan pengaturan firehose.endpoint ke file konfigurasi, dan tentukan titik akhir untuk Wilayah Anda. Untuk informasi selengkapnya, lihat Pengaturan konfigurasi agen.

    2. Mulailah agen secara manual:

      sudo service aws-kinesis-agent start
    3. (Opsional) Konfigurasikan agen untuk memulai pada startup sistem:

      sudo chkconfig aws-kinesis-agent on

    Agen sekarang berjalan sebagai layanan sistem di latar belakang. Ini terus memantau file yang ditentukan dan mengirim data ke aliran Firehose yang ditentukan. Aktivitas agen masuk di /var/log/aws-kinesis-agent/aws-kinesis-agent.log.

    Agen mendukung dua pengaturan konfigurasi wajib, filePattern dan deliveryStream, ditambah pengaturan konfigurasi opsional untuk fitur tambahan. Anda dapat menentukan pengaturan konfigurasi wajib dan opsional di /etc/aws-kinesis/agent.json.

    Setiap kali mengubah file konfigurasi, Anda harus menghentikan dan memulai agen, menggunakan perintah berikut:

    sudo service aws-kinesis-agent stop sudo service aws-kinesis-agent start

    Atau, Anda dapat menggunakan perintah berikut:

    sudo service aws-kinesis-agent restart

    Berikut ini adalah pengaturan konfigurasi umum.

    Pengaturan Konfigurasi Deskripsi
    assumeRoleARN

    Amazon Resource Name (ARN) dari peran yang akan diasumsikan oleh pengguna. Untuk informasi selengkapnya, lihat Mendelegasikan Akses di Seluruh AWS Akun Menggunakan IAM Peran di Panduan IAM Pengguna.

    assumeRoleExternalId

    Pengidentifikasi opsional yang menentukan siapa yang dapat mengambil peran tersebut. Untuk informasi selengkapnya, lihat Cara Menggunakan ID Eksternal di Panduan IAM Pengguna.

    awsAccessKeyId

    AWS ID kunci akses yang mengesampingkan kredensyal default. Pengaturan ini diutamakan daripada semua penyedia kredensial lainnya.

    awsSecretAccessKey

    AWS kunci rahasia yang mengesampingkan kredensi default. Pengaturan ini diutamakan daripada semua penyedia kredensial lainnya.

    cloudwatch.emitMetrics

    Memungkinkan agen untuk memancarkan metrik ke CloudWatch if set (true).

    Default: betul

    cloudwatch.endpoint

    Titik akhir regional untuk CloudWatch.

    Default: monitoring.us-east-1.amazonaws.com

    firehose.endpoint

    Titik akhir regional untuk Amazon Data Firehose.

    Default: firehose.us-east-1.amazonaws.com

    sts.endpoint

    Titik akhir regional untuk Layanan Token AWS Keamanan.

    Default: https://sts.amazonaws.com

    userDefinedCredentialsProvider.classname Jika Anda menentukan penyedia kredensial khusus, beri nama kelas yang sepenuhnya memenuhi syarat menggunakan pengaturan ini. Jangan sertakan .class pada akhir nama kelas.
    userDefinedCredentialsProvider.location Jika Anda menentukan penyedia kredensial khusus, gunakan pengaturan ini untuk menentukan jalur absolut dari jar yang berisi penyedia kredensial khusus. Agen juga mencari file jar di lokasi berikut: /usr/share/aws-kinesis-agent/lib/.

    Berikut ini adalah pengaturan konfigurasi aliran.

    Pengaturan Konfigurasi Deskripsi
    aggregatedRecordSizeBytes

    Untuk membuat catatan agregat agen dan kemudian memasukkannya ke aliran Firehose dalam satu operasi, tentukan pengaturan ini. Setel ke ukuran yang Anda inginkan untuk memiliki catatan agregat sebelum agen memasukkannya ke aliran Firehose.

    Default: 0 (tidak ada agregasi)

    dataProcessingOptions

    Daftar opsi pemrosesan diterapkan ke setiap catatan yang diuraikan sebelum dikirim ke aliran Firehose. Pilihan pemrosesan dilakukan dalam urutan yang ditentukan. Untuk informasi selengkapnya, lihat Gunakan Agen untuk melakukan pra-proses data.

    deliveryStream

    [Wajib] Nama aliran Firehose.

    filePattern

    [Diperlukan] Sebuah glob untuk file yang perlu dipantau oleh agen. Setiap file yang cocok dengan pola ini diambil oleh agen secara otomatis dan dipantau. Untuk semua file yang cocok dengan pola ini, berikan izin baca untuk aws-kinesis-agent-user. Untuk direktori yang berisi file, berikan izin baca dan eksekusi untuk aws-kinesis-agent-user.

    penting

    Agen mengambil file yang cocok dengan pola ini. Untuk memastikan bahwa agen tidak mengambil catatan yang tidak diinginkan, pilih pola ini dengan hati-hati.

    initialPosition

    Posisi awal dari mana file mulai diurai. Nilai yang valid adalah START_OF_FILE dan END_OF_FILE.

    Default: END_OF_FILE

    maxBufferAgeMillis

    Waktu maksimum, dalam milidetik, di mana agen buffer data sebelum mengirimnya ke aliran Firehose.

    Kisaran nilai: 1.000–900.000 (1 detik sampai 15 menit)

    Default: 60.000 (1 menit)

    maxBufferSizeBytes

    Ukuran maksimum, dalam byte, di mana agen buffer data sebelum mengirimnya ke aliran Firehose.

    Kisaran nilai: 1–4.194.304 (4 MB)

    Default: 4.194.304 (4 MB)

    maxBufferSizeRecords

    Jumlah maksimum catatan yang agen buffer data sebelum mengirimnya ke aliran Firehose.

    Kisaran nilai: 1–500

    Default: 500

    minTimeBetweenFilePollsMillis

    Interval waktu, dalam milidetik, saat agen melakukan polling dan mengurai file yang dipantau untuk data baru.

    Kisaran nilai: 1 atau lebih

    Default: 100

    multiLineStartPattern

    Pola untuk mengidentifikasi awal catatan. Catatan dibuat dari baris yang cocok dengan pola tersebut dan baris berikutnya yang tidak cocok dengan pola tersebut. Nilai-nilai yang benar adalah ekspresi reguler. Secara default, setiap baris baru dalam file log diurai sebagai satu catatan.

    skipHeaderLines

    Jumlah baris yang dilewati agen untuk diurai di awal file yang dipantau.

    Kisaran nilai: 0 atau lebih

    Default: 0 (nol)

    truncatedRecordTerminator

    String yang digunakan agen untuk memotong rekaman yang diuraikan saat ukuran rekaman melebihi batas ukuran rekaman Amazon Data Firehose. (1.000 KB)

    Default: '\n' (baris baru)

    Dengan menentukan beberapa pengaturan konfigurasi aliran, Anda dapat mengonfigurasi agen untuk memantau beberapa direktori file dan mengirim data ke beberapa aliran. Dalam contoh konfigurasi berikut, agen memonitor dua direktori file dan mengirimkan data ke aliran data Kinesis dan aliran Firehose masing-masing. Anda dapat menentukan titik akhir yang berbeda untuk Kinesis Data Streams dan Amazon Data Firehose sehingga aliran data dan aliran Firehose Anda tidak perlu berada di Wilayah yang sama.

    { "cloudwatch.emitMetrics": true, "kinesis.endpoint": "https://your/kinesis/endpoint", "firehose.endpoint": "https://your/firehose/endpoint", "flows": [ { "filePattern": "/tmp/app1.log*", "kinesisStream": "yourkinesisstream" }, { "filePattern": "/tmp/app2.log*", "deliveryStream": "yourfirehosedeliverystream" } ] }

    Untuk informasi lebih rinci tentang penggunaan agen dengan Amazon Kinesis Data Streams, lihat Menulis ke Amazon Kinesis Data Streams dengan Agen Kinesis.

    Agen dapat memproses catatan yang diuraikan dari file yang dipantau sebelum mengirimnya ke aliran Firehose Anda. Anda dapat mengaktifkan fitur ini dengan menambahkan pengaturan konfigurasi dataProcessingOptions ke aliran file Anda. Satu atau lebih opsi pemrosesan dapat ditambahkan, dan dilakukan dalam urutan yang ditentukan.

    Agen mendukung opsi pemrosesan berikut. Karena agen adalah sumber terbuka, Anda dapat lebih mengembangkan dan memperluas pilihan pemrosesannya. Anda dapat mengunduh agen dari Agen Kinesis.

    Opsi Pemrosesan
    SINGLELINE

    Mengonversi catatan multi-baris untuk catatan baris tunggal dengan menghapus karakter baris baru, spasi di bagian paling depan, dan spasi di bagian paling belakang.

    { "optionName": "SINGLELINE" }
    CSVTOJSON

    Mengonversi rekaman dari format yang dipisahkan pembatas ke format. JSON

    { "optionName": "CSVTOJSON", "customFieldNames": [ "field1", "field2", ... ], "delimiter": "yourdelimiter" }
    customFieldNames

    [Wajib] Nama bidang yang digunakan sebagai kunci di setiap pasangan nilai JSON kunci. Misalnya, jika Anda menentukan ["f1", "f2"], catatan "v1, v2" dikonversi ke {"f1":"v1","f2":"v2"}.

    delimiter

    String yang digunakan sebagai pembatas dalam catatan. Default adalah koma (,).

    LOGTOJSON

    Mengonversi catatan dari format log ke JSON format. Format log yang didukung adalah Apache Common Log, Apache Combined Log, Apache Error Log, dan RFC3164 Syslog.

    { "optionName": "LOGTOJSON", "logFormat": "logformat", "matchPattern": "yourregexpattern", "customFieldNames": [ "field1", "field2", ] }
    logFormat

    [Diperlukan] Format entri log. Berikut adalah nilai yang mungkin:

    • COMMONAPACHELOG — Format Log Umum Apache. Setiap entri log memiliki pola berikut secara default: "%{host} %{ident} %{authuser} [%{datetime}] \"%{request}\" %{response} %{bytes}".

    • COMBINEDAPACHELOG — Format Log Gabungan Apache. Setiap entri log memiliki pola berikut secara default: "%{host} %{ident} %{authuser} [%{datetime}] \"%{request}\" %{response} %{bytes} %{referrer} %{agent}".

    • APACHEERRORLOG — Format Log Kesalahan Apache. Setiap entri log memiliki pola berikut secara default: "[%{timestamp}] [%{module}:%{severity}] [pid %{processid}:tid %{threadid}] [client: %{client}] %{message}".

    • SYSLOG— Format RFC3164 Syslog. Setiap entri log memiliki pola berikut secara default: "%{timestamp} %{hostname} %{program}[%{processid}]: %{message}".

    matchPattern

    Menimpa pola default untuk format log tertentu. Gunakan pengaturan ini untuk mengekstraksi nilai dari entri log jika nilai menggunakan format khusus. Jika menentukan matchPattern, Anda juga harus menentukan customFieldNames.

    customFieldNames

    Nama bidang kustom digunakan sebagai kunci di setiap pasangan nilai JSON kunci. Anda dapat menggunakan pengaturan ini untuk menentukan nama bidang untuk nilai-nilai yang diekstraksi dari matchPattern, atau menimpa nama bidang default dari format log yang telah ditetapkan sebelumnya.

    contoh : LOGTOJSON Konfigurasi

    Berikut adalah salah satu contoh LOGTOJSON konfigurasi untuk entri Apache Common Log yang dikonversi ke JSON format:

    { "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG" }

    Sebelum konversi:

    64.242.88.10 - - [07/Mar/2004:16:10:02 -0800] "GET /mailman/listinfo/hsdivision HTTP/1.1" 200 6291

    Setelah konversi:

    {"host":"64.242.88.10","ident":null,"authuser":null,"datetime":"07/Mar/2004:16:10:02 -0800","request":"GET /mailman/listinfo/hsdivision HTTP/1.1","response":"200","bytes":"6291"}
    contoh : LOGTOJSON Konfigurasi Dengan Bidang Kustom

    Berikut adalah contoh lain konfigurasi LOGTOJSON:

    { "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG", "customFieldNames": ["f1", "f2", "f3", "f4", "f5", "f6", "f7"] }

    Dengan pengaturan konfigurasi ini, entri Apache Common Log yang sama dari contoh sebelumnya dikonversi ke JSON format sebagai berikut:

    {"f1":"64.242.88.10","f2":null,"f3":null,"f4":"07/Mar/2004:16:10:02 -0800","f5":"GET /mailman/listinfo/hsdivision HTTP/1.1","f6":"200","f7":"6291"}
    contoh : Mengonversi Entri Log Umum Apache

    Konfigurasi alur berikut mengonversi entri Apache Common Log ke catatan satu baris dalam format: JSON

    { "flows": [ { "filePattern": "/tmp/app.log*", "deliveryStream": "my-delivery-stream", "dataProcessingOptions": [ { "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG" } ] } ] }
    contoh : Mengonversi Catatan Multi-Baris

    Konfigurasi aliran berikut mengurai catatan multi-baris yang baris pertamanya dimulai dengan "[SEQUENCE=". Setiap catatan dikonversi ke catatan baris tunggal terlebih dahulu. Kemudian, nilai-nilai diekstraksi dari catatan tersebut berdasarkan pembatas tab. Nilai yang diekstraksi dipetakan ke customFieldNames nilai tertentu untuk membentuk catatan satu baris dalam format. JSON

    { "flows": [ { "filePattern": "/tmp/app.log*", "deliveryStream": "my-delivery-stream", "multiLineStartPattern": "\\[SEQUENCE=", "dataProcessingOptions": [ { "optionName": "SINGLELINE" }, { "optionName": "CSVTOJSON", "customFieldNames": [ "field1", "field2", "field3" ], "delimiter": "\\t" } ] } ] }
    contoh : LOGTOJSON Konfigurasi dengan Pola Pencocokan

    Berikut adalah salah satu contoh LOGTOJSON konfigurasi untuk entri Apache Common Log dikonversi ke JSON format, dengan bidang terakhir (byte) dihilangkan:

    { "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG", "matchPattern": "^([\\d.]+) (\\S+) (\\S+) \\[([\\w:/]+\\s[+\\-]\\d{4})\\] \"(.+?)\" (\\d{3})", "customFieldNames": ["host", "ident", "authuser", "datetime", "request", "response"] }

    Sebelum konversi:

    123.45.67.89 - - [27/Oct/2000:09:27:09 -0400] "GET /java/javaResources.html HTTP/1.0" 200

    Setelah konversi:

    {"host":"123.45.67.89","ident":null,"authuser":null,"datetime":"27/Oct/2000:09:27:09 -0400","request":"GET /java/javaResources.html HTTP/1.0","response":"200"}

    Secara otomatis memulai agen pada sistem start up.

    sudo chkconfig aws-kinesis-agent on

    Memeriksa status agen:

    sudo service aws-kinesis-agent status

    Menghentikan agen:

    sudo service aws-kinesis-agent stop

    Membaca file log agen dari lokasi ini:

    /var/log/aws-kinesis-agent/aws-kinesis-agent.log

    Menghapus instalasi agen:

    sudo yum remove aws-kinesis-agent

    Apakah ada Agen Kinesis untuk Windows?

    Kinesis Agent untuk Windows adalah perangkat lunak yang berbeda dari Kinesis Agent untuk platform Linux.

    Mengapa Agen Kinesis melambat dan/atau meningkat? RecordSendErrors

    Ini biasanya karena pelambatan dari Kinesis. Periksa WriteProvisionedThroughputExceeded metrik untuk Kinesis Data Streams ThrottledRecords atau metrik untuk aliran Firehose. Setiap peningkatan dari 0 dalam metrik ini menunjukkan bahwa batas aliran perlu ditingkatkan. Untuk informasi selengkapnya, lihat batas Kinesis Data Stream dan aliran Firehose.

    Setelah Anda mengesampingkan pembatasan, lihat apakah Agen Kinesis dikonfigurasi untuk mengekor sejumlah besar file kecil. Ada penundaan ketika Agen Kinesis mengekor file baru, jadi Agen Kinesis harus membuntuti sejumlah kecil file yang lebih besar. Coba konsolidasikan file log Anda ke file yang lebih besar.

    Mengapa saya mendapatkan java.lang.OutOfMemoryError pengecualian?

    Agen Kinesis tidak memiliki cukup memori untuk menangani beban kerjanya saat ini. Cobalah meningkatkan JAVA_START_HEAP dan JAVA_MAX_HEAP masuk /usr/bin/start-aws-kinesis-agent dan memulai kembali agen.

    Mengapa saya mendapatkan IllegalStateException : connection pool shut down pengecualian?

    Agen Kinesis tidak memiliki koneksi yang cukup untuk menangani beban kerjanya saat ini. Coba tingkatkan maxConnections dan maxSendingThreads dalam pengaturan konfigurasi agen umum Anda di/etc/aws-kinesis/agent.json. Nilai default untuk bidang ini adalah 12 kali prosesor runtime yang tersedia. Lihat AgentConfiguration.java untuk mengetahui selengkapnya tentang pengaturan konfigurasi agen lanjutan.

    Bagaimana saya bisa men-debug masalah lain dengan Agen Kinesis?

    DEBUGlog level dapat diaktifkan di/etc/aws-kinesis/log4j.xml.

    Bagaimana cara mengonfigurasi Agen Kinesis?

    Semakin kecilmaxBufferSizeBytes, semakin sering Agen Kinesis akan mengirim data. Ini bisa bagus karena mengurangi waktu pengiriman catatan, tetapi juga meningkatkan permintaan per detik ke Kinesis.

    Mengapa Agen Kinesis mengirimkan catatan duplikat?

    Ini terjadi karena kesalahan konfigurasi dalam file tailing. Pastikan masing-masing hanya fileFlow’s filePattern cocok dengan satu file. Ini juga dapat terjadi jika logrotate mode yang digunakan dalam copytruncate mode. Coba ubah mode ke mode default atau buat untuk menghindari duplikasi. Untuk informasi selengkapnya tentang penanganan rekaman duplikat, lihat Menangani Rekaman Duplikat.