Теги в журнале - PullRequest
       5

Теги в журнале

0 голосов
/ 16 октября 2019

Как направить логи постфикса в индекс постфикса? В logstash config

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 много

[WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"newrelicdata", :_type=>"_doc", :routing=>nil}, #<LogStash::Event:0x4ceb504a>], :response=>{"index"=>{"_index"=>"newrelicdata", "_type"=>"_doc", "_id"=>"V7x2z20Bp3jq-MOqpNbt", "status"=>400, "error"=>{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse field [host] of type [text] in document with id 'V7x2z20Bp3jq-MOqpNbt'. Preview of field's value: '{name=mail.domain.com}'", "caused_by"=>{"type"=>"illegal_state_exception", "reason"=>"Can't get text on a START_OBJECT at 1:521"}}}}}

Почему с mail.domain.com пытаютсяполучить не в индексном постфиксе? И данные пытаются попасть во все индексы? Любая помощь

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Поскольку я пытался отправить журналы с указанными ниже конфигурациями filebeat.yml,

filebeat.inputs:
  - type: log
    enabled: true
  paths:
  - /home/varsha/ELK7.4/logs/*.log
  tags: ["postfix"]
 output.logstash:
  hosts: ["localhost:5044"]

С помощью описанных выше конфигураций и файлов, которыми вы поделились со мной, все работает нормально и получил ожидаемый результат, пожалуйста, проверьте егов https://pastebin.com/f6e0E52S

0 голосов
/ 16 октября 2019

Я думаю, что журналы содержат имя поля "хост", поэтому выдает ошибку как "не удалось проанализировать поле [хост] типа [текст]"

mutate {
   rename => ["host", "server"]
   convert => {"server" => "string"} 
}
...