# Incapaz de crear un template

**URL:** https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688
**Category:** Elastic en Español
**Created:** [November 22, 2017, 9:46am UTC](https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688 "2017-11-22T09:46:45Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![davidsoler95](https://avatars.discourse-cdn.com/v4/letter/d/919ad9/32.png) [@davidsoler95](https://discuss.elastic.co/u/davidsoler95)
#### Post date: [November 22, 2017, 9:46am UTC](https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688/1 "2017-11-22T09:46:45Z")

</div>

Hola,  
Tras dos días intentando algo básico soy incapaz de que Filebeat y Kibana detecten los datos de mis Logs y separar los campos para poder utilizar las herramientas de visualización de Kibana, usando la versión 5.6.4 (la última de 32 bits).

Nuestros Logs ya están en JSON, con los siguientes campos  
`{"@timestamp":"2017-10-03T23:50:15.000Z","EMP":"BAL","INST":"PRI","TIPO":"T2","MSG":"FPS STATS COV : E=0/M=946/A=0 ","MOD":"AbdFPS","FNT":"fpsCbTimerVaciado.c","LIN":"83","ID1":0,"ID2":946,"ID3":0,"STR1":"","STR2":"","STR3":""}`

Bien, en la carpeta Filebeat he creado un archivo `prueba.template.json` basado en el original en el que he metido, como he podido, la información de mis campos. Probablemente esté mal, pero creo que ni si quiera consigo cargarlo en Kibana...  
`prueba.template.json` - [https://pastebin.com/uXxrQD9i](https://pastebin.com/uXxrQD9i)

Intento cargar este archivo como template en la configuración de filebeat  
`filebeat.yml` - [https://pastebin.com/jQb9R30d](https://pastebin.com/jQb9R30d) -

Arranco Filebeat, ElasticSearch y Kibana y detecto que si que se cargan los archivos de Log pero no el template. Vamos a Kibana, cargamos el index pattern"filebeat-\*" y...  
 ![1](https://us1.discourse-cdn.com/elastic/original/3X/0/7/0753d01f67f88dab52a42a5c4ff16046df140e61.png) ![2](https://us1.discourse-cdn.com/elastic/original/3X/e/5/e54e9305a286d97d7a1aa1191aaf5c28beaa37e8.png)  
Aparecen los campos de apache que he borrado del `prueba.template.json` , y en ningún caso aparecen mis campos. Si me voy a discover veo que no se procesa todo lo que está dentro de `message` que es lo que verdaderamente me interesa

 ![3](https://us1.discourse-cdn.com/elastic/original/3X/7/f/7f6985d2902787e43564c09752e97b47159abc37.png)

---

<div class="post-metadata">

### Author: ![gmoskovicz](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@gmoskovicz](https://discuss.elastic.co/u/gmoskovicz)
#### Post date: [November 27, 2017, 11:49am UTC](https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688/2 "2017-11-27T11:49:38Z")

</div>

Hola @davidsoler95,

El template que estas agregando va a solo actuar por sobre un indice que siga el siguiente nombre:

```auto
  "template": "prueba-*"

```

Quiere decir, que los indices que contengan la información tiene que comenzar con `prueba-*`. En tu caso estas configurando el nombre del template, y la ruta desde filebeat, pero de todas maneras se siguen utilizando el nombre de indice `filebeat-*`. Para esto tambien tienes que configurar el nombre del indice con la siguiente configuración: [https://www.elastic.co/guide/en/beats/filebeat/6.0/elasticsearch-output.html#\_literal\_index\_literal](https://www.elastic.co/guide/en/beats/filebeat/6.0/elasticsearch-output.html#_literal_index_literal).

```auto
output.elasticsearch:
...
...
...
  index: "prueba-%{+yyyy.MM.dd}"  

```

Ahi debería de utilizar el nombre prueba-\* y crear un indice por dia, y que comience con ese nombre. Alli cuando se cree el indice nuevo entonces se debería de usar el template.

Por ulitmo, si tu informacion es JSON, al menos que le hagas parsing en Kibana se va a mostrar (y se va a indexar en Elasticsearch) como texto plano. Puedes probarlo esto. Si esto sucede lo que tienes que hacer es configurar los processors [https://www.elastic.co/guide/en/beats/filebeat/6.0/decode-json-fields.html](https://www.elastic.co/guide/en/beats/filebeat/6.0/decode-json-fields.html) para que tomen el JSON y le hagan parsing.

Espero que esto te sea de ayuda.

Saludos!  
--Gabriel

---

<div class="post-metadata">

### Author: ![davidsoler95](https://avatars.discourse-cdn.com/v4/letter/d/919ad9/32.png) [@davidsoler95](https://discuss.elastic.co/u/davidsoler95)
#### Post date: [November 28, 2017, 3:22pm UTC](https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688/3 "2017-11-28T15:22:20Z")

</div>

Hola, gracias por tu respuesta!

He añadido esa línea de código pero parece no afectar en nada... salvo que me esté liando.  
Si ahora voy a kibana e intento poner el Index Pattern prueba...

 ![fb2](https://us1.discourse-cdn.com/elastic/original/3X/1/4/149b44e2c8bc6f325aa3a4e663abe48d7a336e7d.png)  
Y sin embargo Filebeat...  
 ![fb2](https://us1.discourse-cdn.com/elastic/original/3X/1/4/149b44e2c8bc6f325aa3a4e663abe48d7a336e7d.png)

Mientras consiga leer los datos me da igual el nombre.  
Ahora procedo a intentar configurar los processors.... añado a filebeat.yml y sigue sin funcionar en Kibana donde no se procesan los campos de mi JSON

```
processors:
     - decode_json_fields:
         fields: ["EMP", "INST", "TIPO", "MSG", "MOD", "FNT", "LIN", "ID1", "ID2", "ID3", "STR1", "STR2", "STR3"]
         process_array: false
         max_depth: 1
         target: ""
         overwrite_keys: false
```

---

<div class="post-metadata">

### Author: ![gmoskovicz](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@gmoskovicz](https://discuss.elastic.co/u/gmoskovicz)
#### Post date: [November 28, 2017, 3:43pm UTC](https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688/4 "2017-11-28T15:43:37Z")

</div>

> [@gmoskovicz](#):
>
> "template": "prueba-\*"

Hola nuevamente,

Gracias por la respuesta. Lo que puedes hacer es fijarte los indices que Elasticsearch esta creando. Ve a devtools de Kibana, y corre la siguiente linea:

```auto
GET _cat/indices

```

Ahi veras los indices que esta creando Filebeat. La informacion es guardada en indices, entonces si no esta disponible en Kibana, quiere decir que algo no se esta creando.

Tambien puedes agarrar un indice especifico por ejemplo del dia de hoy y hacer:

```auto
GET <index-name>/

```

Siendo `index-name` el nombre del indice para el dia de hoy. Alli veras los mappings (settings tambien) que deberian de ser los que configuras en el template. Si algo de esto no funciona entonces es que el template esta incorrecto, o que el indice aun no esta siendo creado con el nombre que tu quieres.

Saludos!

---

<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: [December 26, 2017, 3:43pm UTC](https://discuss.elastic.co/t/incapaz-de-crear-un-template/108688/5 "2017-12-26T15:43:42Z")

</div>

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