OneAPM CI与阿里云容器服务集成

应用监控是在生产环境使用Docker的重要条件。阿里云容器服务不但提供了核心的容器和宿主机监控能力,而且支持客户集成自己的监控解决方案,这样可以让容器服务平台融合到自己企业的IT管控之下。今天我们会以OneAPM监控为例,介绍如何轻松把3方监控方案集成到容器服务。

1. OneAPM CI 简介

Cloud Insight 集成了数十种互联网流行基础组件的监控,只需要进行最小化的配置就可以实现复杂的基础组件监控, 免除了传统基础组件监控中的复杂流程。一切就只有两步,安装探针,查看仪表盘。

2. 集成OneAPM和阿里云容器服务应用

2.1 OneAPM相关准备

在http://www.oneapm.com/上注册一个OneAPM帐号。 

登录OneAPM,选择CI,点击左侧菜单条->平台->平台,选择添加平台。平台添加示例里包含LICENSE_KEY,记录LICENSE_KEY。

2.2 在阿里云容器应用中安装One APM agent

方法一:使用编排模版创建容器

在容器服务页面,选择模版编排,我的模版,点击创建,然后使用模版创建应用。模版示例如下。

OneAPM:
  image: 'oneapm/docker-oneapm-ci-agent:latest'
  volumes:
    - '/var/run/docker.sock:/var/run/docker.sock:rw'
    - '/proc/:/host/proc/:ro'
    - '/sys/fs/cgroup/:/host/sys/fs/cgroup:ro'
  environment:
    - LICENSE_KEY=${key}
  labels:
     aliyun.global: 'true'
  restart: always

Note1: 为了隐藏LICENSE_KEY, 采用模版变量设置license,在使用模版创建应用的时候再输入key值。

Note2: 使用阿里云容器服务提供的标签aliyun.global,并设置为true,可以将该监控探针部署在集群的每一个节点中。当集群增加节点时,该监控探针会自动部署到新节点上。

Note3: 在模版中可以加入你需要的其他组件镜像等,本文旨在介绍OneAPM CI agent 镜像,因此省略其他。

方法二:直接创建容器

登录容器服务管理控制台,选择应用,点击创建应用。

输入应用相关信息,点击使用镜像创建。

在应用配置页面,填写如下信息,点击创建并部署。

镜像名称:oneapm/docker-oneapm-ci-agent

环境变量:

LICENSE_KEY [见2.1]

数据卷:

/var/run/docker.sock  /var/run/docker.sock  rw

/proc/               /host/proc/           ro

/sys/fs/cgroup/       /host/sys/fs/cgroup   ro

点开更多设置,配置aliyun.global标签,值为true。

One APM CI平台此时已经展示上面添加的包含OneAPM CI agent的容器相关监控数据。

Note4: 如果你还想让用OneAPM获取阿里云平台其他的监控信息,请看2.3。

2.3 连接阿里云

登录OneAPM,点击左侧菜单条->设置->配置平台服务,选择所有,点击阿里云。根据下面的界面填入阿里云控制台提供的AccessKeys,点击保存。

Note5: 这个时候你阿里云帐号下的所有的ECS,RDS实例都已经被监控,CI平台界面可以看到相关信息。

2.4 查看监控数据

docker  监控数据

system相关数据

更多OneAPM CI的功能此处就不多做介绍了,详情参见oneapm文档。

2.5 相关链接

 https://cloud.oneapm.com/

 http://docs-ci.oneapm.com/

https://hub.docker.com/r/oneapm/docker-oneapm-ci-agent/builds/

 https://hub.docker.com/r/oneapm/docker-oneapm-ci-agent/

3. 总结

容器技术一次构建到处部署的特点,大大减少了开发测试和运维人员搭建环境的时间人力开销。阿里云容器服务更简化了容器集群的创建和管理,并且优化了云端容器应用的生命周期管理。

容器服务作为一个开放的平台,可以支持三方监控、日志、存储等扩展。 利用Docker镜像和Compose模版,就可以非常简单地地把OneAPM CI Agent部署到阿里云容器服务的每个集群节点上,并且随着集群伸缩,将Agent动态安装配置到新节点上。通过这种方式可以方便的把容器服务集成到企业现有的监控框架之中。

时间: 2025-01-30 03:29:15

OneAPM CI与阿里云容器服务集成的相关文章

在阿里云容器服务中运行离线作业

目前在在线应用,尤其是无状态的在线应用领域,Docker容器已经成为执行层的事实标准,有大量云服务商提供容器云服务.但在离线计算领域,还很少有服务商提供这样的能力. 但离线计算在实际生产中使用很广,小到一个脚本任务,大到大数据分析:而且离线计算对资源隔离.环境隔离的需求更高,这正是docker容器的优势.因此,阿里云容器服务抽象出离线计算的基本模型,推出了基于Docker容器的离线计算功能.其核心功能是: 作业编排 作业调度与生命周期管理 存储与日志等功能的集成 基本概念 首先介绍一下离线计算的

使用阿里云容器服务Jenkins实现持续集成和Docker镜像构建(updated on 2017.3.3)

