Carga de datos en Amazon OpenSearch Service con Logstash - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Carga de datos en Amazon OpenSearch Service con Logstash

La versión de código abierto de Logstash (Logstash OSS) proporciona una forma conveniente de utilizar la API masiva para cargar datos en un dominio de Amazon OpenSearch Service. El servicio admite todos los complementos de entrada de Logstash estándar, incluido el complemento de entrada de Amazon S3. OpenSearch Service soporta el complemento de salida logstash-output-opensearch, que soporta autenticación básica y credenciales de IAM. El complemento funciona con la versión 8.1 y versiones inferiores de Logstash OSS.

Configuración

La configuración de Logstash varía en función del tipo de autenticación que utiliza su dominio.

Independientemente del método de autenticación que utilice, debe configurar ecs_compatibility en disabled en la sección de salida del archivo de configuración. Logstash 8.0 introdujo un cambio revolucionario en el que se ejecutan todos los complementos en Modo de compatibilidad ECS de forma predeterminada. Debe anular el valor predeterminado para mantener el comportamiento heredado.

Configuración de control de acceso detallado

Si el dominio de OpenSearch Service utiliza un control de acceso detallado con autenticación HTTP básica, la configuración es similar a cualquier otro clúster de OpenSearch. Este archivo de configuración de ejemplo toma su entrada de la versión de código abierto de 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 configuración varía según la aplicación de Beats y el caso de uso, pero la configuración de Filebeat OSS podría verse así:

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"]

Configuración de IAM

Si el dominio utiliza una política de acceso de dominio basada en IAM o un control de acceso detallado con un usuario maestro, debe firmar todas las solicitudes de OpenSearch Service con las credenciales de IAM. La siguiente política basada en identidades concede todas las solicitudes HTTP a los subrecursos de su dominio.

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

Para configurar su configuración de Logstash, cambie su archivo de configuración para usar el complemento en su salida. Este ejemplo de archivo de configuración toma su entrada de archivos en un bucket de 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 } }

Si no desea proporcionar sus credenciales de IAM dentro del archivo de configuración, puede exportarlas (o ejecutarlas 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"

Si el dominio de OpenSearch Service está en una VPC, la máquina de Logstash OSS debe poder conectarse a la VPC y tener acceso al dominio a través de los grupos de seguridad de la VPC. Para más información, consulte Acerca de las políticas de acceso a VPC los dominios.