Các ứng dụng container hóa cần logging tập trung và monitoring vì các container là tạm thời và đông đảo — log và metric phải được thu thập bên ngoài để chúng tồn tại qua việc xóa container và cung cấp khả năng nhìn thấy trên toàn bộ hệ thống. Đây là khả năng quan sát thiết yếu cho các container production.
Logging: log ra stdout/stderr, tổng hợp tập trung
THỰC HÀNH TỐT NHẤT: các container nên log ra STDOUT/STDERR (không ra tệp bên trong container):
→ Docker bắt những cái này (`docker logs`); một logging DRIVER chuyển tiếp chúng đi nơi khác
→ TẠI SAO: các container là TẠM THỜI — log trong một container bị xóa thì MẤT. Tập trung chúng.
Các logging driver / pipeline chuyển tiếp log tới một hệ thống trung tâm:
→ json-file (mặc định), syslog, fluentd, awslogs, gelf, v.v. (--log-driver)
→ Các stack tổng hợp: ELK/Elastic (Elasticsearch+Logstash+Kibana), Loki+Grafana,
logging cloud (CloudWatch, Stackdriver), Datadog, v.v.
→ Log tập trung: tìm kiếm được, bền vững, trải rộng TẤT CẢ container/host → khả năng nhìn thấy thực sự
