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

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 Service supporta il plug-in di output logstash-output-opensearch, 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 cluster OpenSearch. 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 IAM, è necessario firmare tutte le richieste per OpenSearch Service tramite le credenziali IAM.

Modificare 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, consultare Informazioni sulle policy d'accesso nei domini VPC.