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

OneAPM官方技術部落格發表於2016-06-02

目前Docker的使用越來越離不開對容器的監控,阿里雲最近上線了容器服務,不但提供了核心的容器和宿主機監控能力,而且支援整合 Cloud Insight 監控,下面會介紹如何整合。

首先介紹一下阿里雲的容器監控。阿里雲容器服務在使用者建立叢集的時候就預設開啟了幾個容器服務,其中就包括一個容器監控服務,其監控大概就是使用這個服務來採集資料的。

容器監控的物件就是各個正在跑的容器本身的執行狀況,而如果你想要監控在容器裡面執行的服務的狀況呢?這時候Cloud Insight 就可以幫到你了。

那麼我們先來建立一個mysql的容器,選定映象/建立應用/使用映象建立,應用名字為some-mysql(這個後面會用到),

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

設定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:
    - 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 官方技術部落格

本文轉自 OneAPM 官方部落格

相關文章