logsta sh и кафка и graylog и порядок сообщений - PullRequest
0 голосов
/ 12 апреля 2020

У нас есть приложение с event log, наше приложение отправляет event log на Kafka с JSON format. наш topic в Кафке has one partition, потому что нам нужно прочитать order message, также мы используем Logstash для потребления event log и конвертируем JSON формат в GELF формат, а затем отправляем в Graylog. наша проблема заключается в том, что topi c имеет раздел, но потребитель (Logstash) не читает сообщения по порядку, и наш заказ нарушается. мы используем

 stdout{ codec => rubydebug }

в выходных данных Logstash config, и этот журнал Logstash подтверждает проблему. Естественно, у нас нет событий в GaryLag по порядку. Почему заказ испорчен. Проблемы с Кафкой или Logstash или Graylog или ...?

спасибо.

ОБНОВЛЕНИЕ

logsta sh config:

input {
  kafka {
        bootstrap_servers => "kafka1:9092,kafka2:9092,kafka3:9092"
        group_id => "MyTopicReader"
        topics => "MyTopic"
        consumer_threads => 1
        enable_metric => "false"
        auto_offset_reset => "latest"
 }
}

filter {
   json {
     source => "message"
  }
}

output {
      gelf {

           host => "ip-graylog"
           port => 12201
           sender => "ip-logstash"

    }
 stdout{ codec => rubydebug }
}

Конфигурация трубопровода pipelines.yml:

- pipeline.id: main
  path.config: "/etc/logstash/conf.d/*.conf"

Параметры конвейера в logstash.yml

pipeline.id: main
pipeline.workers: 2
pipeline.batch.size: 125
pipeline.batch.delay: 50

1 Ответ

0 голосов
/ 13 апреля 2020

Запустите Logsta sh с -w 1 для запуска одного конвейера.

...