Обнаружение проблемного (журналируемого) сервиса на ранчере
Я хочу отправлять логи от одного rancher
обслуживание (например, my_service
) другому rancher
служба запуска ELK
стек с syslog
Водитель
Я настраиваю свой стек через docker-compose
следующим образом более или менее:
elk-custom:
# image: elk-custom
build:
context: .
dockerfile: Dockerfile-elk
ports:
- 5601:5601
- 9200:9200
- 5044:5044
- 5151:5151
- 5152:5152
my_service:
image: some_image_from_my_local_registry
depends_on:
- elk-custom
logging:
driver: syslog
options:
syslog-address: "tcp://elk-custom:514"
Тем не менее, на панели инструментов стека, для my_service
Я получил:
my_service (Expected state running but got error: Error response from daemon: failed to initialize logging driver: dial tcp: lookup elk-custom on 10.0.2.3:53: server misbehaving)
Есть ли что-то дополнительное, необходимое для ведения конкретной регистрации (elk-custom
) услуга обнаруживается?
1 ответ
Там происходят некоторые вещи, которые проблематичны. Во-первых, если вы выполняете сборку, вы должны использовать удаленный URL-адрес git или HTTP или контекст на основе s3.
Пожалуйста, смотрите документы: http://rancher.com/docs/rancher/v1.6/en/cattle/rancher-compose/
Как правило, вы создаете образ и развертываете его как сервис. Сборки в большей степени разрабатываются и меньше используются на производственной стороне.
Следующее, что при настройке нескольких хостов у вас будут проблемы с маршрутизацией в сети Rancher. Я бы порекомендовал развернуть сборщик Logstash на всех узлах с входом системного журнала в режиме сети хоста. Затем вы можете указать драйверу ведения журнала на цель системного журнала localhost. Каждый из сборщиков logstash затем перенаправит их в другой logstash для фильтрации или в эластичный кластер.