Rumah >pembangunan bahagian belakang >Golang >Apakah cara terbaik untuk mendapatkan log kontena Docker ke Elasticsearch?

Apakah cara terbaik untuk mendapatkan log kontena Docker ke Elasticsearch?

王林
王林ke hadapan
2024-02-08 22:00:39562semak imbas

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

Cara terbaik untuk mendapatkan log kontena Docker ke Elasticsearch ialah menggunakan Filebeat. Filebeat ialah pengumpul data fail log ringan yang boleh menghantar log kontena Docker ke Elasticsearch dalam masa nyata untuk pengindeksan dan penyimpanan. Dengan mengkonfigurasi input docker Filebeat dan output elasticsearch, anda boleh mengimport log kontena Docker dengan mudah ke dalam Elasticsearch. Pada masa yang sama, Filebeat juga menyediakan pelbagai pilihan penapisan dan penghuraian, yang boleh memproses dan mengubah log mengikut keperluan. Kaedah ini bukan sahaja mudah dan mudah digunakan, tetapi juga sangat cekap Ia adalah pilihan terbaik untuk mendapatkan log kontena Docker.

Kandungan soalan

Saya mempunyai aplikasi go yang berjalan dalam bekas yang melakukan banyak pembalakan:

log.Println("Something happened!")

Memandangkan saya boleh ssh ke pelayan yang sedang berjalan, saya boleh melaksanakan docker logs -f [id] 来查看 stderr output dan semuanya baik.

Tetapi sekarang saya mahu log masuk ke elasticsearch.

Apakah cara terbaik? Saya telah melihat banyak kaedah yang rumit.

Salah satu cara ialah menggunakan format log gelf dan logstash, tetapi satu-satunya pemformat gelf go yang saya dapati adalah sangat lama.

Atau log ke fail dan gunakan filebeat. Tetapi saya tidak mahu melangkau langkah fail itu?

Penyelesaian

Saya akan cuba menyediakan Fluentd menggunakan docker:

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

https://docs.docker.com/config/containers/logging/fluent/

Kemudian biarkan bendalir menolak ke elasticsearch:

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

Atas ialah kandungan terperinci Apakah cara terbaik untuk mendapatkan log kontena Docker ke Elasticsearch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam