容器監控工具WeaveScope
一 背景
在生成環境中k8s應用部署眾多,需要一款視覺化工具方便日常獲知叢集的實時狀態,併為故障排查提供及時和準確的資料支援。
weavescope支援docker和k8s,本次介紹docker的使用方法。
功能詳細介紹參考官方文件:https://www.weave.works/docs/scope/latest/features/
二安裝部署執行
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch
開放埠預設為4040,訪問地址http://192.168.1.1:4040
效果圖:
三WeaveScope同時監控多臺docker host
開一臺docker host、執行如下命令
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch
docker host1操作: #刪除容器 [root@node1 /]# docker rm -f $(docker ps -aq) #關聯192.168.1.1 192.168.1.2 [root@node1 /]# scope launch 192.168.1.1 192.168.1.2 7d0b310174146e8ea807c67f988911e471dc9ccb3d11891a4dd5164c70a930f9 Scope probe started Weave Scope is listening at the following URL(s): * http://192.168.122.1:4040/ * http://192.168.1.1:4040/ ———————————————————————————————— docker host2操作: [root@node2 ~]# docker rm -f $(docker ps -aq) #關聯1.2、1.1 [root@node2 ~]# scope launch 192.168.1.2 192.168.1.1 0d17e886f800f6f0dc2941fd9101e9301e2c1c0120d9c0f8fd7f86ca187555f9 Scope probe started Weave Scope is listening at the following URL(s): * http://192.168.1.2:4040/
效果圖:
我們上述雖然做出來了。但是,發現一個嚴重的缺點,登入不要密碼,如果別人知道IP和埠修改容器,那是多嚴重的損失!!
做出的修改命令如下:
#刪除所有容器 [root@node1 /]# docker rm -f $(docker ps -aq) 7d0b31017414 #下載容器 [root@node1 /]# sudo curl -L https://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope #執行x許可權 [root@node1 /]# sudo chmod a+x /usr/local/bin/scope #設定使用者為user、密碼為123456 [root@node1 /]# scope launch -app.basicAuth -app.basicAuth.password 123456 -app.basicAuth.username user -probe.basicAuth -probe.basicAuth.password 123456 -probe.basicAuth.username user bc441607ee02ca2bd24f567b66c635ac4f6ea2ee8ccd01ac4b4cba62af01f0ee Scope probe started Weave Scope is listening at the following URL(s): * http://192.168.122.1:4040/ * http://192.168.1.1:4040/
- 第一個下載命令換成從它官方的github上下載最新版本。
- 第二個命令只是加許可權都一樣沒啥區別。
- 第三個執行命令是有很多道道的,官方的命令是最基本的執行。改進版的是可以支援使用者密碼登入的功能,因為畢竟容器的監控我們不希望任何人都可以看到的。這個東西我也是搜了很久在官方的issues中找到了答案
效果圖: