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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 应用监控是在生产环境使用Docker的重要条件。阿里云容器服务不但提供了核心的容器和宿主机监控能力,而且支持客户集成自己的监控解决方案,这样可以让容器服务平台融合到自己企业的IT管控之下。今天我们会以OneAPM监控为例,介绍如何轻松把3方监控方案集成到容器服务。
应用监控是在生产环境使用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。
02926b28823c83dd58be885ca4799c12ebe699a1

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
701486d3e850bf119e6b5e18efae479f2d26f06a
点开更多设置,配置aliyun.global标签,值为true。
431094b7b97fda75e187a46d2e2d45cc12b640e7
One APM CI平台此时已经展示上面添加的包含OneAPM CI agent的容器相关监控数据。
2b419e56622070f0f1371a5985c916b0f73ab99b
Note4: 如果你还想让用OneAPM获取阿里云平台其他的监控信息,请看2.3。

2.3 连接阿里云
登录OneAPM,点击左侧菜单条->设置->配置平台服务,选择所有,点击阿里云。根据下面的界面填入阿里云控制台提供的AccessKeys,点击保存。
f9e927cb1b5162f357e605f3206f86f6e9478701
Note5: 这个时候你阿里云帐号下的所有的ECS,RDS实例都已经被监控,CI平台界面可以看到相关信息。
3bf704eacc23005a50a1d7a306acf73743ac3380

2.4 查看监控数据
docker  监控数据
cc8a65dfa9c82537acc083d7a30093d611e6c1c1
system相关数据
96e5ea84272c4337db693f224c1743ba5096a85d
更多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动态安装配置到新节点上。通过这种方式可以方便的把容器服务集成到企业现有的监控框架之中。


相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
7天前
|
Dart 前端开发 测试技术
移动应用开发的未来:跨平台框架与原生系统的融合深入理解软件测试中的持续集成与持续部署(CI/CD)
【5月更文挑战第30天】 在本文中,我们将深入探讨移动应用开发领域的最新趋势:跨平台开发框架与原生操作系统的融合。随着移动设备成为日常生活的核心,高效、灵活且性能卓越的应用程序需求日益增长。文章分析了当前主流的跨平台工具如React Native和Flutter,并探讨了它们如何与iOS和Android等原生系统相互作用,以及这种融合对开发者、用户和整个移动生态系统意味着什么。我们还将预测未来可能的技术发展,并提出相应的策略建议。
|
7天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第30天】随着云计算和微服务架构的兴起,传统的运维模式已难以满足快速迭代和高可用性的需求。本文探讨了如何利用容器技术构建一个高效、可靠的自动化运维体系,重点分析了Docker和Kubernetes在这一过程中的关键作用,并提出了一套基于这些技术的持续集成(CI)与持续部署(CD)解决方案。通过实际案例和操作步骤的详细阐述,文章为读者提供了一种实现自动化运维的有效途径,同时对未来运维技术的发展趋势进行了展望。
|
8天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于容器技术的持续集成与持续部署(CI/CD)实践
【5月更文挑战第30天】 在当今快速迭代的软件开发周期中,自动化运维成为确保交付速度和质量的关键因素。本文聚焦于如何利用容器技术实现高效自动化运维体系,特别是持续集成(CI)与持续部署(CD)的实践。通过深入分析容器化工具如Docker和Kubernetes在自动化流程中的应用,以及它们如何帮助实现环境的一致性、降低部署风险并提高生产效率,本文旨在为运维专业人员提供一套切实可行的参考方案。
|
9天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第28天】在当今快速迭代的软件发布周期中,传统的运维模式已难以满足敏捷开发和市场的需求。本文将探讨如何通过容器技术实现高效的自动化运维体系,重点介绍基于Docker和Kubernetes的持续集成(CI)与持续部署(CD)的最佳实践。文章不仅涵盖技术实施细节,还包括如何优化流程、确保系统稳定性以及提高团队协作效率的策略。
|
9天前
|
运维 Kubernetes jenkins
构建高效自动化运维系统:基于容器技术的持续集成与持续部署实践
【5月更文挑战第28天】 在现代软件工程实践中,持续集成(CI)和持续部署(CD)已成为提升开发效率、确保产品质量的关键环节。本文旨在探讨如何利用容器技术构建一套高效、可靠的自动化运维系统,以支持敏捷开发流程和微服务架构。通过对Docker容器及Kubernetes集群管理工具的深入分析,我们提出了一种结合Jenkins实现自动化测试、构建与部署的完整解决方案,并讨论了其在现实业务中的应用效果和面临的挑战。
|
9天前
|
运维 监控 安全
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第28天】在现代IT基础设施管理中,自动化运维已成为提升效率、确保稳定性的关键手段。本文将探讨如何利用容器技术实现软件的持续集成(CI)与持续部署(CD),从而构建一套高效的自动化运维体系。通过分析容器化的优势和挑战,结合DevOps文化,我们提出一个实用的框架,以帮助企业快速响应市场变化,缩短产品上市时间,同时保障服务的高可用性。
|
10天前
|
机器学习/深度学习 敏捷开发 测试技术
深入探索软件测试中的持续集成与持续部署(CI/CD)实践利用机器学习提升网络安全防御效能
【5月更文挑战第27天】 在现代软件开发的快节奏环境中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已成为确保产品质量和加快交付速度的关键策略。本文将深入探讨CI/CD在软件测试中的应用,分析其对提高自动化测试效率、缩短反馈周期以及优化发布流程的重要性。通过实际案例研究,我们揭示了成功实施CI/CD的最佳实践,并讨论了面临的挑战及其解决方案。
|
10天前
|
敏捷开发 Devops 测试技术
深入理解软件测试中的持续集成与持续部署(CI/CD)
【5月更文挑战第27天】 在快速发展的软件开发行业中,"持续集成"(Continuous Integration, CI)和"持续部署"(Continuous Deployment, CD)已成为提高开发效率、保障代码质量和加速产品上市的核心实践。本文将探讨CI/CD的概念、实施策略以及它们如何改变传统的软件测试流程,旨在为读者提供一个清晰的框架,帮助他们理解并有效应用这两种方法于实际工作中。
|
11天前
|
监控 jenkins 测试技术
理解并实现持续集成(CI)与持续部署(CD):加速软件开发的关键步骤
【5月更文挑战第27天】本文介绍了CI/CD在加速软件开发中的关键作用。CI(持续集成)通过频繁集成代码并自动构建测试,减少错误,提高开发速度和代码质量。实现CI需要版本控制系统(如Git)、自动化构建工具(如Jenkins)和测试框架。CD(持续部署)则进一步自动将通过测试的代码部署到生产环境,提供快速反馈,降低风险。实现CD需配置管理工具(如Ansible)、容器技术(如Docker)和云基础设施。CI与CD结合,形成高效开发流程,最佳实践包括保持主干干净、自动化所有流程、持续监控、快速回滚和持续学习。
|
14天前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第23天】 在现代IT基础设施管理中,自动化运维是提升效率、减少人为错误和加快产品上市速度的关键。本文将探讨如何利用容器技术来构建一个高效的自动化运维体系,特别关注于持续集成(CI)与持续部署(CD)的实施。文章首先概述了容器技术和CI/CD的基本概念及其相互关系,接着详细阐述了如何通过Docker和Kubernetes等工具来实现自动化的构建、测试和部署流程。此外,文章还讨论了监控、日志管理和安全性策略的重要性,以确保自动化运维体系的稳定运行。最后,分享了实际案例分析以及未来发展趋势,为读者提供深入理解并实施自动化运维的参考。

相关产品

  • 容器计算服务