транзакция выброса завершилась неудачно: error_class = Errno :: EIO - PullRequest
0 голосов
/ 29 апреля 2019

Мы работаем с 3 узлами (redhat) и отправляем их журналы из приложения (nuxeo) в graylog, и один из них (узел a) выдает мне ошибку ruby ​​каждые несколько минут. Это сообщение только что появилось в graylog, и я не могу найти его в файлах журналов для узла a.

Я уже переустановил fluentd, сравнил log.rb с двумя другими узлами, но ничего не нашел.

журнал ошибок (серый журнал):

emit transaction failed: error_class=Errno::EIO error="Input/output error @ io_write - <STDOUT>" location="/opt/td-agent/embedded/lib/ruby/gems/2.4.0/gems/fluentd-1.0.2/lib/fluent/log.rb:395:in `write'" tag="nuxeo.access"

log.rb:

...
385     def puts(msg)
386       @logger << msg + "\n"
387       @out.flush
388       msg
389     rescue
390       # FIXME
391       nil
392     end
393
394     def write(data)
395       @out.write(data)
396     end
397     # We need `#<<` method to use this logger class with other
398     # libraries such as aws-sdk
399     alias << write
...

Файл такой же, как два других.

ОБНОВЛЕНИЕ 1

Когда я останавливаю fluentd на 3 узлах, я вижу, что fluentd не работает, я вижу сообщение в graylog, что fluentd теперь остановлен, но узел a продолжает отправлять журналы в graylog.

Если бы кто-то мог мне помочь или уже имел эту проблему, было бы здорово. Спасибо

...