# Problema creación de patrón personalizado para fechas en logstash

**URL:** <https://discuss.elastic.co/t/problema-creacion-de-patron-personalizado-para-fechas-en-logstash/275253>\
**Category:** Elastic en Español\
**Created:** [June 8, 2021, 8:25am UTC](https://discuss.elastic.co/t/problema-creacion-de-patron-personalizado-para-fechas-en-logstash/275253 "2021-06-08T08:25:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mar-ro](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@mar-ro](https://discuss.elastic.co/u/mar-ro)\
**Post date:** [June 8, 2021, 8:25am UTC](https://discuss.elastic.co/t/problema-creacion-de-patron-personalizado-para-fechas-en-logstash/275253/1 "2021-06-08T08:25:01Z")

</div>

Buenos días.  
Estoy intentando configurar logstash para que obtenga la fecha del campo `message` de aquellos logs que tengan un formato distinto al de la norma ISO8601 pero no lo consigo.  
Un ejemplo de fecha obtenido de un servidor redis es el siguiente:  
`8934:C 08 Jun 09:56:08.954 * DB saved on disk`  
y el archivo de configuración de logstash que hice es el siguiente:

```auto
input {
   pipeline { address => redis }
}

filter {
   grok {
    match => { "message" => "(?<fecha>%{MONTHNUM} %{MONTH} %{HOUR}:%{MINUTE}:%{SECOND})"}
    tag_on_failure => ["no_date_found"]
    target => "fecha"
   }
   date {
     match => ["fecha", "dd EEE HH:mm:ss"]
     target => "@timestamp"
     tag_on_failure => ["_dateparsefailure"]
   }

   mutate {
      add_field => { "[custom_index_name]" => "filebeat-logstash-%{[fields][name]}-%{+YYYY.MM.dd}" }
   }
}

output {
  pipeline { send_to => elasticsearch }
}

```

¿Qué cambios tendría que hacer para que reconociese la fecha desde el campo `message` y estableciese dicha fecha en el campo @timestamp ?  
¡Gracias de antemano!

---

<div class="post-metadata">

**Author:** ![Imma](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/imma/32/32013_2.png) [@Imma](https://discuss.elastic.co/u/Imma)\
**Post date:** [June 9, 2021, 7:25pm UTC](https://discuss.elastic.co/t/problema-creacion-de-patron-personalizado-para-fechas-en-logstash/275253/2 "2021-06-09T19:25:04Z")

</div>

Hola Miguel,

Creo que tienes un par de temas allí. El principal que no hay año en la fecha. Así que sugiero que lo añadas "fijo", si no se puede obtener de la fuente. En el ejemplo concateno un 2021.

En vez de grok yo usaría [dissect](https://www.elastic.co/guide/en/logstash/current/plugins-filters-dissect.html), que suele ser más eficiente además.

Y finalmente el formato de la fecha también debería cambiar, tenías **EEE** en vez de **MMM** para el mes y faltaba **.SSS**. Si pueden venir varios formatos, los pueddes añadir al match en la fecha.

Ejemplo de pipeline:

```auto
input {
    stdin {
        codec => plain
    }
}

filter {
   dissect {
    mapping => {
      "message" => "%{} %{fecha} %{+fecha} %{+fecha} %{other}"
      }
    tag_on_failure => ["no_date_found"]
   }
   
   mutate {
     replace => { "fecha" => "%{fecha} 2021" }
   }

   date {
     locale => "en"
     match => ["fecha", "dd MMM HH:mm:ss.SSS YYYY"]
     target => "@timestamp"
     tag_on_failure => ["_dateparsefailure"]
   }
}

output {
    stdout { codec => rubydebug }
}

```

Este pipeline con `8934:C 08 Jun 09:56:08.954 * DB saved on disk` como entrada, devolvería:

```json
{
         "other" => "* DB saved on disk",
    "@timestamp" => 2021-06-08T07:56:08.954Z,
          "host" => "localhost",
         "fecha" => "08 Jun 09:56:08.954 2021",
       "message" => "8934:C 08 Jun 09:56:08.954 * DB saved on disk",
      "@version" => "1"
}

```

Espero que te sea útil.

Saludos!

---

<div class="post-metadata">

**Author:** ![mar-ro](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@mar-ro](https://discuss.elastic.co/u/mar-ro)\
**Post date:** [June 10, 2021, 12:52pm UTC](https://discuss.elastic.co/t/problema-creacion-de-patron-personalizado-para-fechas-en-logstash/275253/3 "2021-06-10T12:52:23Z")

</div>

Muchas gracias Imma!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 8, 2021, 12:52pm UTC](https://discuss.elastic.co/t/problema-creacion-de-patron-personalizado-para-fechas-en-logstash/275253/4 "2021-07-08T12:52:35Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
