容器監控—阿里雲&容器內部服務監控

目前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 官方技術博客。

Advertisements

你可能會喜歡