O Docker compose tem a palavra-chave de registro: source
logging:
driver: syslog
options:
syslog-address: "tcp://192.168.0.42:123"
Então, se você sabe para onde ir a partir daí, vá em frente.
Se não, posso aconselhá-lo a examinar o gelf
driver de log do docker e o plug-in de entrada do logstash gelf
Se você, por exemplo, usar esta configuração básica de ELK-stack-in-containers, você atualizaria o docker- compor o arquivo e adicionar a porta - "12201:12201/udp"
ao logstash.
Edite a seção de entrada logstash.conf
para:
input {
tcp {
port => 5000
}
gelf {
}
}
Em seguida, configure seus contêineres para usar o driver de registro gelf
(não syslog) e a opção gelf-address=udp://ip_of_logstash:12201
(em vez de syslog-address).
A única mágica que você terá que cuidar é como o Docker encontrará o endereço IP ou o nome do host do contêiner do Logstash. Você poderia resolver isso por meio da nomeação do docker-compose, dos links do Docker ou apenas manualmente.
Docker e ELK são poderosos, flexíveis, mas também grandes e complexos. Prepare-se para colocar em algum tempo sério, em leitura e experimentação.
Não tenha medo de abrir novas (e de preferência muito específicas) perguntas que você encontra enquanto explora tudo isso.