统一监控:公有云第三方应用/镜像如何向公有云监控系统写数据

image

如果要建设镜像市场(Image Market)生态,就会遇到用户订购第三方镜像后,如何把这些镜像实例纳入到统一监控系统的问题。这是一个通用问题:如果用户希望自己订购虚拟机上的业务可以被纳入到统一监控,实现在同一个监控页面观察所有产品、能力和应用的状态的能力。这就是常说的统一监控,也是一种理所当然的需求。如果要实现这个需求有两种思路:

思路1、用户自己开发一套统一监控系统。然后对接公有云厂商的监控系统,例如移动云的DeepWatch、或者AWS 的CloudWatch,通过这些系统获取底层IaaS、公有云自有产品的监控数据。然后用数据分析系统加以分析整合,并集中展现。优点是非常灵活,用户可以设计开发自己想要的界面和操作流程,例如支持大屏展示功能。缺点是这涉及到大量的开发工作,也依赖于公有云厂家提供的接口有效性,当然这还需要在公有云上订购相关的资源来存储和处理这些数据。对于大型、资金充裕的客户,这种方式更好,有更好的控制力。

思路2、利用公有云监控系统。这种方式相对更加简单。公有云监控系统,例如移动云DeepWatch可以实现对自有产品的监控和展示。优点是开发工作量小,缺点是界面和视图都是系统内置的,无法定制。但足以满足中小型客户的需求了。

对于公有云服务商来说,实现思路2是必须的选择,也可以满足多数客户的需求。同时开放公有云监控系统的API,帮助大型客户实现思路1

第三方应用和产品是无法直接对接的。这涉及到访问权限问题。AWS CloudWatch提供了一种解决方案:主体思想是利用IAM业务来提供访问控制,首先需要创建一个角色,然后给这个角色赋予需要的权限,从而实现采集数据,并将数据送到CloudWatch,涉及到如下2个方面的权限:

1、开通在虚拟机部署CloudWatch Agent的权限

2、开通向CloudWatch发送数据的权限

 

用户订购的第三方镜像后,需要首先利用IAM分配一个有权限的角色、添加相关的策略,然后在镜像中部署和配置相关的数据采集工具,在后台运行这些工具就可以在CloudWatch中获得数据和监控曲线。(注:一般镜像的开发者需要提供相关的采集和监控工具。对于AWS官方提供的镜像,一般会内置这些工具)。这里有一个GPU配置的例子

The IAM policy to search for is “cloudwatch:PutMetricData”. The policy that is added is as follows:

<?XML:NAMESPACE PREFIX = “[default] http://www.w3.org/2000/svg” NS = “http://www.w3.org/2000/svg” />

{
   "Version": "2012-10-17",
   "Statement": [
        {
            "Action": [
                "cloudwatch:PutMetricData"
             ],
             "Effect": "Allow",
             "Resource": "*"
        }
   ]
}

image

学到一个新的缩写DLAMI,猜猜是什么?

相关信息:

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html

https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu-monitoring-gpumon.html

统一监控:公有云第三方应用/镜像如何向公有云监控系统写数据》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注