繁体   English   中英

如何使用amazon-ec2 gem通过Cloudwatch提取EC2统计数据?

[英]How do I pull EC2 stats through Cloudwatch with the amazon-ec2 gem?

我不确定我做错了什么,但是我在使用这个gem来拉取EC2统计数据时遇到了麻烦: https//github.com/grempe/amazon-ec2

我可以通过Cloudwatch连接到我的EC2实例:

@cw = AWS::Cloudwatch::Base.new(:access_key_id => ACCESS_KEY_ID, :secret_access_key => SECRET_KEY_ID)

我可以看到所有可用的指标:

@cw.list_metrics

但是当我尝试使用get_metric_statistics方法时,我无法弄清楚哪些选项参数引用了实际的度量字段。

# Fails
@cw.get_metric_statistics(namespace: 'AWS/EC2', measure_name: 'CPUUtilization', statistics: "Average")

我得到一个通用的“NoMethodError:未定义的方法`元素'为nil:NilClass”错误,我无法找到如何正确使用get_metric_statistics()。 有没有人有他们用来做类似事情的示例代码? 这是我所困惑的“统计”和“维度”参数。

如果我能提供任何进一步的信息,请告诉我。

选择服务器基于您的实例在哪个区域

Amazon CloudWatch Endpoints
US-East (Northern Virginia)         monitoring.us-east-1.amazonaws.com
US-West (Northern California)       monitoring.us-west-1.amazonaws.com
EU (Ireland)                        monitoring.eu-west-1.amazonaws.com
Asia Pacific (Singapore)            monitoring.ap-southeast-1.amazonaws.com

in your example u miss to set server zone that why its not working 



 @cw = AWS::Cloudwatch::Base.new(:access_key_id => 'key', :secret_access_key => 'key',:server => 'monitoring.eu-west-1.amazonaws.com')
    instance_id ='instanceid'
    time = Time.new
    time.gmtime
    @result = @cw.get_metric_statistics(namespace: 'AWS/EC2', measure_name: 'CPUUtilization',  statistics: 'Average', start_time: time-1000, dimensions: "InstanceId=#{instance_id}")

尝试使用此代码并共享您的输出。 这段代码对我有用

所以我在检查宝石源后想出这个,它应该是这样的。

@cw.get_metric_statistics(namespace: 'AWS/EC2', measure_name: 'CPUUtilization',  statistics: 'Average', start_time: 1.minute.ago.to_time, dimensions: "InstanceId=#{instance_id}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM