您好,登錄后才能下訂單哦!
sysdig 是一個(gè)輕量級(jí)的系統(tǒng)監(jiān)控工具,同時(shí)它還原生支持容器。通過 sysdig 我們可以近距離觀察 linux 操作系統(tǒng)和容器的行為。 Linux 上有很多常用的監(jiān)控工具,比如 strace,tcpdump,htop, iftop,lsof ...... 而 sysdig 則是將這些工具的功能集成到一個(gè)工具中,并且提供一個(gè)友好統(tǒng)一的操作界面。
//安裝和運(yùn)行sysdig的最簡單方法就是運(yùn)行docker容器,命令為:[root@sqm-docker01 ~]# docker run -it --rm --name=sysdig --privileged=true -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/module:ro -v /usr:/host/usr:ro sysdig/sysdig
//如果提示下載失敗,運(yùn)行下邊這條命令:
sysdig-probe-loader
可以看到,sysdig 容器是以 privileged 方式運(yùn)行,而且會(huì)讀取操作系統(tǒng) /dev,/proc 等數(shù)據(jù),這是為了獲取足夠的系統(tǒng)信息。 啟動(dòng)后,通過 docker container exec -it sysdig bash 進(jìn)入容器。
//成功之后執(zhí)行 csysdig 命令,將以交互方式啟動(dòng) sysdig:
root@971f955c2f7b:/# csysdig
進(jìn)入界面后點(diǎn)擊“F2(Views)”,然后雙擊“Containers”。
該界面可以實(shí)時(shí)監(jiān)控容器的各種信息:
如果想看某個(gè)容器運(yùn)行的進(jìn)程,比如 nginx,將光標(biāo)移到目標(biāo)容器,然后回車或者雙擊。
還可以繼續(xù)雙擊查看進(jìn)程中的線程。
返回上一級(jí),按退格鍵即可。 sysdig 的交互功能很強(qiáng),如果界面顯示的條目很多,可以點(diǎn)擊底部 Search菜單,然后輸入關(guān)鍵字進(jìn)行查找。如下圖,關(guān)鍵字為 service。
如果覺得界面刷新太快,看不清楚關(guān)注的信息,可以點(diǎn)擊底部 Pause 菜單。 sysdig 的特點(diǎn)如下: 監(jiān)控信息全,包括 Linux 操作系統(tǒng)和容器。 界面交互性強(qiáng)。
不過 sysdig 顯示的是實(shí)時(shí)數(shù)據(jù),看不到變化和趨勢(shì)。而且是命令行操作方式,需要 ssh 到 Host 上執(zhí)行,會(huì)帶來一些不便。
Weave Scope 的最大特點(diǎn)是會(huì)自動(dòng)生成一張 Docker 容器地圖,讓我們能夠直觀地理解、監(jiān)控和控制容器。
1,安裝scope:
在github上下載源代碼:
[root@sqm-docker01 ~]# wget https://github.com/weaveworks/scope/archive/v1.11.0.tar.gz
[root@sqm-docker01 ~]# cd /usr/local/bin/scope-1.11.0/
[root@sqm-docker01 ~]# cd /usr/local/bin/scope-1.11.0/
[root@sqm-docker01 scope-1.11.0]# mv scope /usr/local/bin/
[root@sqm-docker01 scope-1.11.0]# chmod +x /usr/local/bin/scope
[root@sqm-docker01 scope-1.11.0]# scope launch
如果現(xiàn)在有多臺(tái)dockerhost時(shí),又該如何部署。
(1)下載weave/scope鏡像
[root@sqm-docker02 ~]# docker pull weaveworks/scope
(2)下載v1.11.0源碼包,并進(jìn)行解壓(該軟件包是支持下面的執(zhí)行命令)
[root@sqm-docker02 ~]# tar zxf v1.11.0.tar.gz
[root@sqm-docker02 ~]# cd scope-1.11.0/
[root@sqm-docker02 scope-1.11.0]# cp scope /usr/local/bin/
[root@sqm-docker02 scope-1.11.0]# chmod +x /usr/local/bin/scope
(3)接下來在docker01上添加監(jiān)控主機(jī):[root@sqm-docker01 scope-1.11.0]# scope launch 172.16.1.30 172.16.1.31 #注意本機(jī)ip在前,其他主機(jī)在后
docker02上相同的操作:
[root@sqm-docker02 scope-1.11.0]# scope launch 172.16.1.31 172.16.1.30
訪問網(wǎng)頁:(隨便其中一臺(tái)主機(jī)的地址都是可以的)
發(fā)現(xiàn)可以分別監(jiān)控到兩臺(tái)docker主機(jī)上所運(yùn)行的容器。
scope監(jiān)控針對(duì)的是容器的信息,它依賴于防火墻,所以無法實(shí)現(xiàn)遠(yuǎn)程控制,且對(duì)用戶沒有限制,安全系數(shù)較低。
———————— 本文至此結(jié)束,感謝閱讀 ————————
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。