es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Opensearch: mejores prácticas para la indexación.

Tengo aproximadamente 1 TB de datos antiguos de registros de Apache que me gustaría indexar en Opensearch. Los registros son por día y tienen la siguiente estructura: s3://bucket/logdata/año/año_mes_día.json.gz

Planeo utilizar Logstash para la ingestión y me pregunto cuál es la mejor manera de crear los índices para obtener un buen rendimiento. Me gustaría indexar por día, pero ¿cómo extraigo la fecha del nombre del archivo de registro anterior para que sea correcta en el archivo de configuración de Logstash?

index = > "%{+YYYY.MM.dd}" resolverá los archivos de registro futuros, pero ¿cómo lo resuelvo para los antiguos?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en Logstash y Opensearch, mi recomendación para indexar los datos antiguos de registros de Apache sería utilizar el complemento de entrada de archivos de Logstash con un patrón de comodín para que coincida con todos los archivos de registro antiguos en el cubo de S3, y luego utilizar el filtro de fecha para extraer la fecha del nombre de archivo y agregarla al nombre del índice.

    Para lograr esto, puedes utilizar la siguiente configuración de Logstash:

    “`input {
    s3 {
    bucket => “bucket”
    prefix => “logdata/”
    type => “apache_logs”
    }
    }

    filter {
    if [type] == “apache_logs” {
    grok {
    match => { “message” => “%{GREEDYDATA:log}” }
    }
    json {
    source => “log”
    }
    date {
    match => [ “path”, “logdata/%{YEAR:year}/%{YEAR_MONTH_DAY:date}.json.gz” ]
    target => “@timestamp”
    }
    }
    }

    output {
    opensearch {
    hosts => [“localhost:9200”]
    index => “apache-%{+YYYY.MM.dd}”
    }
    }“`

    En esta configuración, se utiliza el complemento de entrada s3 para leer los archivos de registro antiguos del cubo y prefijo de S3 especificados. Los filtros grok y json se utilizan para analizar los datos de registro en un formato estructurado. Luego, el filtro de fecha se utiliza para extraer la fecha del nombre del archivo de registro y agregarla al campo @timestamp. Finalmente, el complemento de salida opensearch se utiliza para indexar los registros en Opensearch con un índice diario por día.

    Con esta configuración, Logstash extraerá automáticamente la fecha de los antiguos nombres de archivo de registro y generará el nombre de índice correcto para cada archivo de registro, asegurando un rendimiento óptimo y una fácil búsqueda de los datos en Opensearch.

Comments are closed.