docker -компонент: Rsyslog и Fluentd в Docker Контейнеры не связываются - PullRequest
0 голосов
/ 09 января 2020

Я выполняю некоторые "игры вокруг", чтобы увидеть, насколько эффективно использование Rsyslog для отправки данных во Fluentd в качестве централизованного сервера, а затем для отправки результатов в ElasticSearch. Изучив документацию, rsyslog может переслать данные в fluentd, если в файле rsyslog.conf установлено следующее:

$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName fwdRule1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList   # run asynchronously
$ActionResumeRetryCount -1    # infinite retries if host is down
*.* @fluentd:9881
*.* @@fluentd:9881

Файл docker -compose.yml:

version: '3'
services:
  rsyslog:
    image: vimagick/rsyslog
    volumes:
      - ./rsyslog/config/rsyslog.conf:/etc/rsyslog.conf
      - ./rsyslog/data:/var/log
    ports:
      - "8514:514"
      - "8514:514/udp"
      - "1601:1601"
    depends_on:
      - "fluentd"
    networks:
      - demo-network
    environment:
      - TX=UTC
  fluentd:
    build: ./fluentd
    volumes:
      - ./fluentd/conf:/fluentd/etc
    ports:
      - "9880:9880"
      - "9880:9880/udp"
      - "9881:9881"
      - "9881:9881/udp"
    networks:
      - demo-network
networks:
  demo-network:

Когда я начинаю использовать docker -compose, появляется следующий вывод:

fluentd_1  | 2020-01-09 14:14:48 +0000 [info]: spawn command to main:  cmdline=["/usr/local/bin/ruby", "-Eascii-8bit:ascii-8bit", "/usr/local/bundle/bin/fluentd", "-c", "/fluentd/etc/fluent.conf", "-p", "/fluentd/plugins", "--under-supervisor"]
rsyslog_1  | rsyslogd: cannot connect to fluentd:9881: Connection refused [v8.1911.0 try https://www.rsyslog.com/e/2027 ]
rsyslog_1  | rsyslogd: cannot connect to fluentd:9881: Connection refused [v8.1911.0 try https://www.rsyslog.com/e/2027 ]

Контейнер rsyslog не может связаться с контейнером fluentd через имя хоста. У кого-нибудь есть причина, почему это так?

...