View a markdown version of this page

Prosesor parser - Amazon CloudWatch

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

Prosesor parser

Prosesor parser mengonversi data log mentah atau semi-terstruktur menjadi format terstruktur. Setiap pipeline dapat memiliki paling banyak satu prosesor parser utama, yang harus menjadi prosesor pertama dalam pipeline. Parser XML adalah pengecualian: ia beroperasi pada bidang yang dihasilkan oleh parser utama dan Anda dapat menambahkan paling banyak 5 instance ke satu pipeline.

Pemrosesan bersyarat tidak didukung

Prosesor parser (kecuali Grok dan XML) tidak mendukung pemrosesan bersyarat dengan parameter. when Ini termasuk OCSF, CSV, JSON,, VPC KeyValue, Route53, RDS, WAF, Postgres, dan Amazon parser. CloudFront Untuk informasi selengkapnya, lihat Sintaks ekspresi untuk pemrosesan bersyarat.

Prosesor OCSF

Mengurai dan mengubah data log sesuai dengan standar Open Cybersecurity Schema Framework (OCSF).

Konfigurasi

Konfigurasikan prosesor OCSF dengan parameter berikut:

processor: - ocsf: version: "1.5" mapping_version: 1.5.0 schema: microsoft_office365_management_activity:
Parameter
version(diperlukan)

Versi skema OCSF untuk digunakan untuk transformasi. Harus 1,5

mapping_version(diperlukan)

Versi pemetaan OCSF untuk transformasi. Harus 1.5.0.

schema(diperlukan)

Objek skema menentukan jenis sumber data. Skema yang didukung bergantung pada jenis sumber pipa - setiap jenis sumber memiliki rangkaian skema OCSF yang kompatibel. Anda harus menggunakan skema yang cocok dengan jenis sumber pipeline Anda.

Tabel ini mencantumkan kombinasi skema yang didukung.

Jenis sumber pipa Skema yang Didukung Versi Versi Pemetaan
cloudwatch_logs cloud_trail: 1.5 Tidak diperlukan
cloudwatch_logs route53_resolver: 1.5 Tidak diperlukan
cloudwatch_logs vpc_flow: 1.5 Tidak diperlukan
cloudwatch_logs eks_audit: 1.5 Tidak diperlukan
cloudwatch_logs aws_waf: 1.5 Tidak diperlukan
cloudwatch_logs aws_nlb: 1.5 Tidak diperlukan
s3 Skema OCSF apa pun Setiap Setiap
microsoft_office365 microsoft_office365: 1.5 1.5.0
microsoft_entraid microsoft_entraid: 1.5 1.5.0
microsoft_windows_event microsoft_windows_event: 1.5 1.5.0
paloaltonetworks_nextgenerationfirewall paloaltonetworks_nextgenerationfirewall: 1.5 1.5.0
okta_auth0 okta_auth0: 1.5 1.5.0
okta_sso okta_sso: 1.5 1.5.0
crowdstrike_falcon crowdstrike_falcon: 1.5 1.5.0
github_auditlogs github_auditlogs: 1.5 1.5.0
sentinelone_endpointsecurity sentinelone_endpointsecurity: 1.5 1.5.0
servicenow_cmdb servicenow_cmdb: 1.5 1.5.0
wiz_cnapp wiz_cnapp: 1.5 1.5.0
zscaler_internetaccess zscaler_internetaccess: 1.5 1.5.0

Prosesor CSV

Mengurai data berformat CSV ke bidang terstruktur.

Konfigurasi

Konfigurasikan prosesor CSV dengan parameter berikut:

processor: - csv: column_names: ["col1", "col2", "col3"] delimiter: "," quote_character: '"'
Parameter
column_names (opsional)

Array nama kolom untuk bidang yang diurai. Maksimal 100 kolom, masing-masing nama hingga 128 karakter. Jika tidak disediakan, default ke column_1, column_2, dan seterusnya.

delimiter (opsional)

Karakter digunakan untuk memisahkan bidang CSV. Harus satu karakter. Defaultnya adalah koma (,).

quote_character (opsional)

Karakter yang digunakan untuk mengutip bidang CSV yang berisi pembatas. Harus satu karakter. Defaultnya adalah double quote (“).

Untuk menggunakan prosesor tanpa menentukan parameter tambahan, gunakan perintah berikut:

processor: - csv: {}

Prosesor Grok

Mengurai data tidak terstruktur menggunakan pola Grok. Paling banyak 1 Grok didukung per pipa. Untuk detail tentang transformator Grok di CloudWatch Log lihat Pro sesor yang dapat Anda gunakan di Panduan CloudWatch Pengguna Log.

Konfigurasi

Konfigurasikan prosesor Grok dengan parameter berikut:

Bila sumber data adalah kamus, Anda dapat menggunakan konfigurasi ini:

processor: - grok: match: source_key: ["%{WORD:level} %{GREEDYDATA:msg}"]

Bila sumber datanya adalah CloudWatch Logs, Anda dapat menggunakan konfigurasi ini:

processor: - grok: match: source_key: ["%{WORD:level} %{GREEDYDATA:msg}"]
Parameter
match(diperlukan)

Pemetaan lapangan dengan pola Grok. Hanya satu pemetaan bidang yang diizinkan.

match.<field>(diperlukan)

