容器監控—阿里雲&容器內部服務監控
目前Docker的使用越來越離不開對容器的監控,阿里雲最近上線了容器服務,不但提供了核心的容器和宿主機監控能力,而且支持集成 Cloud Insight 監控,下面會介紹如何集成。
首先介紹一下阿里雲的容器監控。阿里雲容器服務在用戶創建集群的時候就默認開啟了幾個容器服務,其中就包括一個容器監控服務,其監控大概就是使用這個服務來採集數據的。
容器監控的對象就是各個正在跑的容器本身的運行狀況,而如果你想要監控在容器裡面運行的服務的狀況呢?這時候Cloud Insight 就可以幫到你了。
那麼我們先來創建一個mysql的容器,選定鏡像/創建應用/使用鏡像創建,應用名字為some-mysql(這個後面會用到),
Advertisements
設置mysql的密碼,這裡配置了MYSQL_ALLOW_EMPTY_PASSWORD=yes, 然後點擊創建並部署,幾秒后,一個mysql容器就跑起來了。我們來看看阿里雲的容器服務對mysql容器的監控:
cpu,內存,網路,io這些指標都有了。
接下來來讓Cloudinsight把mysql監控了。
第一步,使用編排模板創建一個模板,這裡使用模板來創建是因為要用到docker-compose的external_links命令來link在運行的mysql容器:
cloudinsight:
image: 'oneapm/docker-oneapm-ci-agent:aliyun'
environment:
Advertisements
- LICENSE_KEY=xxx
- TAGS=daas:aliyun #看心情配置,這一項可以去掉 ps: tag在Cloudinsight是很有用的~
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /proc/:/host/proc:ro
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
external_links:
- some-mysql_some-mysql_1:mysql
這裡需要注意:
LICENSE_KEY 是從Cloudinsight網站獲取的
鏡像tag是aliyun
some-mysql_some-mysql_1,這是mysql的容器名(命名規則是 應用名_服務名_數字,由於mysql只有一個,數字就是1)
mysql 標識服務名(目前支持:redis,mysql,nginx,postgres,memcached)。 如果你有多個服務,在下面加上就行了~
確定然後保存。
第二步,選擇剛才創建的模板來創建應用,然後創建並部署,等待一段時間,等Cloudinsight應用就緒以後,就可以去Cloudinsight網站查看mysql的性能數據了~
是時候來張結果圖了(目前支持的全部容器):
監控的內容包括宿主機,docker還有目標服務。
當然目前這種需要配置的監控方式還是略low的,Cloud Insight 正在努力開發容器的自動發現,到時只需要把Cloud Insight 探針容器跑起來集群的服務就會自動被監控了,怎麼樣,很期待吧  ̄へ ̄。閱讀更多技術文章,請關注 OneAPM 官方技術博客。