硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

Collectd 的 Amazon CloudWatch 插件

  • 2019-11-12
  • 本文字数:3554 字

    阅读完需:约 12 分钟

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 语言编写,具有高性能和可移植性。它支持上百个插件 ,允许您收集有关ApacheNginx Web 服务器性能统计数据、memory usage uptime等信息。

安装与配置

为了演示这些功能,我在 EC2 实例上安装并配置了 Collectd 服务及新 Cloudwatch 插件。


首先我创建了一条 IAM 策略,它具备将指标数据写入 CloudWatch 的权限:



然后我创建了一个 IAM 角色,允许 EC2(运行 collectd 程序的实例)使用上述所建的策略:



如果我计划使用 Collectd 插件从本地服务器或运行中的 EC2 实例收集统计信息,那请跳过这些步骤,采用创建一个具有适当权限的 IAM 用户作为替代方法。在我完成上述工作后,会将该用户的证书放在本地服务器或 EC2 实例中。


在策略和角色配置完毕后,选择该角色来启动一个 EC2 实例



登录并安装 Collectd :


Bash


$ sudo yum -y install collectd
复制代码


然后获取插件和安装脚本,设置脚本为可执行,并运行该脚本:


Bash


$ chmod a+x setup.py
$ sudo ./setup.py
复制代码


回答一些交互问题确认安装过程无误,在完成配置之后就可启动 Collectd :


Bash


Installing dependencies ... OK
Installing python dependencies ... OK
Copying plugin tar file ... OK
Extracting plugin ... OK
Moving to collectd plugins directory ... OK
Copying CloudWatch plugin include file ... OK
Choose AWS region for published metrics:
1. Automatic [us-east-1]
2. Custom
Enter choice [1]: 1
Choose hostname for published metrics:
1. EC2 instance id [i-057d2ed2260c3e251]
2. Custom
Enter choice [1]: 1
Choose authentication method:
1. IAM Role [Collectd_PutMetricData]
2. IAM User
Enter choice [1]: 1
Choose how to install CloudWatch plugin in collectd:
1. Do not modify existing collectd configuration
2. Add plugin to the existing configuration
Enter choice [2]: 2
Plugin configuration written successfully.
Stopping collectd process ... NOT OK
Starting collectd process ... OK
$
复制代码


在 Collectd 运行并且插件安装配置完成后,下一步是确定感兴趣的统计信息,并配置插件将它们发布至 CloudWatch 中(每个指标的采集成本也是一个需考虑因素)。


文件/opt/collectd-plugins/cloudwatch/config/blocked_metrics 包含已收集但尚未发布到 CloudWatch 的指标列表:


Bash


$ cat /opt/collectd-plugins/cloudwatch/config/blocked_metrics
# This file is automatically generated - do not modify this file.
# Use this file to find metrics to be added to the whitelist file instead.
cpu-0-cpu-user
cpu-0-cpu-nice
cpu-0-cpu-system
cpu-0-cpu-idle
cpu-0-cpu-wait
cpu-0-cpu-interrupt
cpu-0-cpu-softirq
cpu-0-cpu-steal
interface-lo-if_octets-
interface-lo-if_packets-
interface-lo-if_errors-
interface-eth0-if_octets-
interface-eth0-if_packets-
interface-eth0-if_errors-
memory--memory-used
load--load-
memory--memory-buffered
memory--memory-cached
复制代码


如您对内存消耗关注,可添加了一行到


/opt/collectd-plugins/cloudwatch/config/whitelist.conf


Bash


memory--memory-.*
复制代码


Collectd 配置文件(/etc/collectd.conf)中包含 Collectd 附加设置及插件设置。不需要做任何修改。


重新启动 Collectd,以便所做的调整生效:


Bash


$ sudo service collectd restart
复制代码


为了模拟内存消耗,可执行了一些消耗内存的程序,然后打开 CloudWatch Console 来查找并显示自定义指标:



该截图包括了对 CloudWatch 控制台即将推出增强功能的预览;如果看起来不一致也不必担心(请关注获取更多信息)。


如果监控一个生产实例,您还可以安装更多 Collectd 插件。以下是 Amazon Linux AMI 可用插件列表:


Bash


