Amazon web services 使用Lambda收集EBS度量

Amazon web services 使用Lambda收集EBS度量,amazon-web-services,amazon-ec2,aws-lambda,monitoring,Amazon Web Services,Amazon Ec2,Aws Lambda,Monitoring,我是AWS的新手。我们有一个用例,需要定期监控EBS卷的磁盘使用情况,并将自定义指标发布到cloudwatch 为了获得ec2盒上的磁盘使用量,我们可以运行df-h命令。在我的lambda中,我得到了一个标记,然后从该标记中我得到了具有该标记的ec2实例的监视器EBS 我在做研究,发现了这篇文章。但是我如何列出具有特定标记的EC2实例,然后运行它呢 这是df-h命令。还有更好的方法来监控磁盘使用情况吗 编辑:我可以像以前一样运行cloudwatch脚本 ./mon-put-instance-da

我是AWS的新手。我们有一个用例,需要定期监控EBS卷的磁盘使用情况,并将自定义指标发布到cloudwatch

为了获得ec2盒上的磁盘使用量,我们可以运行df-h命令。在我的lambda中,我得到了一个标记,然后从该标记中我得到了具有该标记的ec2实例的监视器EBS

我在做研究,发现了这篇文章。但是我如何列出具有特定标记的EC2实例,然后运行它呢 这是df-h命令。还有更好的方法来监控磁盘使用情况吗

编辑:我可以像以前一样运行cloudwatch脚本

./mon-put-instance-data.pl --disk-space-util --disk-path=/ebs1 --disk-path=/ --disk-space-units=Kilobytes
并获取在/ebs1和上装载的上述卷的磁盘使用情况/

我现在计划使用python脚本以编程方式获取所有已安装的EBS,以替换-disk path的值

如何通过Python在EC2中实现这一点?

我认为使用是更好的选择


您还可以定义自己的指标,如可用磁盘空间

,但这不需要在每个实例上安装代理吗?@ayushrocker92确实。。另一方面,您可以使用已预安装的代理创建自己的映像。但是,假设我有50个实例已使用相同的标记运行,那么?@ayushrocker92我建议使用自动化工具,例如Ansible,它可以一次配置50台服务器。我的意思是-您仍然可以调用CLI或API操作并解析标记,但是我认为使用代理是实现此目标的更可靠的方法。您链接的CloudWatch代理用于将日志发布到CloudWatch日志,而不是度量。问题是关于发布指标。你用什么编程语言编写AWS Lambda函数?无论您选择何种编程语言来查询带有特定标记的EC2实例,您都可以使用AWS SDK。我使用的是Java。在每个EC2实例上运行shell命令是一种很好的方法吗?通过Lambda这样做并不理想。理想情况下,在每台服务器上运行某种代理,总是向CloudWatch报告内存和磁盘使用情况。@MarkB progress updated为什么需要将python与mon-put-instance-data.pl脚本集成?mon-put-instance-data.pl还没有提供的具体解决方案是什么?