CloudWatch Log - 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.

CloudWatch Log

CloudWatch Peristiwa log dapat dikirim ke Firehose menggunakan filter CloudWatch berlangganan. Untuk informasi selengkapnya, lihat Filter langganan dengan Amazon Data Firehose.

CloudWatch Peristiwa log dikirim ke Firehose dalam format gzip terkompresi. Jika Anda ingin mengirimkan peristiwa log yang didekompresi ke tujuan Firehose, Anda dapat menggunakan fitur dekompresi di Firehose untuk mendekompresi Log secara otomatis. CloudWatch

penting

Saat ini, Firehose tidak mendukung pengiriman CloudWatch Log ke tujuan OpenSearch Layanan Amazon karena Amazon CloudWatch menggabungkan beberapa peristiwa log ke dalam satu catatan Firehose dan OpenSearch Layanan Amazon tidak dapat menerima beberapa peristiwa log dalam satu catatan. Sebagai alternatif, Anda dapat mempertimbangkan Menggunakan filter berlangganan untuk OpenSearch Layanan Amazon di CloudWatch Log.

Dekompresi Log CloudWatch

Jika Anda menggunakan Firehose untuk mengirimkan CloudWatch Log dan ingin mengirimkan data yang didekompresi ke tujuan aliran Firehose Anda, gunakan Konversi Format Data Firehose (Parket,) atau partisi Dinamis. ORC Anda harus mengaktifkan dekompresi untuk aliran Firehose Anda.

Anda dapat mengaktifkan dekompresi menggunakan AWS Management Console, AWS Command Line Interface atau AWS SDKs.

catatan

Jika Anda mengaktifkan fitur dekompresi pada stream, gunakan streaming tersebut secara eksklusif untuk filter langganan CloudWatch Log, dan bukan untuk Vded Logs. Jika Anda mengaktifkan fitur dekompresi pada aliran yang digunakan untuk menelan CloudWatch Log dan Log Penjual, konsumsi Log Penjual ke Firehose gagal. Fitur dekompresi ini hanya untuk CloudWatch Log.

Ekstraksi pesan setelah dekompresi Log CloudWatch

Saat Anda mengaktifkan dekompresi, Anda memiliki opsi untuk juga mengaktifkan ekstraksi pesan. Saat menggunakan ekstraksi pesan, Firehose menyaring semua metadata, seperti pemilik, loggroup, logstream, dan lainnya dari catatan CloudWatch Log yang didekompresi dan hanya mengirimkan konten di dalam bidang pesan. Jika Anda mengirimkan data ke tujuan Splunk, Anda harus mengaktifkan ekstraksi pesan untuk Splunk untuk mengurai data. Berikut ini adalah output sampel setelah dekompresi dengan dan tanpa ekstraksi pesan.

Gambar 1: Output sampel setelah dekompresi tanpa ekstraksi pesan:

{ "owner": "111111111111", "logGroup": "CloudTrail/logs", "logStream": "111111111111_CloudTrail/logs_us-east-1", "subscriptionFilters": [ "Destination" ], "messageType": "DATA_MESSAGE", "logEvents": [ { "id": "31953106606966983378809025079804211143289615424298221568", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root1\"}" }, { "id": "31953106606966983378809025079804211143289615424298221569", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root2\"}" }, { "id": "31953106606966983378809025079804211143289615424298221570", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root3\"}" } ] }

Gambar 2: Output sampel setelah dekompresi dengan ekstraksi pesan:

