View a markdown version of this page

Prosesor transformasi - Amazon CloudWatch

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

Prosesor transformasi

Prosesor transformasi memodifikasi struktur peristiwa log dengan menambahkan, menyalin, memindahkan, atau menghapus bidang.

prosesor add_entry

Menambahkan pasangan kunci-nilai statis ke peristiwa log. Paling banyak 1 add_entries prosesor dapat ditambahkan ke pipa.

Konfigurasi

Konfigurasikan prosesor add_entry dengan parameter berikut:

processor: - add_entries: entries: - key: "environment" value: "production" overwrite_if_key_exists: false
Parameter
entries(diperlukan)

Array pasangan kunci-nilai untuk ditambahkan ke setiap peristiwa log.

entries[].key(diperlukan)

Nama bidang yang akan ditambahkan ke acara log. Mendukung bidang bersarang menggunakan notasi titik.

entries[].value(diperlukan)

Nilai statis untuk ditetapkan ke kunci.

entries[].overwrite_if_key_exists (opsional)

Bendera Boolean yang menentukan perilaku ketika kunci sudah ada. Defaultnya false.

when (opsional)

Processor-level ekspresi kondisional. Ketika ditentukan, seluruh prosesor dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

entries[].when (opsional)

Entry-level ekspresi kondisional. Ketika ditentukan, hanya entri ini yang dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

entries[].when_else (opsional)

Entri fallback yang dieksekusi hanya ketika tidak ada when kondisi lain dalam prosesor yang sama yang cocok. Nilai ekspresi mengidentifikasi when kondisi mana yang harus dipertimbangkan. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

pengolah copy_values

Menyalin nilai dari satu bidang ke bidang lainnya. Paling banyak 1 copy_values prosesor dapat ditambahkan ke pipa.

Konfigurasi

Konfigurasikan prosesor copy_values dengan parameter berikut:

processor: - copy_values: entries: - from_key: "user_id" to_key: "backup_user" overwrite_if_to_key_exists: false
Parameter
entries(diperlukan)

Array operasi penyalinan untuk dilakukan pada setiap peristiwa log.

entries[].from_key(diperlukan)

Nama bidang untuk menyalin nilainya. Menggunakan notasi titik untuk bidang bersarang.

entries[].to_key(diperlukan)

Nama bidang untuk menyalin nilainya. Akan membuat struktur bersarang jika menggunakan notasi titik.

entries[].overwrite_if_to_key_exists (opsional)

Bendera Boolean mengendalikan perilaku ketika bidang target sudah ada. Defaultnya false.

when (opsional)

Processor-level ekspresi kondisional. Ketika ditentukan, seluruh prosesor dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

entries[].when (opsional)

Entry-level ekspresi kondisional. Ketika ditentukan, hanya entri ini yang dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

entries[].when_else (opsional)

Entri fallback yang dieksekusi hanya ketika tidak ada when kondisi lain dalam prosesor yang sama yang cocok. Nilai ekspresi mengidentifikasi when kondisi mana yang harus dipertimbangkan. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

pengolah delete_entry

Menghapus bidang tertentu dari peristiwa log.

Konfigurasi

Konfigurasikan prosesor delete_entry dengan parameter berikut:

processor: - delete_entries: with_keys: ["temp_field", "debug_info"]
Parameter
with_keys(diperlukan)

Array nama bidang untuk dihapus dari setiap peristiwa log. Mendukung penghapusan bidang bersarang menggunakan notasi titik.

when (opsional)

Ekspresi bersyarat yang menentukan apakah prosesor ini dieksekusi. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

prosesor move_keys

Memindahkan bidang dari satu lokasi ke lokasi lainnya.

Konfigurasi

Konfigurasikan prosesor move_keys dengan parameter berikut:

processor: - move_keys: entries: - from_key: "old_field" to_key: "new_field" overwrite_if_to_key_exists: true
Parameter
entries(diperlukan)

Array operasi pindahan. Maksimal 5 entri.

entries[].from_key(diperlukan)

Nama bidang sumber. Maksimal 128 karakter.

entries[].to_key(diperlukan)

Nama bidang target. Maksimal 128 karakter.

entries[].overwrite_if_to_key_exists (opsional)

Apakah akan mengganti bidang target yang ada.

when (opsional)

Processor-level ekspresi kondisional. Ketika ditentukan, seluruh prosesor dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

entries[].when (opsional)

Entry-level ekspresi kondisional. Ketika ditentukan, hanya entri ini yang dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

