LogstashDLQ: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая страница: «=Logstash Dead Letter Queue=»)
 
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
  +
[[Категория:Linux]]
  +
[[Категория:ELK]]
  +
[[Категория:Logstash]]
  +
[[Категория:Elasticsearch]]
 
=Logstash Dead Letter Queue=
 
=Logstash Dead Letter Queue=
  +
Есть возможность сохранить те логи что не удалось записать в эластик для исследования
  +
  +
* Подробнее: https://habr.com/ru/company/flant/blog/558140/
  +
  +
==pipelines.yaml==
  +
В очновном конфиге Logstash (путь к нему зависит от конфигурации но обычно /etc/logstash/pipelines.yml)
  +
<PRE>
  +
- pipeline.id: main
  +
path.config: "/etc/logstash/conf.d/*.conf"
  +
dead_letter_queue.enable: true
  +
dead_letter_queue.max_bytes: 100mb
  +
</PRE>
  +
==Input==
  +
<PRE>
  +
input {
  +
dead_letter_queue {
  +
path => "/var/lib/logstash/dead_letter_queue"
  +
tags => ["dead_letter_queue"]
  +
}
  +
beats {
  +
... beats config ...
  +
}
  +
... другие Input plugins ...
  +
}
  +
</PRE>
  +
  +
==Output==
  +
<PRE>
  +
output {
  +
if "dead_letter_queue" in [tags] {
  +
file {
  +
flush_interval => 5
  +
gzip => false
  +
path => "/var/log/logstash/debug-%{+YYYY.MM.dd}.log"
  +
}
  +
} else {
  +
elasticsearch {
  +
...
  +
}
  +
... другие Output plugins ...
  +
}
  +
}
  +
</PRE>

Текущая версия на 11:17, 14 сентября 2021

Logstash Dead Letter Queue

Есть возможность сохранить те логи что не удалось записать в эластик для исследования

pipelines.yaml

В очновном конфиге Logstash (путь к нему зависит от конфигурации но обычно /etc/logstash/pipelines.yml)

- pipeline.id: main
  path.config: "/etc/logstash/conf.d/*.conf"
  dead_letter_queue.enable: true
  dead_letter_queue.max_bytes: 100mb

Input

input {
    dead_letter_queue {
        path => "/var/lib/logstash/dead_letter_queue"
        tags => ["dead_letter_queue"]
    }
    beats {
      ... beats config ...
    }
    ... другие Input plugins ...
}

Output

output {
    if "dead_letter_queue" in [tags] {
        file {
            flush_interval => 5
            gzip => false
            path => "/var/log/logstash/debug-%{+YYYY.MM.dd}.log"
        }
    } else {
        elasticsearch {
          ...
        }
        ... другие Output plugins ...
    }
}