[英]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.