持续集成作为敏捷开发重要的一步,其目的在于让产品快速迭代的同时,尽可能保持高质量.每一次代码更新,都要通过自动化测试来检测代码和功能的正确性,只有通过自动测试的代码才能进行后续的交付和部署.本文主要介绍如何将时下最流行的持续集成工具之一的Jenkins结合阿里云容器服务,实现自动测试和镜像构建推送. 接下来的演示是如何通过阿里云容器服务Jenkins实现自动测试和Docker镜像构建,实现高质量的持续集成.具体场景:每次代码提交到GitHub上的nodejs的项目中,阿里云容器服务Jenkins

在阿里云容器服务上,轻松搭建Concourse CI

Concourse CI是一款CI/CD工具,它的魅力在于极简设计,被广泛应用于Cloud Foundry各个模块的CI/CD.阿里云也推出了CI工具CodePipeline,开箱即用,推荐试用. Concourse CI官方提供了标准的Docker镜像,在阿里云容器服务部署一套 Concourse CI应用是很轻松的一件事儿. 准备Docker集群 首先,在阿里云容器服务控制台创建一个集群.简单起见,这里节点数为1,网络类型为经典网络. 集群创建过程大约几分钟,成功后的状态如下图: 然后需要开

使用阿里云容器服务Jenkins实现持续集成之GitLab篇

前面有篇文章<使用阿里云容器服务Jenkins实现持续集成和Docker镜像构建>详细地描述了如何通过阿里云容器服务平台,快速创建Jenkins应用,结合GitHub实现持续集成和镜像构建.这次将使用阿里云容器服务搭建GitLab作为代码管理仓库,最后使用Jenkins插件aliyun-container-service-deploy实现部署应用,并支持蓝绿发布和标准发布两种发布策略. 1.部署Jenkins和Slave 1.1使用编排模板一键部署 阿里云容器服务的示例模板中已经内置支持了Je

使用阿里云容器服务Jenkins 2.0实现持续集成之the tag you want篇(updated on 2017.09.06)

最近收到很多有关于持续集成场景中image tag的反馈,例如,每次image build的时候希望"Jenkins"能够给image标上不一样的tag,部署应用到阿里云容器服务希望Aliyun-Container-Service-Deploy插件能够实现不是每次以固定的tag发布.本文在原来的持续集成场景中增加这样的两种能力:根据git SHA和构建时间来给image打tag,支持环境变量和compose模板配合部署应用. 为了简洁起见,本文将上述两种能力在一个持续集成场景中进行运用

使用阿里云容器服务Jenkins 2.0实现持续集成之Pipeline篇(updated on 2016.12.23)

Jenkins 2.0 Jenkins 2.0新特性:Pipeline as code,全新的开箱体验和UI可用性提升以及完全向后兼容. Pipeline as Code通过使用Groovy DSL来描述一套运行于Jenkins上的工作流程,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程.并且,Jenkins支持从代码库直接读取脚本. 全新的开箱体验和UI可用性提升Jenkins 1.XXX 安装默认是开放所有权限,因为安全性存在隐患.而Jenkins 2.0

Docker监控:基于阿里云容器服务构建自己的Docker监控框架

微服务架构通过将一个复杂系统分解成一系列独立开发.部署和运维的服务,提升了整个系统的敏捷性,可以灵活的响应业务和规模的变化.而Docker技术则将服务的部署和环境完全解耦,利用Docker的可移植性和敏捷性,快速交付分布式应用,从而大大提升了部署运维效率.然而大规模分布式微服务应用,也会给系统监控带来新的挑战. 除去分布式应用自身的复杂性,微服务倡导的快速迭代和动态部署都会加剧管控的复杂性.从技术角度来看,传统的监控系统大多是针对物理机或虚拟机设计的,通常使用静态的配置项来建立应用.环境与监控指

阿里云容器服务 - 提速云端应用部署与运维

阿里云容器服务 - 提速云端应用部署与运维 阿里云容器服务简介 什么是容器服务 什么是容器 容器服务解决了什么问题 容器服务架构 容器服务使用流程及场景 容器服务 阿里云容器服务(Container Service)是一种高性能可伸缩的容器管理服务.支持一键部署Docker集群,提供便利的基于容器的服务与应用的编排.部署及完整的生命周期管理.提供阿里云Docker镜像加速管理服务,支持基于Git等代码仓库集成.http://www.aliyun.com/product/containerserv

DevOps与阿里云容器服务(二)

前言 在本文中,将会通过一个简单的例子来介绍使用阿里云容器服务进行containerOps的实践与经验. 第一个E2E的containerOps的例子 从DevOps的角度来讲,最核心的本质是从开发到部署的流程.传统的DevOps的流程大致的步骤如下. 而对于containerOps来讲大致的流程如下 那么对于第一个E2E的场景,我们可以做的更简单一点,我们要完成的是对于一个已经部署上线的应用,如何进行自动更新. 我们先简单的以一个nodejs的应用为例,这个应用使用使用express做一个简单