Caricamento dei dati in Amazon OpenSearch Service con Logstash - OpenSearch Servizio Amazon

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à.

Caricamento dei dati in Amazon OpenSearch Service con Logstash

La versione open source di Logstash (Logstash OSS) fornisce un modo conveniente per utilizzare l'API bulk per caricare i dati nel dominio Amazon OpenSearch Service. Il servizio supporta tutti i plug-in di input Logstash standard, incluso il plug-in di input Amazon S3. OpenSearch Il servizio supporta il plug-in logstash-output-opensearchdi output, che supporta sia l'autenticazione di base che le credenziali IAM. Il plug-in funziona con la versione 8.1 e precedenti di Logstash OSS.

Configurazione

La configurazione di Logstash varia in base al tipo di autenticazione utilizzata dal dominio.

Indipendentemente dal metodo di autenticazione utilizzato, è necessario impostare ecs_compatibility a disabled nella sezione di output del file di configurazione. Logstash 8.0 ha introdotto un cambiamento rivoluzionario in cui vengono eseguiti tutti i plug-in in Modalità di compatibilità ECS per impostazione predefinita. È necessario sostituire il valore di default per mantenere il comportamento legacy.

Configurazione dettagliata dei controlli degli accessi

Se il dominio OpenSearch Service utilizza il controllo granulare degli accessi con l'autenticazione di base HTTP, la configurazione è simile a quella di qualsiasi altro OpenSearch cluster. Questo file di configurazione di esempio prende il suo input dalla versione open source di Filebeat (Filebeat OSS).

input { beats { port => 5044 } } output { opensearch { hosts => "https://domain-endpoint:443" user => "my-username" password => "my-password" index => "logstash-logs-%{+YYYY.MM.dd}" ecs_compatibility => disabled ssl_certificate_verification => false } }

La configurazione varia in base all'applicazione Beats e al caso d'uso, ma la configurazione di Filebeat OSS potrebbe essere simile a questa:

filebeat.inputs: - type: log enabled: true paths: - /path/to/logs/dir/*.log filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.ilm.enabled: false setup.ilm.check_exists: false setup.template.settings: index.number_of_shards: 1 output.logstash: hosts: ["logstash-host:5044"]

Configurazione IAM

Se il dominio utilizza una policy di accesso al dominio basata su IAM o un controllo granulare degli accessi con un utente principale, è necessario firmare tutte le richieste per OpenSearch Service tramite le credenziali IAM. La seguente policy basata su identità concede tutte le richieste ad alcune o a tutte le risorse del dominio.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:region:aws-account-id:domain/domain-name/*" } ] }

Per la configurazione di Logstash, modifica il file di configurazione per utilizzare il plug-in per il suo output. Questo file di configurazione di esempio prende il suo input dai file in un bucket S3:

input { s3 { bucket => "my-s3-bucket" region => "us-east-1" } } output { opensearch { hosts => ["domain-endpoint:443"] auth_type => { type => 'aws_iam' aws_access_key_id => 'your-access-key' aws_secret_access_key => 'your-secret-key' region => 'us-east-1' } index => "logstash-logs-%{+YYYY.MM.dd}" ecs_compatibility => disabled } }

Se non si desidera fornire le credenziali IAM all'interno del file di configurazione, è possibile esportarle (o eseguirle aws configure):

export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_SESSION_TOKEN="your-session-token"

Se il dominio OpenSearch Service è in un VPC, la macchina di Logstash OSS deve essere in grado di connettersi al VPC e accedere al dominio tramite i gruppi di sicurezza del VPC. Per ulteriori informazioni, consulta Informazioni sulle politiche di accesso sui domini VPC.