entries[].when_else (opsional)

Entri fallback yang dieksekusi hanya ketika tidak ada when kondisi lain dalam prosesor yang sama yang cocok. Nilai ekspresi mengidentifikasi when kondisi mana yang harus dipertimbangkan. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

meratakan prosesor

Meratakan struktur objek bersarang.

Konfigurasi

Konfigurasikan prosesor flatten dengan parameter berikut:

processor: - flatten: source: "metadata" target: "flattened" remove_processed_fields: true exclude_keys: ["sensitive_data"]
Parameter
source(diperlukan)

Bidang yang berisi objek bersarang untuk diratakan.

target(diperlukan)

Awalan bidang target untuk kunci yang diratakan.

remove_processed_fields (opsional)

Apakah akan menghapus bidang bersarang asli setelah meratakan.

exclude_keys (opsional)

Array kunci untuk dikecualikan dari perataan. Maksimal 20 tombol, masing-masing hingga 128 karakter.

when (opsional)

Ekspresi bersyarat yang menentukan apakah prosesor ini dieksekusi. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

prosesor pencarian

Memperkaya peristiwa log dengan data dari tabel pencarian CloudWatch Logs. Prosesor mencocokkan bidang dalam peristiwa log Anda dengan bidang di tabel pencarian dan menambahkan bidang tertentu ke peristiwa log Anda. Gunakan prosesor ini untuk skenario pengayaan data seperti memetakan ID pengguna ke detail pengguna, kode produk ke informasi produk, atau kode kesalahan ke deskripsi kesalahan. Paling banyak 1 lookup prosesor dapat ditambahkan ke pipa.

catatan

Jika tabel pencarian digunakan dalam pipeline, Anda harus memberikan peran eksekusi dengan logs:GetLookupTable izin pada tabel. Untuk informasi selengkapnya, lihat CloudWatch kebijakan dan izin IAM pipeline.

Konfigurasi

Konfigurasikan prosesor pencarian dengan parameter berikut:

processor: - lookup: lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:my_lookup_table" match_keys: - log_key: "src_ip" lookup_key: "ip_address" entries: - source: "hostname" target: "src_hostname" overwrite_if_exists: true
Parameter
lookup_table(diperlukan)

ARN dari tabel CloudWatch pencarian Logs untuk digunakan untuk pengayaan. Panjang maksimum adalah 2048 karakter.

match_keys(diperlukan)

Array pasangan kunci yang menentukan cara mencocokkan bidang peristiwa log dengan bidang tabel pencarian. Minimal 1, maksimum 5 tombol kecocokan. Ketika beberapa kunci kecocokan ditentukan, baris tabel pencarian harus cocok dengan semua kunci untuk menghasilkan hasil (logika AND).

match_keys[].log_key(diperlukan)

Nama bidang dalam acara log yang akan dicocokkan. Maksimal 128 karakter.

match_keys[].lookup_key(diperlukan)

Nama kolom dalam tabel pencarian untuk dicocokkan. Maksimal 128 karakter.

entries(diperlukan)

Array bidang untuk ditambahkan ke peristiwa log dari baris tabel pencarian yang cocok. Minimal 1, maksimal 10 entri.

entries[].source(diperlukan)

Nama kolom dalam tabel pencarian untuk mengambil nilainya. Maksimal 128 karakter.

entries[].target (opsional)

Nama bidang yang akan ditambahkan ke acara log. Jika tidak ditentukan, nama source kolom digunakan sebagai nama bidang. Maksimal 128 karakter.

entries[].overwrite_if_exists (opsional)

Bendera Boolean yang menentukan perilaku ketika bidang target sudah ada dalam peristiwa log. Defaultnya false.

when (opsional)

Ekspresi bersyarat yang menentukan apakah prosesor ini dieksekusi. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

Contoh

Pertimbangkan tabel pencarian bernama network_assets dengan baris berikut:

alamat ip hostname owner lokasi
10.0.1.12 web-server-01 tim-alfa us-east-1
10.0.2.45 db-server-03 tim-beta us-west-2
10.0.3.78 cache-node-07 tim-alfa eu-west-1

Mengingat peristiwa log berikut:

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048 }

Dan konfigurasi prosesor berikut:

processor: - lookup: lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:network_assets" match_keys: - log_key: "src_ip" lookup_key: "ip_address" entries: - source: "hostname" target: "src_hostname" - source: "owner" - source: "location" target: "src_region" overwrite_if_exists: false

