LINUX.ORG.RU
ФорумAdmin

Тэги в elastic search

 


0

1

Всем привет.

Как настроить в logstash так чтобы логи postifx шли в индекс postfix ?

Если конфиге logstash сделать

input {
  beats {
    port => 5044
  }
}

filter {
     grok { 
}
}     
output {
if "postfix" in [tags]{
        elasticsearch {
            hosts    => "localhost:9200"
            index    => "postfix-%{+YYYY.MM.dd}"
        }
}
}

А в конфиге filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
      - /var/log/maillog*
  exclude_files: [".gz$"]
tags: ["postfix"]
output.logstash:
  hosts: ["10.50.11.8:5044"]

То в логах logstash получим

Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"buildlog4", :_type=>"_doc", :routing=>nil}, #<LogStash::Event:0x49522875>], :response=>{"index"=>{"_index"=>"buildlog4", "_type"=>"_doc", "_id"=>"tmgaz20Bp3jq-MOqGvqp", "status"=>400, "error"=>{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse field [host] of type [text] in document with id 'tmgaz20Bp3jq-MOqGvqp'. Preview of field's value: '{name=mail1.mydomain.com}'", "caused_by"=>{"type"=>"illegal_state_exception", "reason"=>"Can't get text on a START_OBJECT at 1:357"}}}}}

То есть логи с mail1.mydomain.com пытается записать в индекс buildlog4.

Любая помощь =)



Последнее исправление: beren (всего исправлений: 1)

failed to parse field [host] of type [text] in document with id 'tmgaz20Bp3jq-MOqGvqp'

Может для грок-паттерна другой шаблон использовать? Вроде в шаблоне host не предусмотрен символ @

knock
()

пытается записать в индекс buildlog4

if "postfix" in [tags]{
        elasticsearch {
            hosts    => "localhost:9200"
            index    => "postfix-%{+YYYY.MM.dd}"
        }
}

А где else? Либо помечай другое другим тегом и тоже проверяй. (Вангую, что ты не всё показал, иначе откуда другой индекс взялся).

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от knock

Это как ? В интернетах через filebeat собирают логи постфикса.

beren
() автор топика
Ответ на: комментарий от beren

В logstash полно других индексов

Ну, так у тебя и подхватывается ещё одним output. Нет? Проверяется там, чтобы не было тега postfix?

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Если есть тег postfix , то только тогда создай индекс postfix

Если это так не работает, то как что в else ?

beren
() автор топика
Ответ на: комментарий от beren

Если есть тег postfix , то только тогда создай индекс postfix

Да, и что? Это никак не мешает этим данным попадать во все остальные output. Что, как я думаю и происходит. На первом индексе куда они не влезают (из-за заданного в индексе маппинга), выдаёт ошибку.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.