Class: AWS::CloudWatch

Inherits:
Object
  • Object
show all
Includes:
AWS::Core::ServiceInterface
Defined in:
lib/aws/cloud_watch.rb,
lib/aws/cloud_watch/alarm.rb,
lib/aws/cloud_watch/client.rb,
lib/aws/cloud_watch/errors.rb,
lib/aws/cloud_watch/metric.rb,
lib/aws/cloud_watch/request.rb,
lib/aws/cloud_watch/alarm_collection.rb,
lib/aws/cloud_watch/metric_collection.rb,
lib/aws/cloud_watch/metric_statistics.rb,
lib/aws/cloud_watch/alarm_history_item.rb,
lib/aws/cloud_watch/metric_alarm_collection.rb,
lib/aws/cloud_watch/alarm_history_item_collection.rb

Overview

This class is the starting point for working with Amazon CloudWatch.

To use Amazon CloudWatch you must first sign up here.

For more information about Amazon CloudWatch:

Credentials

You can setup default credentials for all AWS services via AWS.config:

AWS.config(
  :access_key_id => 'YOUR_ACCESS_KEY_ID',
  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')

Or you can set them directly on the AWS::Route53 interface:

cw = AWS::CloudWatch.new(
  :access_key_id => 'YOUR_ACCESS_KEY_ID',
  :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')

Using the Client

AWS::CloudWatch does not provide higher level abstractions for CloudWatch at this time. You can still access all of the API methods using Client. Here is how you access the client and make a simple request:

cw = AWS::CloudWatch.new

resp = cw.client.describe_alarms
resp[:metric_alarms].each do |alarm|
  puts alarm[:alarm_name]
end

See Client for documentation on all of the supported operations.

Defined Under Namespace

Modules: Errors Classes: Alarm, AlarmCollection, AlarmHistoryItem, AlarmHistoryItemCollection, Client, Metric, MetricAlarmCollection, MetricCollection, MetricStatistics

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from AWS::Core::ServiceInterface

#initialize, #inspect

Instance Attribute Details

#clientClient (readonly)

Returns the low-level CloudWatch client object.

Returns:

  • (Client)

    the low-level CloudWatch client object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/aws/cloud_watch.rb', line 62

class CloudWatch

  AWS.register_autoloads(self, 'aws/cloud_watch') do
    autoload :Alarm, 'alarm'
    autoload :AlarmCollection, 'alarm_collection'
    autoload :AlarmHistoryItem, 'alarm_history_item'
    autoload :AlarmHistoryItemCollection, 'alarm_history_item_collection'
    autoload :Client, 'client'
    autoload :Errors, 'errors'
    autoload :Metric, 'metric'
    autoload :MetricCollection, 'metric_collection'
    autoload :MetricAlarmCollection, 'metric_alarm_collection'
    autoload :MetricStatistics, 'metric_statistics'
    autoload :Request, 'request'
  end

  include Core::ServiceInterface

  # Puts data for a metric.  The metric is created if it does not already
  # exist.
  #
  #   cw.put_metric_data(
  #     :namespace => 'test/cli',
  #     :metric_data => [
  #       { :metric_name => 'sample', :value => 1 },
  #       { :metric_name => 'sample', :value => 2 },
  #       { :metric_name => 'sample', :value => 3 },
  #       { :metric_name => 'sample', :value => 4 },
  #       { :metric_name => 'sample', :value => 5 },
  #     ]
  #   )
  #
  # @param [Hash] options
  # @see Client#put_metric_data
  # @return [nil]
  #
  def put_metric_data options = {}
    client.put_metric_data(options)
    nil
  end

  # @return [AlarmCollection]
  def alarms
    AlarmCollection.new(:config => config)
  end

  # @return [AlarmHistoryItemCollection]
  def alarm_history_items
    AlarmHistoryItemCollection.new(:config => config)
  end

  # @return [MetricCollection]
  def metrics options = {}
    MetricCollection.new(options.merge(:config => config))
  end

end

Instance Method Details

#alarm_history_itemsAlarmHistoryItemCollection



109
110
111
# File 'lib/aws/cloud_watch.rb', line 109

def alarm_history_items
  AlarmHistoryItemCollection.new(:config => config)
end

#alarmsAlarmCollection

Returns:



104
105
106
# File 'lib/aws/cloud_watch.rb', line 104

def alarms
  AlarmCollection.new(:config => config)
end

#metrics(options = {}) ⇒ MetricCollection

Returns:



114
115
116
# File 'lib/aws/cloud_watch.rb', line 114

def metrics options = {}
  MetricCollection.new(options.merge(:config => config))
end

#put_metric_data(options = {}) ⇒ nil

Puts data for a metric. The metric is created if it does not already exist.

cw.put_metric_data(
  :namespace => 'test/cli',
  :metric_data => [
    { :metric_name => 'sample', :value => 1 },
    { :metric_name => 'sample', :value => 2 },
    { :metric_name => 'sample', :value => 3 },
    { :metric_name => 'sample', :value => 4 },
    { :metric_name => 'sample', :value => 5 },
  ]
)

Parameters:

  • options (Hash) (defaults to: {})

Returns:

  • (nil)

See Also:



98
99
100
101
# File 'lib/aws/cloud_watch.rb', line 98

def put_metric_data options = {}
  client.put_metric_data(options)
  nil
end