【问题标题】:python connect_cloudwatch different regionpython connect_cloudwatch 不同区域
【发布时间】:2014-07-13 05:23:53
【问题描述】:

我正在尝试连接并动态获取特定 AWS 区域中 AWS CloudWatch 中可用的所有服务的所有指标:

try:
    print "Connecting to region %s" % (args.region)
    conn = boto.connect_cloudwatch()
    #conn = boto.ec2.cloudwatch.connect_to_region(args.region)
    print "Retrieving all CloudWatch metrics"
    metrics = conn.list_metrics()
    print "Collected %d metrics" % (len(metrics))
except boto.exception.BotoServerError, error:
    print "Failed to connect to AWS\n  ->%s" % (error)
    sys.exit(1)

不幸的是,boto.ec2.cloudwatch.connect_to_region(args.region) 只给我一个区域的 EC2 指标,我无法从文档中弄清楚如何将一个区域指定给 conn = boto.connect_cloudwatch()。请帮忙!

【问题讨论】:

    标签: python amazon-web-services amazon-ec2 boto amazon-cloudwatch


    【解决方案1】:

    您可以在 .boto 配置文件中选择 Cloudwatch 区域。例如:

    [Credentials]
    aws_access_key_id = <your aws access key>
    aws_secret_access_key = <your aws secret access key>
    
    [Boto]
    cloudwatch_region_name = us-west-2
    cloudwatch_region_endpoint = monitoring.us-west-2.amazonaws.com
    

    当您运行时,上述内容会将您连接到 us-west-2:

    import boto
    
    conn = boto.connect_cloudwatch()
    

    希望对你有帮助。

    【讨论】:

    • 这是迄今为止我能拍到的最好的照片。谢谢,@Rico!我会试一试,并会跟进这篇文章。您知道这种方法的任何动态解决方案吗?
    【解决方案2】:

    上面显示的代码看起来不错。 list_metrics 方法将返回当前帐户中实际具有与其关联的数据的所有指标。如果您只看到 EC2 指标,那么这意味着您的账户只有在 CloudWatch 中为该区域收集的 EC2 数据。

    【讨论】:

    • 我想我正在寻找如何提供不同区域的答案。是否可以以编程方式为boto.connect_cloudwatch() 执行此操作?执行此操作的代码示例是什么?
    • 好吧,您可以构建自己的 RegionInfo 对象并将其传递给 boto.connect_cloudwatch() 方法,但我很好奇您为什么要这样做。我认为使用connect_to_region() 会容易得多。
    【解决方案3】:

    boto.connect_cloudwatch() 将与boto.ec2.cloudwatch.connect_region('eu-west-1') 完全相同,但不询问区域。该区域是从~/.boto 中的配置使用的。指定区域的常用方法是使用connect_region('myregion'),或者如果您不跨多个区域工作,则只需在配置中设置。

    因此,如果您在boto.ec2.cloudwatch.connect_region('eu-west-1') 创建的连接对象中找不到您的指标,您将无法在另一个对象中找到它。这两种情况都会创建一个boto.ec2.cloudwatch.CloudWatchConnection 对象。 (Boto documentation)

    据我了解,文档 boto 目前不支持 EC2 指标以外的其他指标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-24
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多