首頁 >後端開發 >Golang >將 Docker 容器日誌取得到 Elasticsearch 的最佳方式是什麼?

將 Docker 容器日誌取得到 Elasticsearch 的最佳方式是什麼?

王林
王林轉載
2024-02-08 22:00:39562瀏覽

将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?

php小編草莓將Docker容器日誌取得到Elasticsearch的最佳方式是使用Filebeat。 Filebeat是一個輕量級的日誌檔案資料收集器,可以將Docker容器的日誌即時傳送到Elasticsearch進行索引和儲存。透過設定Filebeat的docker input和elasticsearch output,可以方便地實現將Docker容器日誌匯入到Elasticsearch的過程。同時,Filebeat也提供了豐富的過濾和解析選項,可根據需求對日誌進行處理和轉換。這種方式不僅簡單易用,而且效率高,是取得Docker容器日誌的最佳選擇。

問題內容

我有一個在容器中運行的 go 應用程序,它執行大量日誌記錄:

log.Println("Something happened!")

由於我可以 ssh 到它運行的伺服器,所以我可以執行 docker logs -f [id] 來查看 stderr 輸出,這一切都很好。

但現在我希望日誌進入 elasticsearch。

最好的方法是什麼?我見過很多複雜的方法。

一種方法是使用 gelf 日誌記錄格式和 logstash,但我能找到的唯一 go gelf 格式化程式非常舊。

或記錄到檔案並使用 filebeat。但我不想跳過該文件步驟嗎?

解決方法

我會嘗試使用 docker 設定 Fluentd:

https://www.php.cn/link/39799c18791e8d7eb29704fc5bc04ac8

https://docs.docker.com/config/containers/logging/流暢度/

#然後讓 fluidd 推送到elasticsearch:

https://www.php.cn/link/e0330da43b4d33f4ef9247ad260074f4

以上是將 Docker 容器日誌取得到 Elasticsearch 的最佳方式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除