# Logstash: Как правильно использовать geoip?

**URL:** <https://discuss.elastic.co/t/logstash-geoip/197293>\
**Category:** Вопросы на русском языке\
**Created:** [August 29, 2019, 8:57am UTC](https://discuss.elastic.co/t/logstash-geoip/197293 "2019-08-29T08:57:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Igor\_Belyakov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_belyakov/32/52615_2.png) [@Igor\_Belyakov](https://discuss.elastic.co/u/Igor_Belyakov)\
**Post date:** [August 29, 2019, 8:57am UTC](https://discuss.elastic.co/t/logstash-geoip/197293/1 "2019-08-29T08:57:03Z")

</div>

Добрый день.

В приложении logstash есть плагин: "Geoip filter". В описании плагина сказано:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/4/1/41bcb649aaa4042b48401ee6763d3f4a2f635d14.png)

Однако, фактически, это поле передается без указания типа:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/2/b/2b5a2763753ab96ee3c79c606485e188a05b3fc6.png)  
Следовательно, невозможно построить карту.

Я уже пытался указать мапинг. Но столкнулся с ограничением, так формат получаемых данные не стабилен, у меня нет возможности прописать мапинг для всех полей, а мапинг конкретного поля у меня не заработал:  
Конфиг:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/a/b/abde189869b92a4fdc54ab11211c35c6145e0698.png)

Мапинг поля [geoip][location]  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/6/a/6ac020aa7573c779f239220141d80acaed93f04f.png)

Подскажите, как правильно использовать плагин geoip, так, чтобы на основании полученных координат можно было построить карту?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [August 29, 2019, 2:26pm UTC](https://discuss.elastic.co/t/logstash-geoip/197293/2 "2019-08-29T14:26:24Z")

</div>

> [@Igor\_Belyakov](#):
>
> у меня нет возможности прописать мапинг для всех полей, а мапинг конкретного поля у меня не заработал:

Вы, наверное, добавили это поле в шаблон после того, как индекс был уже создан. Проблема в том, что шаблон применяется только при создании нового индекса, после того, как индекс создан, надо менять mapping на прямую.

Обычно ничего специально задаваеть не нужно, так как привильный маппинг уже прописан в [стандартном шаблоне logstash](https://github.com/logstash-plugins/logstash-output-elasticsearch/blob/master/lib/logstash/outputs/elasticsearch/elasticsearch-template-es7x.json#L37).

Если эти рассуждения не помогли. Давайте посмотрим, как у вас в данный момент выглядит шаблон в elasticsearch, шаблон в logstash и маппинг индекса.

---

<div class="post-metadata">

**Author:** ![Igor\_Belyakov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_belyakov/32/52615_2.png) [@Igor\_Belyakov](https://discuss.elastic.co/u/Igor_Belyakov)\
**Post date:** [September 11, 2019, 11:44am UTC](https://discuss.elastic.co/t/logstash-geoip/197293/3 "2019-09-11T11:44:00Z")

</div>

Спасибо. все так. Я руками прописал маппинг для поля с координатами перед созданием индекса и все стало работать нормально.  
Возможно я до этого что-то не так делал. Может в логсташе нужно отдельно активировать плагин geoip.  
Изначально я шел по простому пути:

1. Установил логсташ
2. настроит input
3. настроил фильтр geoip
4. настроил output/
5. получил ошибку с распознаванием типа поля и прописал маппинг руками 🙂

---

<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:** [October 9, 2019, 11:44am UTC](https://discuss.elastic.co/t/logstash-geoip/197293/4 "2019-10-09T11:44:00Z")

</div>

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