使用 Sysdig 監控您的Docker容器
Sysdigg直接從 Linux 核心(而不是 /proc)收集系統呼叫和事件,並(自行)執行 strace、tcpdump、htop、iftop、lsof 和 Wireshark 所做的工作。當您需要對 Linux 上的這些微服務進行故障排除時,Sysdig 會為您提供支援。
安裝 Sysdig:
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash |
讓我們部署一個 WordPress Docker 容器,這樣我們就可以監控一些東西。這比部署一次性容器要複雜一些,但值得知道如何去做。
首先,使用以下命令拉出 MariaDB 容器:
sudo docker pull mariadb
接下來,使用以下命令建立將存放 WordPress 資料(用於持久儲存)的必要資料夾:
sudo mkdir /opt/wordpress sudo mkdir -p /opt/wordpress/database sudo mkdir -p /opt/wordpress/html |
建立 MariaDB 容器:
docker run -e MYSQL_ROOT_PASSWORD=PWORD1 -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=PWORD2 -e MYSQL_DATABASE=wordpress_db -v /opt/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb |
其中 PWORD1 和 PWORD2 是唯一/強密碼。
使用以下命令拉取最新版本的 WordPress:
docker pull wordpress:latest
部署 WordPress 容器:
docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=PWORD2 -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /opt/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress |
其中“PWORD 2”是您在之前的 docker run命令中為 wpuser 設定的密碼。
您現在可以將瀏覽器指向http://SERVER:8081(其中 SERVER 是託管伺服器的 IP 地址)並完成 WordPress 安裝。
如何使用 Sysdig
現在我們有了要監控的東西,讓我們看看如何使用 Sysdig。我更喜歡使用ncurses命令列介面,因此我們將使用 csysdig,而不是使用 sysdig 命令。
首先,讓我們列出當前正在執行的容器:
sudo csysdig -vcontainers
如果您部署的唯一容器用於 WordPress 站點,您應該會看到兩個容器正在執行:
- WordPress的
- MariaDB 資料庫
清單還將告訴您每個容器使用的 CPU 數量、關聯程式的數量、執行緒、虛擬記憶體、駐留記憶體、檔案、正在使用的引擎以及容器 ID。所以,我們已經看到了使用 Sysdig 的價值。
要檢視與容器關聯的每個程式,請發出以下命令:
sudo csysdig -pc
這將列出(對於找到的每個程式):
- PID(程式 ID)
- PPID(父程式 ID)
- VPID(虛擬程式 ID)
- CPU(容器使用的CPU)
- USER(啟動容器的使用者)
- 虛擬記憶體
- RES(分配的駐留記憶體)
- 檔案(容器使用的檔案)
- Net(容器使用的總網路 I/O)
- 容器(容器名稱)
- 命令(容器使用的命令)
上述命令的問題在於它可能會給你太多的資訊。舉例來說,您只想檢視與一個特定容器(在我們的示例中為名為 wpress 的容器)相關聯的資訊。為此,您可以發出以下命令:
sudo sysdig -pc -c topprocs_cpu container.name=wpcontainer
從該命令中,您應該看到列出:
- 中央處理器%
- 過程
- 主機_pid
- 容器_pid
- 容器名稱
sudo sysdig -pc -c topprocs_net container.name=wordpressdb
上面的命令將列出:
- 位元組
- 過程
- 主機_pid
- 容器_pid
- 容器名稱
關於上述命令要了解的一件事是,只有在存在實際網路流量時,您才能看到資料。
按 F2 開啟現有 csysdig 檢視的選單:您應該看到以容器為中心的檢視,例如容器、容器錯誤、K8s 控制器、K8s 部署、K8s 名稱空間等。
結論
Sysdig 和 csysdig 是功能強大的工具,可幫助您從終端視窗監控容器部署並對其進行故障排除。安裝和使用都很簡單。要了解有關 csysdig 可以為您做什麼的更多資訊,請發出以下命令:
man csysdig
要麼
man sysdig
相關文章
- 入門系列之使用Sysdig監視您的Ubuntu 16.04系統Ubuntu
- Docker 容器監控原理及 cAdvisor 的安裝與使用Docker
- Docker 容器監控系統初探Docker
- docker08容器監控工具-WeaveScopeDocker
- Docker容器的自動化監控實現Docker
- 如何監控docker容器內的服務程式Docker
- Sysdig: 2019年容器使用報告
- 使用sysdig檢視容器裡的系統呼叫
- 使用iptables管控docker容器Docker
- Docker容器視覺化監控中心搭建Docker視覺化
- Docker進階-容器監控cAdvisor+InfluxDB+GranfanaDockerUX
- 利用TICK搭建Docker容器視覺化監控中心Docker視覺化
- 詳解Docker容器視覺化監控中心搭建Docker視覺化
- zabbix容器化安裝及監控docker應用Docker
- 6.prometheus監控--監控dockerPrometheusDocker
- Docker——11——Docker的監控——(待發)Docker
- docker監控方案Docker
- 阿里雲容器Kubernetes監控(一)-資源監控阿里
- 《docker高階篇(大廠進階):7.Docker容器監控之CAdvisor+InfluxDB+Granfana》DockerUX
- 360容器平臺監控實踐
- 使用 Docker 安裝 Zabbix,並配置自定義監控項Docker
- docker部署監控Prometheus+GrafanaDockerPrometheusGrafana
- 效能測試之Docker監控Docker
- JD價格監控【docker版】Docker
- 前端監控基礎篇 — Docker + Sentry 搭建前端監控系統前端Docker
- 監控索引的使用(轉)索引
- 【DB寶36】使用Docker分分鐘搭建漂亮的prometheus+grafana監控DockerPrometheusGrafana
- Docker--容器和映象的使用Docker
- docker 容器的使用與檢視Docker
- 使用Jexus 容器化您的 Blazor 應用程式Blazor
- upptime:使用GitHub Actions監控你的網站健康監控Github網站
- 用 Weave Scope 監控叢集 - 每天5分鐘玩轉 Docker 容器技術(175)Docker
- 使用Admin監控
- Docker-容器使用Docker
- Docker框架的使用系列教程(四)容器的使用Docker框架
- Docker 之 執行狀態監控Docker
- Docker 快速搭建主從 + 哨兵監控Docker
- prometheus-監控docker伺服器PrometheusDocker伺服器