Ошибка ECONNRESET в npm-пакете fluent-logger при отправке логов

Имеется контейнер Node.js (на базе образа node:16.10.0-buster-slim) который отправляет логи в формате JSON в другой контейнер Fluentd (на базе образа fluent/fluentd:v1.14.1-debian-1.0) при помощи npm-пакета fluent-logger.

Примерный вид docker-compose.yml:

version: '3.1'

services:

  fluentd_srv:
    image: fluent/fluentd:v1.14.1-debian-1.0
    networks:
      - testnetwork
    
  node_srv:
    image: node:16.10.0-buster-slim
    networks:
      - testnetwork
    ports:
      - "8081:8081"
    env_file:
      - var.env
    command: ["npm", "run", "app"]

networks:
  testnetwork:
    driver: bridge

После того как контейнеры Docker перенесли в сеть overlay (вместо bridge) от node_srv в стандартный поток ошибок начали сыпаться ошибки вида:

Fluentd error Error: write ECONNRESET
at afterWriteDispatched (node:internal/stream_base_commons:164:15)
at writeGeneric (node:internal/stream_base_commons:155:
at Socket._writeGeneric (node:net:780:11)
at Socket._write (node:net:792:8)
at writeOrBuffer (node:internal/streams/writable:389:1
at _write (node:internal/streams/writable:330:10
at Socket.Writable.write (node:internal/streams/writable:334:10
at FluentSender._doWrite (/app/node_modules/fluent-logger/lib/sender.js:407:18)
at FluentSender._doFlushSendQueue (/app/node_modules/fluent-logger/lib/sender.js:378:12

Причем такие ошибки возникают не всегда. Кто-нибудь сталкивался с таким?

Гугление вопроса сообщает: "ECONNRESET означает, что другая сторона TCP-диалога внезапно закрыла свой конец соединения".

О чем конкретно эта ошибка говорит? Какие варианты можно попробовать, чтобы решить эту проблему?


Ответы (0 шт):