

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di una pipeline di OpenSearch ingestione con Fluentd
<a name="configure-client-fluentd"></a>

Fluentd è un ecosistema di raccolta dati open source che fornisce diverse lingue e sottoprogetti come Fluent SDKs Bit. Questo [file di configurazione Fluentd di esempio invia i dati di registro da Fluentd](https://docs.fluentd.org/output/http#example-configuration) a una pipeline di Ingestion. OpenSearch [Per ulteriori informazioni sull'acquisizione dei dati di registro, consulta Log Analytics nella documentazione di Data Prepper.](https://github.com/opensearch-project/data-prepper/blob/main/docs/log_analytics.md)

Tenere presente quanto segue:
+ Il `endpoint` valore deve essere l'endpoint della pipeline. Ad esempio, `pipeline-endpoint.us-east-1osis.amazonaws.com/apache-log-pipeline/logs`.
+ Il valore `aws_service` deve essere `osis`.
+ Il `aws_role_arn` valore è l'ARN del ruolo AWS IAM che il client deve assumere e utilizzare per l'autenticazione Signature Version 4.

```
<source>
  @type tail
  path logs/sample.log
  path_key log
  tag apache
  <parse>
    @type none
  </parse>
</source>

<filter apache>
  @type record_transformer
  <record>
    log ${record["message"]}
  </record>
</filter>

<filter apache>
  @type record_transformer
  remove_keys message
</filter>

<match apache>
  @type http
  endpoint pipeline-endpoint.us-east-1osis.amazonaws.com/apache-log-pipeline/logs
  json_array true

  <auth>
    method aws_sigv4
    aws_service osis
    aws_region region
    aws_role_arn arn:aws:iam::account-id:role/ingestion-role
  </auth>

  <format>
    @type json
  </format>

  <buffer>
    flush_interval 1s
  </buffer>
</match>
```

È quindi possibile configurare una pipeline di OpenSearch ingestion come la seguente, che ha HTTP come origine:

```
version: "2"
apache-log-pipeline:
  source:
    http:
      path: "/${pipelineName}/logs"
  processor:
    - grok:
        match:
          log:
            - "%{TIMESTAMP_ISO8601:timestamp} %{NOTSPACE:network_node} %{NOTSPACE:network_host} %{IPORHOST:source_ip}:%{NUMBER:source_port:int} -> %{IPORHOST:destination_ip}:%{NUMBER:destination_port:int} %{GREEDYDATA:details}"
  sink:
    - opensearch:
        hosts: ["https://search-domain-endpoint.us-east-1es.amazonaws.com"]
        index: "index_name"
        aws_region: "region"
        aws_sigv4: true
```