# \[LogStash\] Génération automatique du schéma dans ELS?

**URL:** https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029
**Category:** Discussions en français
**Created:** [August 25, 2015, 3:35pm UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029 "2015-08-25T15:35:08Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)
#### Post date: [August 25, 2015, 3:35pm UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/1 "2015-08-25T15:35:08Z")

</div>

Bonjour,

Suite au passage de LogStash avec cette conf

```auto
input {
    file {
        path => "C:/logstash-1.5.4/logstash-1.5.4/middle-global.2015-08-15.log"
        start_position => beginning
    }
}
filter {
    grok {
        match => { "message" => "%{DATESTAMP:date}.\[%{USERNAME:server}\].*INFO.*accessLogs \- %{IP:ip}.\- \- \[%{HTTPDATE:timestamp}*\].\"%{WORD:verb}.%{URIPATH:service}?%{URIPARAM:params}.HTTP/%{NUMBER:httpversion}\".%{NUMBER:responseCode}.%{NUMBER:responseSize}.%{QS:threadName}.%{QS:agent}.%{NUMBER:treatmentTime}"}
    }		
    geoip {
        source => "ip"
    }
	if "_grokparsefailure" in [tags] {
		drop {}
	}
}
output {
    elasticsearch {
        protocol => "http"
    }
    stdout {}
}
```

Je m’aperçois que les champs créés dans Elastic correspondant aux différents nombres et aux dates sont tous de format "String".

Exemple :

```auto
"treatmentTime" : {
            "type" : "string",
            "norms" : {
              "enabled" : false
            },
            "fields" : {
              "raw" : {
                "type" : "string",
                "index" : "not_analyzed",
                "ignore_above" : 256
              }
            }
          },
```

Dans les logs de logstash j'ai :

```auto
{
          "message" => "2015-08-06 19:11:39,441 [middle] [pool-7-thread-656] INFO c.e.c.n.H.accessLogs - 10.10.12.12 - - [06/Aug/2015:19:11:39 +0200] \
"GET /service/search/s/catalog2?vl=fr&psz=16&maxCount=16 HTTP/1.1\" 200 17404 \"pool-7-thread-656\" \"Jakarta Commons-HttpClient/3.1\" 2",
         "@version" => "1",
       "@timestamp" => "2015-08-25T15:53:56.457Z",
             "host" => "Opti780-info-3",
             "path" => "C:/logstash-1.5.4/logstash-1.5.4/middle-global.2015-08-16.log",
             "date" => "15-08-06 19:11:39,441",
           "server" => "middle",
               "ip" => "10.10.12.12",
        "timestamp" => "06/Aug/2015:19:11:39 +0200",
             "verb" => "GET",
          "service" => "/service/search/s/catalog2",
           "params" => "?vl=fr&psz=16&maxCount=16",
      "httpversion" => "1.1",
     "responseCode" => "200",
     "responseSize" => "17404",
       "threadName" => "\"pool-7-thread-656\"",
            "agent" => "\"Jakarta Commons-HttpClient/3.1\"",
    "treatmentTime" => "2"
}
```

Tout semble passé sous forme de chaine. Est-ce au niveau de l'expression grok qu'il y aurait un problème ?

Faut il créer un mapping particulier avant le lancement de logstash afin que les champs soient bien dans le type escompté ?

Merci d'avance,  
Denis.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [August 25, 2015, 5:03pm UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/2 "2015-08-25T17:03:26Z")

</div>

Oui. Tu peux dans le mapping donner le format de date attendu et forcer le type à date pour ce champ.

---

<div class="post-metadata">

### Author: ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)
#### Post date: [August 26, 2015, 7:16am UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/3 "2015-08-26T07:16:31Z")

</div>

Je ne comprends pas pourquoi chez moi tout passe en String alors que normalement d'après le filtre, certains champs devraient être en date ou en number. Comme ce qui se passe dans les exemples : [https://www.elastic.co/guide/en/logstash/current/config-examples.html](https://www.elastic.co/guide/en/logstash/current/config-examples.html)

Bon si il faut forcer le mapping pourquoi pas. Je vais essayer 😄

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [August 26, 2015, 7:29am UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/4 "2015-08-26T07:29:00Z")

</div>

Si tu veux forcer GROK à utiliser des numériques alors au lieu de `NUMBER:responseSize`, écris `NUMBER:responseSize:int`

---

<div class="post-metadata">

### Author: ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)
#### Post date: [August 26, 2015, 7:37am UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/5 "2015-08-26T07:37:10Z")

</div>

Ok pour les int, par contre pour les dates il y a un moyen de les forcer ?

---

<div class="post-metadata">

### Author: ![Blured\_Derulb](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@Blured\_Derulb](https://discuss.elastic.co/u/Blured_Derulb)
#### Post date: [August 26, 2015, 7:46am UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/6 "2015-08-26T07:46:06Z")

</div>

C'est bon avec  
date {  
match =\> ["timestamp" , "dd/MMM/yyyy:HH:mm:ss Z"]  
}

youpi 😄

Merci bien.

---

<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 6, 2017, 1:51pm UTC](https://discuss.elastic.co/t/logstash-generation-automatique-du-schema-dans-els/28029/7 "2017-07-06T13:51:17Z")

</div>


