亚马逊AWS官方博客
新功能- Collectd的Amazon CloudWatch插件
原文:https://aws.amazon.com/blogs/aws/new-cloudwatch-plugin-for-collectd/
作者:Jeff Barr
我在2011年已介绍过Cloud Watch的特性,“您可以在Cloud Watch中查看图表、设置告警、并根据这些指标启动自动化操作,所使用的这些AWS资源指标会被存储于Cloud Watch中 。”您目前已有能力在Amazon Cloud Watch中存储一段时间范围内的业务、应用及系统的指标数据(参阅“Amazon Cloud Watch定制新指标”了解更多信息)。
今天我们将简化系统统计信息的采集过程,使用一个新的 CloudWatch plug for colletd将采集数据发送至CloudWatch中 。并通过collectd 多种类型信息的统计采集能力与cloudwatch存储、展示、警报和告警的功能的整合,您可以更好地获取EC2实例、本地硬件以及运行于其上应用程序的运行状态及其性能信息。该插件已经作为一个开源项目发布,我们期待您的反馈。
Collectd守护进程采用C语言编写,具有高性能和可移植性。它支持上百个插件 ,允许您收集有关Apache、Nginx Web服务器性能统计数据、memory usage 、 uptime等信息。
安装与配置
为了演示这些功能,我在EC2实例上安装并配置了Collectd服务及新Cloudwatch插件。
首先我创建了一条IAM策略,它具备将指标数据写入CloudWatch的权限:
然后我创建了一个IAM角色,允许EC2(运行collectd程序的实例)使用上述所建的策略:
如果我计划使用Collectd 插件从本地服务器或运行中的EC2实例收集统计信息,那请跳过这些步骤,采用创建一个具有适当权限的IAM用户作为替代方法。在我完成上述工作后,会将该用户的证书放在本地服务器或EC2实例中。
在策略和角色配置完毕后,选择该角色来启动一个EC2实例
登录并安装Collectd :
然后获取插件和安装脚本,设置脚本为可执行,并运行该脚本:
回答一些交互问题确认安装过程无误,在完成配置之后就可启动Collectd :
在Collectd运行并且插件安装配置完成后,下一步是确定感兴趣的统计信息,并配置插件将它们发布至CloudWatch中(每个指标的采集成本也是一个需考虑因素)。
文件/opt/collectd-plugins/cloudwatch/config/blocked_metrics包含已收集但尚未发布到CloudWatch的指标列表:
如您对内存消耗关注,可添加了一行到
/opt/collectd-plugins/cloudwatch/config/whitelist.conf
:
Collectd配置文件(/etc/collectd.conf)中包含Collectd附加设置及插件设置。不需要做任何修改。
重新启动Collectd,以便所做的调整生效:
为了模拟内存消耗,可执行了一些消耗内存的程序,然后打开CloudWatch Console来查找并显示自定义指标:
该截图包括了对CloudWatch控制台即将推出增强功能的预览;如果看起来不一致也不必担心(请关注获取更多信息)。
如果监控一个生产实例,您还可以安装更多Collectd插件。以下是Amazon Linux AMI可用插件列表:
需了解事项
如果您使用的是5.5或更新版本的Collectd ,则会在默认情况下发布四个指标:
- df-root-percent_bytes-used – disk utilization
- memory–percent-used – memory utilization
- swap–percent-used – swap utilization
- cpu–percent-active – cpu utilization
如果您不希望发布它们,您可以从whitelist.conf文件中删除这些指标。
在Amazon Linux AMI,Ubuntu,RHEL和CentOS的软件仓库中,目前提供了较旧版本的Collectd; 如果从源代码或自定义repo进行构建安装,请注意默认行为的变化。
更多
除了本次所展示的内容外, 您可以安装更多的插件,然后配置whitelist.conf来向CloudWatch发布更多的指标。同时您可以创建CloudWatch警报 ,自定义仪表盘等。
要开始使用,请访问AWS Lab on GitHub,并下载collectd plugin for CloudWatch。
译者介绍
倪晓峻,AWS专业服务顾问,负责基于AWS云计算项目的咨询和设计,具有超过十五年以上企业客户服务经验,致力于AWS服务在国内和全球的项目实施。在企业级解决方案,混合云架构,运营集成等领域有着广泛的设计与实践经验。在加入AWS之前曾任职VMware;HPE专业服务顾问,从事云计算/虚拟化架构设计及运维咨询工作,两次获得省部级科技进步奖励,参与OGC ITIL V3中文版的审定工作 。