2017-01-25 18 views
0

Обычно я запускаю приложения в качестве контейнеров-докеров из-за его высокой гибкости и доступности. Есть ли способ получить журналы контейнеров на моем сервере logstash.Отправка журналов контейнера Docker в стек ELK путем настройки драйверов ведения журнала - простой метод

ответ

0

Docker включает в себя несколько механизмов регистрации, которые помогут вам получить информацию о запуске контейнеров и сервисов с помощью протоколирования драйверов.

Каждый демон Docker имеет драйвер регистрации по умолчанию, который использует каждый контейнер, если вы не настроили его на использование другого драйвера ведения журнала.

Вы можете просто получить свои журналы контейнеров, сконфигурировав Logstash следующим образом и запустив контейнер, чьи журналы нужно просмотреть, изменив свой драйвер журнала по умолчанию на syslog.

#logstash.conf 

input { 
    tcp { 
    port => 5000 
    } 
} 

output { 
    stdout {} 
} 

Следующие две команды будут отображать журналы контейнеров hello-world в logstash.

docker run -it --rm --name=logstash -p 5000:5000 -f /path/to/logstash.conf 

docker run --log-driver=syslog --log-opt syslog-address=tcp://<logstash-system-ip>:5000 hello-world 

Выход Logstash может даже послал к elasticsearch просто конфигурирование выходной секции как,

elasticsearch { 

    hosts => ["<elastic-system-ip>:9200"] 

    } 

Визита https://docs.docker.com/engine/admin/logging/overview/