$ sudo yum list | grep collectdcollectd.x86_64                        5.4.1-1.11.amzn1               @amzn-main
collectd-amqp.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-apache.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-bind.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-curl.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-curl_xml.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-dbi.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-dns.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-email.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-generic-jmx.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-gmond.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-ipmi.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-iptables.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-ipvs.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-java.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-lvm.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-memcachec.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-mysql.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-netlink.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-nginx.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-notify_email.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-postgresql.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-rrdcached.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-rrdtool.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-snmp.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-varnish.x86_64 5.4.1-1.11.amzn1 amzn-main
collectd-web.x86_64 5.4.1-1.11.amzn1 amzn-main
复制代码

需了解事项

如果您使用的是 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 中文版的审定工作 。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-cloudwatch-plugin-for-collectd/


2019-11-12 08:00846

评论

发布
暂无评论
发现更多内容

EarlGrey - iOS UI自动化测试框架

qife122

ios UI测试

腾讯的面试,拷问的太全面了

王中阳Go

Go 腾讯 面试

为什么说方法的参数最好不要超过4个?

秃头小帅oi

看负载、调资源、控进度!用资源日历掌控全员进度

禅道项目管理

项目管理 企业管理 进度管理 禅道项目管理软件

AI 词汇记忆 App 的开发

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语教育

🚀 从“手撸”到“秒出结果”:我与飞算JavaAI插件的一次深度邂逅

默语

为什么中国企业AI难以落地?——一场分享会后的深度反思

蜉蝣

人工智能 AI 大模型 LLL AI困境

大麦基于HarmonyOS星盾安全架构,打造全链路安全抢票方案

HarmonyOS SDK

harmoyos

大数据-27 ZooKeeper zoo.cfg多节点分布式配置

武子康

Java 大数据 hadoop zookeeper 分布式

DApp开发库选择指南

北京木奇移动技术有限公司

区块链技术 dapp开发 软件外包公司

腾讯云与微盟启动“私域安全护航计划”,共筑数字商业安全新防线

人称T客

AI 技术赋能英语口语 App 开发

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI技术应用

2025智慧矿山高质量发展大会暨内蒙古矿业博览会定于10月10日开幕

科技汇

企业数字化转型《求生手册》:教你如何有效进行转型以及如何避坑

优秀

数字化转型 数字化 企业数字化转型

【INFINI Workshop 第三期 - 上海站】Coco AI - 赋能企业搜索,打造专属智能助手

极限实验室

人工智能 智能助手 Workshop CocoAI

Paperless-ngx 文档管理系统

qife122

开源 文档管理

智慧疾控物资管理系统(源码+文档+讲解+演示)

深圳亥时科技

经济型数字广告屏

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

云上AI推理平台全掌握 (1): PAI-EAS LLM服务一键压测

阿里云大数据AI技术

人工智能 大数据 模型 推理 压测数据

为了白嫖 https 的图床, 顺手写了个 Picgo 的插件

Avan

Hexo PicGo 博客搭建 Obsidian

“数字创新产品课程” 8月2-3日 · CSPO认证上海线下面授周末班【和A-CSPO打包报名享特惠】

ShineScrum

产品负责人 CSPO认证 CSPO

DApp 开发的安全审计

北京木奇移动技术有限公司

区块链技术开发 dapp开发 软件外包公司

MyEMS能源管理系统后台配置-能源分类管理

开源能源管理系统

开源 能源管理

MyEMS能源管理系统后台配置-成本中心管理

开源能源管理系统

开源 能源管理 开源能源管理系统

Solana“网络扩展(Network Extensions)”成最被误解的基础设施创新之一

PowerVerse

Web3 钱包开发的流程

北京木奇移动技术有限公司

dapp开发 区块链开发 软件外包公司

远程玩3A大作要多少帧?ToDesk、向日葵、UU远程性能对决

小喵子

游戏 向日葵 远程桌面 ToDesk

信创国产化,可私有化部署的企业内部即时通讯聊天软件

BeeWorks

即时通讯 IM 私有化部署

实战|StarRocks 通过 JDBC Catalog 访问 MongoDB 的数据

StarRocks

数据库 mongodb 数据湖 StarRocks JDBC Catalog

MIAOYUN | 每周AI新鲜事儿(06.20-06.27)

MIAOYUN

人工智能 AI AI 智能体

淘宝API系列:淘宝商品优惠信息API接口详解

tbapi

淘宝API接口 天猫API接口 淘宝商品优惠券接口 天猫商品优惠券接口

Collectd的Amazon CloudWatch插件_其他_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章