{"eventVersion":"1.03","userIdentity":{"type":"Root1"} {"eventVersion":"1.03","userIdentity":{"type":"Root2"} {"eventVersion":"1.03","userIdentity":{"type":"Root3"}

Mengaktifkan dan menonaktifkan dekompresi

Anda dapat mengaktifkan dan menonaktifkan dekompresi menggunakan AWS Management Console, AWS Command Line Interface atau AWS SDKs.

Mengaktifkan dekompresi pada aliran Firehose baru dari konsol

Untuk mengaktifkan dekompresi pada aliran Firehose baru menggunakan AWS Management Console
  1. Masuk ke AWS Management Console dan buka konsol Kinesis di /kinesis. https://console.aws.amazon.com

  2. Pilih Amazon Data Firehose di panel navigasi.

  3. Pilih Buat aliran Firehose.

  4. Di bawah Pilih sumber dan tujuan

    Sumber

    Sumber aliran Firehose Anda. Pilih salah satu sumber berikut:

    • Langsung PUT — Pilih opsi ini untuk membuat aliran Firehose yang ditulis langsung oleh aplikasi produser. Untuk daftar AWS layanan dan agen serta layanan open source yang terintegrasi dengan Direct PUT in Firehose, lihat bagian ini.

    • Aliran Kinesis: Pilih opsi ini untuk mengonfigurasi aliran Firehose yang menggunakan aliran data Kinesis sebagai sumber data. Anda kemudian dapat menggunakan Firehose untuk membaca data dengan mudah dari aliran data Kinesis yang ada dan memuatnya ke tujuan. Untuk informasi selengkapnya, lihat Menulis ke Firehose Menggunakan Kinesis Data Streams

    Destinasi

    Tujuan aliran Firehose Anda. Pilih salah satu cara berikut:

    • Amazon S3

    • Splunk

  5. Di bawah nama aliran Firehose, masukkan nama untuk streaming Anda.

  6. (Opsional) Di bawah Transform record:

    • Di bagian Decompress source records from Amazon CloudWatch Logs, pilih Aktifkan dekompresi.

    • Jika Anda ingin menggunakan ekstraksi pesan setelah dekompresi, pilih Aktifkan ekstraksi pesan.

Mengaktifkan dekompresi pada aliran Firehose yang ada dari konsol

Jika Anda memiliki aliran Firehose dengan fungsi Lambda untuk melakukan dekompresi, Anda dapat menggantinya dengan fitur dekompresi Firehose. Sebelum Anda melanjutkan, tinjau kode fungsi Lambda Anda untuk mengonfirmasi bahwa kode tersebut hanya melakukan dekompresi atau ekstraksi pesan. Output dari fungsi Lambda Anda akan terlihat mirip dengan contoh yang ditunjukkan pada Gambar 1 atau Gambar 2 di bagian sebelumnya. Jika output terlihat serupa, Anda dapat mengganti fungsi Lambda menggunakan langkah-langkah berikut.

  1. Ganti fungsi Lambda Anda saat ini dengan cetak biru ini. Fungsi Lambda cetak biru baru secara otomatis mendeteksi apakah data yang masuk dikompresi atau didekompresi. Ini hanya melakukan dekompresi jika data inputnya dikompresi.

  2. Nyalakan dekompresi menggunakan opsi Firehose bawaan untuk dekompresi.

  3. Aktifkan CloudWatch metrik untuk aliran Firehose Anda jika belum diaktifkan. Pantau metrik CloudWatchProcessorLambda _ IncomingCompressedData dan tunggu hingga metrik ini berubah menjadi nol. Ini mengonfirmasi bahwa semua data input yang dikirim ke fungsi Lambda Anda didekompresi dan fungsi Lambda tidak lagi diperlukan.

  4. Hapus transformasi data Lambda karena Anda tidak lagi membutuhkannya untuk mendekompresi aliran Anda.

Menonaktifkan dekompresi dari konsol

Untuk menonaktifkan dekompresi pada aliran data menggunakan AWS Management Console

  1. Masuk ke AWS Management Console dan buka konsol Kinesis di /kinesis. https://console.aws.amazon.com

  2. Pilih Amazon Data Firehose di panel navigasi.

  3. Pilih aliran Firehose yang ingin Anda edit.

  4. Pada halaman rincian aliran Firehose, pilih tab Konfigurasi.

  5. Di bagian Transform and convert records, pilih Edit.

  6. Di bawah Dekompresi catatan sumber dari Amazon CloudWatch Logs, hapus Aktifkan dekompresi, lalu pilih Simpan perubahan.

FAQ

Apa yang terjadi pada data sumber jika terjadi kesalahan selama dekompresi?

Jika Amazon Data Firehose tidak dapat mendekompresi rekaman, rekaman akan dikirimkan sebagaimana adanya (dalam format terkompresi) ke bucket S3 error yang Anda tentukan selama waktu pembuatan aliran Firehose. Seiring dengan catatan, objek yang dikirimkan juga menyertakan kode kesalahan dan pesan kesalahan dan objek ini akan dikirim ke awalan bucket S3 yang disebut. decompression-failed Firehose akan terus memproses catatan lain setelah dekompresi rekaman yang gagal.

Apa yang terjadi pada data sumber jika terjadi kesalahan dalam pipa pemrosesan setelah dekompresi berhasil?

Jika Amazon Data Firehose terjadi kesalahan dalam langkah pemrosesan setelah dekompresi seperti Partisi Dinamis dan Konversi Format Data, rekaman akan dikirimkan dalam format terkompresi ke bucket S3 kesalahan yang Anda tentukan selama waktu pembuatan aliran Firehose. Seiring dengan catatan, objek yang dikirim juga mencakup kode kesalahan dan pesan kesalahan.

Bagaimana Anda diberitahu jika terjadi kesalahan atau pengecualian?

Jika terjadi kesalahan atau pengecualian selama dekompresi, jika Anda mengonfigurasi CloudWatch Log, Firehose akan mencatat pesan CloudWatch kesalahan ke dalam Log. Selain itu, Firehose mengirimkan metrik ke CloudWatch metrik yang dapat Anda pantau. Anda juga dapat secara opsional membuat alarm berdasarkan metrik yang dipancarkan oleh Firehose.

Apa yang terjadi jika put operasi tidak berasal dari CloudWatch Log?

Ketika pelanggan puts tidak berasal dari CloudWatch Log, maka pesan kesalahan berikut dikembalikan:

Put to Firehose failed for AccountId: <accountID>, FirehoseName: <firehosename> because the request is not originating from allowed source types.

Metrik apa yang dipancarkan Firehose untuk fitur dekompresi?

Firehose memancarkan metrik untuk dekompresi setiap catatan. Anda harus memilih periode (1 menit), statistik (jumlah), rentang tanggal untuk mendapatkan jumlah DecompressedRecords gagal atau berhasil atau DecompressedBytes gagal atau berhasil. Untuk informasi selengkapnya, lihat CloudWatch Metrik Dekompresi Log.