CodeGym /Các khóa học /Docker SELF /Công cụ giám sát tích hợp sẵn

Công cụ giám sát tích hợp sẵn

Docker SELF
Mức độ , Bài học
Có sẵn

3.1 Lệnh docker stats

Docker cung cấp một công cụ tích hợp để giám sát container theo thời gian thực — lệnh docker stats. Lệnh này cho phép bạn theo dõi các chỉ số hiệu suất chính của container, như mức sử dụng CPU, bộ nhớ, mạng và đĩa. Hãy cùng tìm hiểu cách sử dụng docker stats để có cái nhìn tổng quan về trạng thái và hiệu suất của các container của bạn.

Lệnh docker stats cung cấp thống kê động về hoạt động của container theo thời gian thực. Nó hiển thị các chỉ số sau đây cho từng container:

  • CPU %: phần trăm sử dụng CPU của container.
  • MEM USAGE / LIMIT: mức sử dụng bộ nhớ của container và giới hạn được thiết lập.
  • MEM %: phần trăm sử dụng bộ nhớ của container.
  • NET I/O: lưu lượng mạng (đầu vào và đầu ra).
  • BLOCK I/O: số lượng thao tác vào/ra trên đĩa.
  • PIDS: số lượng process chạy bên trong container.

Sử dụng chính của lệnh docker stats

Chạy lệnh docker stats mà không có tham số sẽ hiển thị các chỉ số cho tất cả các container đang chạy:

Terminal


docker stats 

Ví dụ output của lệnh docker stats:

Terminal


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

Giám sát container cụ thể

Bạn có thể theo dõi các chỉ số cho một container cụ thể bằng cách chỉ định tên hoặc ID của nó:

Terminal


docker stats my_nginx 

3.2 Cấu hình lệnh docker stats

Tham số của lệnh docker stats

Lệnh docker stats hỗ trợ một số options, cho phép cậu tùy chỉnh đầu ra thông tin:

  • --all hoặc -a: hiển thị các metric cho tất cả container, bao gồm cả những container đã dừng.
  • --no-stream: hiển thị metrics một lần và kết thúc lệnh.
  • --format: tùy chỉnh đầu ra thông tin bằng các template.

Ví dụ sử dụng tham số --no-stream

Hiển thị metrics một lần cho tất cả container:

Terminal

docker stats --no-stream

Ví dụ sử dụng tham số --format

Đầu ra thông tin đã được format:

Terminal

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Ví dụ đầu ra:

Terminal

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 Sử dụng thực tế docker stats

Ví dụ 1: Theo dõi tải trên server

Bạn có thể sử dụng docker stats để monitor các container trên server và xác định các container có tải CPU hoặc bộ nhớ cao. Điều này giúp tối ưu hóa việc sử dụng tài nguyên và cải thiện hiệu suất của ứng dụng.

Terminal

docker stats

Ví dụ 2: Theo dõi một container cụ thể trong quá trình thử nghiệm

Khi thử nghiệm phiên bản mới của ứng dụng hoặc thay đổi cấu hình, bạn có thể theo dõi các metric của một container cụ thể để đảm bảo không có tác động tiêu cực đến hiệu suất.

Terminal

docker stats my_test_container

Ví dụ 3: Tích hợp với hệ thống monitoring

Bạn có thể tích hợp đầu ra từ docker stats với các hệ thống monitoring bên ngoài bằng cách sử dụng option --format để tạo định dạng output tương thích với công cụ monitoring của bạn.

Terminal

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

Hạn chế của lệnh docker stats

Mặc dù docker stats cung cấp các metric hữu ích trong thời gian thực, nhưng nó có một số hạn chế:

  • Metric hạn chế: Lệnh chỉ hiển thị các metric cơ bản và không cung cấp thông tin chi tiết về trạng thái của các container.
  • Sử dụng thủ công: docker stats thuận tiện khi sử dụng thủ công, nhưng để monitor tự động và cảnh báo thì tốt hơn nên dùng các công cụ chuyên dụng như Prometheus và Grafana.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION