

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 剖析器處理器
<a name="parser-processors"></a>

Parser 處理器會將原始或半結構化日誌資料轉換為結構化格式。每個管道最多可以有一個剖析器處理器，這必須是管道中的第一個處理器。

**不支援條件式處理**  
Parser 處理器 (Grok 除外） 不支援使用 `when` 參數的條件式處理。這包括 OCSF、CSV、JSON、KeyValue、VPC、Route53、WAF、Postgres 和 CloudFront 剖析器。如需詳細資訊，請參閱[條件式處理的表達式語法](conditional-processing.md)。

## OCSF 處理器
<a name="ocsf-processor"></a>

根據開放網路安全結構描述架構 (OCSF) 標準來剖析和轉換日誌資料。

**Configuration**  
使用下列參數設定 OCSF 處理器：

```
processor:
  - ocsf:
      version: "1.5"
      mapping_version: 1.5.0
      schema:
          microsoft_office365_management_activity:
```Parameters

`version` (必要)  
用於轉換的 OCSF 結構描述版本。必須為 1.5

`mapping_version` (必要)  
用於轉換的 OCSF 映射版本。必須是 1.5.0。

`schema` (必要)  
指定資料來源類型的結構描述物件。支援的結構描述取決於管道來源類型 - 每個來源類型都有自己的一組相容 OCSF 結構描述。您必須使用符合管道來源類型的結構描述。

此資料表列出支援的結構描述組合。


| 管道來源類型 | 支援的結構描述 | 版本 | 映射版本 | 
| --- | --- | --- | --- | 
| cloudwatch\$1logs | cloud\$1trail: | 1.5 | 非必要 | 
| cloudwatch\$1logs | route53\$1resolver: | 1.5 | 非必要 | 
| cloudwatch\$1logs | vpc\$1flow: | 1.5 | 非必要 | 
| cloudwatch\$1logs | eks\$1audit: | 1.5 | 非必要 | 
| cloudwatch\$1logs | aws\$1waf: | 1.5 | 非必要 | 
| s3 | 任何 OCSF 結構描述 | 任何 | 任何 | 
| microsoft\$1office365 | microsoft\$1office365: | 1.5 | 1.5.0 | 
| microsoft\$1entraid | microsoft\$1entraid: | 1.5 | 1.5.0 | 
| microsoft\$1windows\$1event | microsoft\$1windows\$1event: | 1.5 | 1.5.0 | 
| paloaltonetworks\$1nextgenerationfirewall | paloaltonetworks\$1nextgenerationfirewall: | 1.5 | 1.5.0 | 
| okta\$1auth0 | okta\$1auth0: | 1.5 | 1.5.0 | 
| okta\$1sso | okta\$1sso: | 1.5 | 1.5.0 | 
| crowdstrike\$1falcon | crowdstrike\$1falcon: | 1.5 | 1.5.0 | 
| github\$1auditlogs | github\$1auditlogs: | 1.5 | 1.5.0 | 
| sentinelone\$1endpointsecurity | sentinelone\$1endpointsecurity: | 1.5 | 1.5.0 | 
| servicenow\$1cmdb | servicenow\$1cmdb: | 1.5 | 1.5.0 | 
| wiz\$1cnapp | wiz\$1cnapp: | 1.5 | 1.5.0 | 
| zscaler\$1internetaccess | zscaler\$1internetaccess: | 1.5 | 1.5.0 | 

## CSV 處理器
<a name="csv-processor"></a>

將 CSV 格式的資料剖析為結構化欄位。

**Configuration**  
使用下列參數設定 CSV 處理器：

```
processor:
  - csv:      
      column_names: ["col1", "col2", "col3"]
      delimiter: ","
      quote_character: '"'
```Parameters

`column_names` (選用)  
剖析欄位的資料欄名稱陣列。最多 100 個資料欄，每個名稱最多 128 個字元。如果未提供，則預設為 column\$11、Column\$12 等。

`delimiter` (選用)  
用來分隔 CSV 欄位的字元。必須是單一字元。預設為逗號 (，)。

`quote_character` (選用)  
用來引號包含分隔符號的 CSV 欄位的字元。必須是單一字元。預設為雙引號 (")。

若要使用處理器而不指定其他參數，請使用下列命令：

```
processor:
  - csv: {}
```

## Grok 處理器
<a name="grok-processor"></a>

使用 Grok 模式剖析非結構化資料。每個管道最多支援 1 個 Grok。如需 CloudWatch Logs 中 Grok 轉換器的詳細資訊，請參閱*CloudWatch*[《CloudWatch Logs 使用者指南》中的處理器。](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html)

**Configuration**  
使用下列參數設定 Grok 處理器：

當資料來源是字典時，您可以使用此組態：

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

當資料來源為 CloudWatch Logs 時，您可以使用此組態：

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

`match` (必要)  
使用 Grok 模式進行欄位映射。僅允許一個欄位映射。

`match.<field>` (必要)  
具有單一 Grok 模式的陣列。每個模式最多 512 個字元。

`when` (選用)  
決定此處理器是否執行的條件式表達式。長度上限為 256 個字元。請參閱 [條件式處理的表達式語法](conditional-processing.md)。

**重要**  
如果在管道中使用 Grok 處理器做為剖析器 （第一個處理器），且其`when`條件評估為 false，則整個管道不會針對該日誌事件執行。剖析器必須執行 ，下游處理器才能接收結構化資料。

## VPC 處理器
<a name="vpc-processor"></a>

將 VPC 流程日誌資料剖析為結構化欄位。

**Configuration**  
使用下列參數設定 VPC 處理器：

```
processor:
  - parse_vpc: {}
```

## JSON 處理器
<a name="json-processor"></a>

將 JSON 資料剖析為結構化欄位。

**Configuration**  
使用下列參數設定 JSON 處理器：

```
processor:
  - parse_json:
      source: "message"
      destination: "parsed_json"
```Parameters

`source` (選用)  
包含要剖析之 JSON 資料的欄位。如果省略，則會處理整個日誌訊息

`destination` (選用)  
將存放已剖析 JSON 的欄位。如果省略，剖析的欄位會新增至根層級

## Route 53 處理器
<a name="route53-processor"></a>

將 Route 53 解析程式日誌資料剖析至結構化欄位。

**Configuration**  
使用下列參數設定 Route 53 處理器：

```
processor:
  - parse_route53: {}
```

## 鍵值處理器
<a name="key-value-processor"></a>

將鍵值對格式化資料剖析為結構化欄位。

**Configuration**  
使用下列參數設定鍵值處理器：

```
processor:
  - key_value:
      source: "message"
      destination: "parsed_kv"
      field_delimiter: "&"
      key_value_delimiter: "="
```Parameters

`source` (選用)  
包含鍵值資料的欄位。最多 128 個字元。

`destination` (選用)  
剖析鍵值對的目標欄位。最多 128 個字元。

`field_delimiter` (選用)  
分割鍵/值對的模式。最多 10 個字元。

`key_value_delimiter` (選用)  
從值分割索引鍵的模式。最多 10 個字元。

`overwrite_if_destination_exists` (選用)  
是否覆寫現有的目的地欄位。

`prefix` (選用)  
要新增至擷取金鑰的字首。最多 128 個字元。

`non_match_value` (選用)  
沒有相符項目之金鑰的值。最多 128 個字元。

若要使用處理器而不指定其他參數，請使用下列命令：

```
processor:
  - key_value: {}
```