目前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还有目标服务。
本文转自 OneAPM 官方博客