# Не отображаются dns-логи в Kibana

**URL:** <https://discuss.elastic.co/t/dns-kibana/248941>\
**Category:** Вопросы на русском языке\
**Created:** [September 17, 2020, 8:32am UTC](https://discuss.elastic.co/t/dns-kibana/248941 "2020-09-17T08:32:14Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 17, 2020, 8:32am UTC](https://discuss.elastic.co/t/dns-kibana/248941/1 "2020-09-17T08:32:15Z")

</div>

В rsyslog elk-сервера с двух ns-серверов с named (как я понял - bind4) пересылаются логи запросов.  
Пример логов:

> Sep 17 11:05:33 central.ns.1 named[13705]: 17-Sep-2020 11:05:33.399 client 10.127.0.9#50507 (19.img.avito.st): query: 19.img.avito.st IN A +EDC (10.127.4.28)  
> Sep 17 11:05:34 central.ns.2 named[16335]: 17-Sep-2020 11:05:33.411 client 10.127.0.8#54091 ([api.aliradar.com](http://api.aliradar.com)): query: [api.aliradar.com](http://api.aliradar.com) IN A +EDC (10.127.4.30)

Filebeat настроен забирать логи:

```auto
  - input_type: log
  path:
       - /opt/log/dns/*.log
  document_type: dns-query

```

По выводу логов filebeat, как я понимаю, сбор им логов начался успешно:

 ![Снимок](https://us1.discourse-cdn.com/elastic/original/3X/4/0/40b5011f2a13bd8bd8c18ec61165105f21cfa034.jpeg)

Для logstash создан фильтр (grok) для парсинга логов dns:

```auto
elseif [type] == "dns-query" {
 grok { 
 match => { "message" => '%{MONTH:syslog_month} +%{MONTHDAY:syslog_day} %{TIME:syslog_time} %{IPORHOST:syslog_hostname} %{WORD:syslog_tag}: %{BIND9_TIMESTAMP:timestamp} client %{IP:clientip}#%{POSINT:clientport} \(%{GREEDYDATA:query_one}\): query: %{GREEDYDATA:query_two} IN %{GREEDYDATA:querytype} \(%{IP:dns}\)' }
}

```

Проблема в том, что логи не отображаются в Кибане. Подскажите, в чём может быть ошибка или где её можно её отследить?

---

<div class="post-metadata">

**Author:** ![Ivan\_Bykov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ivan_bykov/32/71087_2.png) [@Ivan\_Bykov](https://discuss.elastic.co/u/Ivan_Bykov)\
**Post date:** [September 17, 2020, 8:48am UTC](https://discuss.elastic.co/t/dns-kibana/248941/2 "2020-09-17T08:48:43Z")

</div>

а в кибану ее должен доставить или логстеш или сам эластик, с каким-то индексом.  
cоостветственно проверьте ностройку секций в filebeat.yml  
logstash output или elasticsearch  
ну и дополнительно проверьте telnet-ом порты

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 17, 2020, 8:57am UTC](https://discuss.elastic.co/t/dns-kibana/248941/3 "2020-09-17T08:57:15Z")

</div>

С портами и основными настройками logstash, filebeat и elasticsearch (он доставляет в Kibana) не должно быть проблем: до меня на этом сервере все преднастроил мой предшественник, чтобы забирать логи Nginx и Postfix (собственно они и забираются, а моя задача добавить к ним ещё и DNS-запросы).

---

<div class="post-metadata">

**Author:** ![Ivan\_Bykov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ivan_bykov/32/71087_2.png) [@Ivan\_Bykov](https://discuss.elastic.co/u/Ivan_Bykov)\
**Post date:** [September 17, 2020, 2:43pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/4 "2020-09-17T14:43:59Z")

</div>

так filebeat не вы настраивали? индекс там какой настроен в конфиге?

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 17, 2020, 2:49pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/5 "2020-09-17T14:49:57Z")

</div>

Блок в filebeat для dns настраивал я (пример выше). Вы индекс какой ввиду имеете? Который elasticsearch обрабатывает?

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 17, 2020, 2:53pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/6 "2020-09-17T14:53:36Z")

</div>

Что явно не так с самим логами dns-запросов. Отключил все фильтры и просто "в чистую" отдаю все логи - nginx'а и postfix'а логи доходят, а dns'а всё также нет. В текстовым редакторах они открываются нормально, каких-либо ошибок я в них не вижу.

---

<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:** [September 17, 2020, 3:21pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/7 "2020-09-17T15:21:17Z")

</div>

На вскидку этот паттерн не должен работать с вашими записями. А поигрался с ним в grok debugger и у меня все ломается уже на первом hostname. Я бы попробовал отладить grok в отдельно-стоящем logstash, чтобы убедиться, что все работает.

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 18, 2020, 5:54am UTC](https://discuss.elastic.co/t/dns-kibana/248941/8 "2020-09-18T05:54:47Z")

</div>

Спасибо за рекомендацию! Даже с полностью закомментарированными grok (и даже всеми фильтрами) логи nginx'а и postfix'а уходят, а dns'а - нет. Видимо проблема не только с плохо написанными паттернами?

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 18, 2020, 6:05am UTC](https://discuss.elastic.co/t/dns-kibana/248941/9 "2020-09-18T06:05:19Z")

</div>

Вы не знаете подходящих специфичных паттернов для Named(Bind 4) хотя бы для timestamp? Не могу нигде их найти: ни в официальной документации, ни просто на обыкновенных сайтах.

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 18, 2020, 2:04pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/10 "2020-09-18T14:04:40Z")

</div>

Нашёл проблему: было установлено условие if "\_grokparsefailure" in [tags] {  
drop {} }. Осталось понять почему все днс-логи пересылаемые в Кибану помечаются этим тэгом. И соответственно откидываются фильтром.

---

<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:** [September 18, 2020, 2:06pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/11 "2020-09-18T14:06:25Z")

</div>

`document_type` и `elseif [type] == "dns-query" {` так же выглядит подозрительно. Во первых пробелов там явно не хватает, да и потом мы типы больше не используем. Я бы вместо него просто [fields](https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html) добавил и проверил, что он там действительно появляется.

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 18, 2020, 2:10pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/12 "2020-09-18T14:10:17Z")

</div>

Я несколько подправил grok. Но как я написал выше - проблема в тэге. Если закомментировать блок if "\_grokparsefailure" in [tags] {  
drop {} } , то до Кибаны доходит (видно в Дискавери), но паттерны не применяются. Нет возможности настроить Дашборд и графики. Все что доходит до Кибаны помечается тэгом \_grokparsefailure. Пытаюсь понять почему.

---

<div class="post-metadata">

**Author:** ![Boris\_Voytik](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/boris_voytik/32/75732_2.png) [@Boris\_Voytik](https://discuss.elastic.co/u/Boris_Voytik)\
**Post date:** [September 18, 2020, 2:11pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/13 "2020-09-18T14:11:44Z")

</div>

Возможно проблема в кодировке syslog'а? Но почему тогда нет таких же тэгов у nginx и postfix логов, которые также по rsyslog собираются...

---

<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:** [September 18, 2020, 4:08pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/14 "2020-09-18T16:08:32Z")

</div>

\_grokparsefailure означает, что грок не может разобрать запись.

---

<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 16, 2020, 4:08pm UTC](https://discuss.elastic.co/t/dns-kibana/248941/15 "2020-10-16T16:08:35Z")

</div>

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