Prosesor menghasilkan peristiwa log yang diperkaya berikut:

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048, "src_hostname": "db-server-03", "owner": "team-beta", "src_region": "us-west-2" }
Izin IAM

Ketika pipeline menggunakan prosesor pencarian, peran eksekusi pipeline harus menyertakan logs:GetLookupTable izin untuk tabel yang direferensikan. Contoh pernyataan kebijakan berikut memberikan izin ini:

{ "Effect": "Allow", "Action": "logs:GetLookupTable", "Resource": "arn:aws:logs:<region>:<account-id>:lookup-table:<table-name>" }

prosesor geoip

Prosesor geoip memperkaya peristiwa log dengan data lokasi geografis berdasarkan alamat IP. Prosesor menggunakan MaxMind database untuk menyelesaikan alamat IP ke informasi geografis seperti kota, negara, benua, koordinat, dan rincian nomor sistem otonom (ASN). Gunakan prosesor ini untuk analisis lalu lintas jaringan, pengayaan lokasi pengguna, dan skenario investigasi keamanan.

Konfigurasi

Konfigurasikan prosesor geoip dengan parameter berikut:

processor: - geoip: entries: - source: "client_ip" target: "client_geo" include_fields: - "city_name" - "country_name" - "country_iso_code" - "continent_name" - "latitude" - "longitude" when: '.client_ip != "127.0.0.1"'
Parameter
entries(diperlukan)

Array objek entri yang menentukan bidang IP mana yang akan diperkaya dengan data geografis. Minimal 1, maksimal 10 entri.

entries[].source(diperlukan)

Nama bidang dalam peristiwa log yang berisi alamat IP yang akan dicari. Harus mereferensikan alamat IPv4 atau IPv6 yang valid. Maksimal 128 karakter.

entries[].target(diperlukan)

Nama bidang tempat prosesor menulis data pengayaan geografis dalam peristiwa log. Maksimal 128 karakter.

entries[].include_fields(diperlukan)

Array bidang geografis untuk disertakan dalam hasil pengayaan. Minimal 1, maksimum 12 bidang. Bidang-bidang berikut tersedia:

  • continent_code— kode Two-letter benua (misalnya, “NA”).

  • continent_name— Nama benua (misalnya, “Amerika Utara”).

  • country_name— Nama negara (misalnya, “Amerika Serikat”).

  • country_iso_code— Kode negara ISO 3166-1 alpha-2 (misalnya, “AS”).

  • city_name— Nama kota (misalnya, “Seattle”).

  • postal_code— Kode pos yang terkait dengan lokasi alamat IP.

  • time_zone— Nama zona waktu IANA (misalnya, "America/Los_Angeles”).

  • latitude— Koordinat lintang lokasi alamat IP.

  • longitude— Koordinat bujur dari lokasi alamat IP.

  • network— Notasi CIDR dari jaringan yang terkait dengan alamat IP.

  • asn— Nomor sistem otonom yang terkait dengan alamat IP.

  • asn_organization— Nama organisasi yang terkait dengan nomor sistem otonom.

entries[].when (opsional)

Ekspresi bersyarat yang menentukan apakah entri ini dieksekusi. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

when (opsional)

Top-level ekspresi kondisional yang menentukan apakah prosesor ini mengeksekusi. Panjang maksimum adalah 256 karakter. Lihat Sintaks ekspresi untuk pemrosesan bersyarat.

Contoh

Contoh berikut menunjukkan contoh peristiwa log dengan bidang alamat IP:

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "203.0.113.50", "dst_ip": "198.51.100.25", "action": "ALLOW", "bytes": 4096 }

Konfigurasi prosesor berikut memetakan bidang IP sumber dan tujuan ke target pengayaan geografis:

processor: - geoip: entries: - source: "src_ip" target: "src_geo" include_fields: - "city_name" - "country_name" - "country_iso_code" - "latitude" - "longitude" - "asn" - "asn_organization" - source: "dst_ip" target: "dst_geo" include_fields: - "country_name" - "country_iso_code"

Prosesor menghasilkan peristiwa log yang diperkaya berikut:

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "203.0.113.50", "dst_ip": "198.51.100.25", "action": "ALLOW", "bytes": 4096, "src_geo": { "city_name": "Seattle", "country_name": "United States", "country_iso_code": "US", "latitude": 47.6062, "longitude": -122.3321, "asn": 16509, "asn_organization": "Amazon.com, Inc." }, "dst_geo": { "country_name": "Germany", "country_iso_code": "DE" } }