0
由於其高度的靈活性和可用性,我通常將應用程序作爲docker容器運行。有沒有辦法讓容器日誌進入我的logstash服務器。通過配置日誌驅動程序將Docker容器日誌發送到ELK堆棧 - 簡單方法
由於其高度的靈活性和可用性,我通常將應用程序作爲docker容器運行。有沒有辦法讓容器日誌進入我的logstash服務器。通過配置日誌驅動程序將Docker容器日誌發送到ELK堆棧 - 簡單方法
Docker包含多種日誌記錄機制,通過記錄驅動程序幫助您從運行容器和服務中獲取信息。
每個Docker守護程序都有一個默認日誌記錄驅動程序,每個容器使用該驅動程序,除非您將其配置爲使用不同的日誌記錄驅動程序。
您可以通過如下配置Logstash來簡單獲取容器日誌,並通過將其默認日誌驅動程序更改爲syslog來運行要查看其日誌的容器。
#logstash.conf
input {
tcp {
port => 5000
}
}
output {
stdout {}
}
以下兩個命令將在logstash中顯示hello-world容器日誌。
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"]
}