Array dengan pola Grok tunggal. Maksimal 512 karakter per pola.

when (opsional)

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

penting

Jika prosesor Grok digunakan sebagai parser (prosesor pertama) dalam pipeline dan kondisinya dievaluasi when menjadi false, seluruh pipeline tidak dieksekusi untuk peristiwa log itu. Parser harus berjalan agar prosesor hilir menerima data terstruktur.

Prosesor VPC

Mengurai data Log Aliran VPC ke bidang terstruktur.

Konfigurasi

Konfigurasikan prosesor VPC dengan parameter berikut:

processor: - parse_vpc: {}

Prosesor JSON

Mengurai data JSON ke bidang terstruktur.

Konfigurasi

Konfigurasikan prosesor JSON dengan parameter berikut:

processor: - parse_json: source: "message" destination: "parsed_json"
Parameter
source (opsional)

Bidang yang berisi data JSON untuk diurai. Jika dihilangkan, seluruh pesan log diproses

destination (opsional)

Bidang tempat JSON yang diurai akan disimpan. Jika dihilangkan, bidang yang diurai ditambahkan ke level root

Prosesor Route 53

Mengurai data log resolver Route 53 ke bidang terstruktur.

Konfigurasi

Konfigurasikan prosesor Route 53 dengan parameter berikut:

processor: - parse_route53: {}

Prosesor Amazon RDS

Mengurai data log Amazon RDS Aurora ke bidang terstruktur. Pro parse_rds sesor hanya didukung ketika pipa sudah data_source_name adaamazon_rds. Ini menerapkan logika penguraian yang cocok dengan pipeline. data_source_type

Konfigurasi

Konfigurasikan prosesor Amazon RDS dengan parameter berikut:

processor: - parse_rds: {}

Key-value prosesor

Mengurai data yang diformat pasangan kunci-nilai ke dalam bidang terstruktur.

Konfigurasi

Konfigurasikan prosesor nilai kunci dengan parameter berikut:

processor: - key_value: source: "message" destination: "parsed_kv" field_delimiter: "&" key_value_delimiter: "="
Parameter
source (opsional)

Bidang yang berisi data nilai kunci. Maksimal 128 karakter.

destination (opsional)

Bidang target untuk pasangan kunci-nilai yang diurai. Maksimal 128 karakter.

field_delimiter (opsional)

Pola untuk membagi pasangan kunci-nilai. Maksimal 10 karakter.

key_value_delimiter (opsional)

Pola untuk memisahkan kunci dari nilai. Maksimal 10 karakter.

overwrite_if_destination_exists (opsional)

Apakah akan mengganti bidang tujuan yang ada.

prefix (opsional)

Awalan untuk ditambahkan ke kunci yang diekstraksi. Maksimal 128 karakter.

non_match_value (opsional)

Nilai untuk kunci tanpa korek api. Maksimal 128 karakter.

Untuk menggunakan prosesor tanpa menentukan parameter tambahan, gunakan perintah berikut:

processor: - key_value: {}

Pengurai XML

Gunakan parser XML untuk mengonversi bidang tertentu yang berisi string XML ke format JSON. Gunakan parser XML saat peristiwa log berisi bidang XML tertanam yang ingin Anda kueri sebagai data terstruktur. Parser XML beroperasi pada bidang bernama yang sudah berisi string XML. Tempatkan parser ini setelah parser utama dalam pipeline. Anda dapat menambahkan paling banyak 5 parse_xml parser ke satu pipeline.

Konfigurasi

Konfigurasikan parser XML dengan parameter berikut:

processor: - parse_json: source: "@message" - parse_xml: source: "body" destination: "parsed_xml"
Parameter
source (Wajib)

Menentukan bidang yang berisi string XML untuk diurai. Gunakan notasi titik untuk mengakses bidang bersarang. Misalnya, event.body. Maksimal 128 karakter.

destination (Opsional)

Menentukan bidang tempat struktur XML yang diurai disimpan. Jika Anda menghilangkan parameter ini, bidang yang diurai ditambahkan ke tingkat root. Maksimal 128 karakter.

when (Opsional)

Ekspresi bersyarat yang menentukan apakah parser ini berjalan. Panjang maksimum adalah 256 karakter. Untuk informasi selengkapnya, lihat Sintaks ekspresi untuk pemrosesan bersyarat.

Contoh - keluaran parser XML

Diberikan peristiwa log JSON berikut dengan bidang XML tertanam:

{ "body": "<Person id=\"123\" active=\"true\"><name>John</name><age>30</age></Person>" }

Dengan konfigurasi berikut:

processor: - parse_json: source: "@message" - parse_xml: source: "body" destination: "parsed_xml"

XML parser menghasilkan output sebagai berikut:

{ "body": "<Person id=\"123\" active=\"true\"><name>John</name><age>30</age></Person>", "parsed_xml": { "id": "123", "active": "true", "name": "John", "age": "30" } }
Catatan perilaku
Kedalaman bersarang

Parser XML mendukung kedalaman sarang maksimum 25 level. Elemen yang bersarang di luar batas ini menghasilkan kesalahan.

Penanganan kesalahan

XML yang salah format tidak gagal dalam pipeline. Parser mempertahankan yang asli @message dan @pipeline.processing.status = "error" mengatur acara.