容器的監控和日誌管理
阿新 • • 發佈:2022-05-18
一、Docker監控工具和使用
1、Docker自帶的監控命令
監控容器最簡單的方法是使用Docker自帶的監控命令:docker ps、docker top、docker stats。
(1)docker ps檢視容器狀態
可以使用 docker ps
或 docker container ls
命令顯示容器列表。
# 語法 [root@hqs ~]# docker ps --help Usage: docker ps [OPTIONS選項] List containers Options: -a, --all Show all containers (default shows just running) # 顯示所有的容器(包括未執行的容器) -f, --filter filter Filter output based on conditions provided # 根據條件過濾顯示的容器 --format string Pretty-print containers using a Go template # go模式格式化列印容器 -n, --last int Show n last created containers (includes all states) (default -1) # 列出最近建立的幾個容器(含所有狀態) -l, --latest Show the latest created container (includes all states) # 列出最新建立的容器(含所有狀態) --no-trunc Dont truncate output # 不截斷輸出(ID和COMMAND) -q, --quiet Only display numeric IDs # 只顯示容器ID -s, --size Display total file sizes # 顯示總檔案大小 # 案例 [root@localhost docker]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4fd309be3850 ubuntu "/bin/bash" 3 seconds ago Up 2 seconds busy_cray
(2)docker top檢視容器程序
檢視容器中正在執行的程序。
# 語法 [root@localhost ~]# docker top --help Usage: docker top CONTAINER [ps OPTIONS] Display the running processes of a container # 案例 [root@localhost ~]# docker top busy_cray UID PID PPID C STIME TTY TIME CMD root 1467 1448 0 01:33 pts/0 00:00:00 /bin/bash [root@localhost ~]# docker run -tid --name redis-test redis 3a0d4ca05b5c3ab4b65beb333264b504247c6dd4cedee323a7ecdb41c518f6bc [root@localhost ~]# [root@localhost ~]# docker top redis-test UID PID PPID C STIME TTY TIME CMD polkitd 1655 1636 0 01:34 pts/0 00:00:00 redis-server *:6379 # 案例:跟引數的情況 [root@localhost ~]# docker top redis-test -ef UID PID PPID C STIME TTY TIME CMD polkitd 1655 1636 0 01:34 pts/0 00:00:00 redis-server *:6379 [root@localhost ~]# docker top redis-test aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND polkitd 1655 0.1 0.4 52812 9880 pts/0 Ssl+ 01:34 0:00 redis-server *:6379 # 案例:檢視所有正在執行的容器中的程序資訊 [root@localhost ~]# for i in `docker ps | grep Up|awk '{print $1}'`;do echo \ &&docker top $i;done UID PID PPID C STIME TTY TIME CMD polkitd 1655 1636 0 01:34 pts/0 00:00:00 redis-server *:6379 UID PID PPID C STIME TTY TIME CMD root 1467 1448 0 01:33 pts/0 00:00:00 /bin/bash UID PID PPID C STIME TTY TIME CMD root 1521 1503 0 01:33 pts/0 00:00:00 /bin/bash UID PID PPID C STIME TTY TIME CMD root 1575 1556 0 01:33 pts/0 00:00:00 /bin/bash
(3)docker stats檢視容器資源使用
第三方工具cAdvisor:用於分析正在執行的容器的資源佔用情況和效能指標,是具有圖形介面、最易於入門的Docker容器監控工具。
Weave Scope:開源的故障診斷與監控工具,除了用於Docker外,還可以用於Kubernetes叢集。Weave Scope會自動生成容器之間的關係圖,便於管理員直觀地以視覺化的方式監控容器化和微服務化的應用。Weave Scope能夠進行跨主機監控,並且消耗的資源非常少。