容器监控—阿里云&容器内部服务监控

时间:2023-01-18 22:12:15

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