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


OneAPM蓝海讯通
11.4k 声望510 粉丝

Software makes the world run. OneAPM makes the software run.