LoginSignup
1
0

More than 3 years have passed since last update.

Cloudwatchのチュートリアルを読み解く

Posted at

はじめに

DVAの試験範囲でもあるということで、今日はCloudwatchのチュートリアルをやってみました。

用語の解説

Cloudwatchを語る上で覚えておく必要のある用語をまとめます。

  • データポイント :

    • 個々のデータ(CPU使用率で言うと10%、20%のような具体的な値)
  • メトリクス :

    • データポイントを時系列順にまとめたセット
  • ネームスペース(名前空間) :

    • 発行されたメトリクスを格納するコンテナ(論理的な入れ物)
    • 任意の名前に設定可能(デフォルトのネームスペースは無し)
    • ただしAWSサービスのメトリクスではAWS/のネームスペースが使用される(例:AWS/EC2)
  • ディメンション :

    • メトリクスを一意に識別する名前と値のペア

ネームスペースとディメンションの使い分けがいつも混同するのですが、一番大きな枠がネームスペースで、その中から「どのサーバ(サービス)」を抽出するための検索ワードがディメンション、という理解です(ざっくり過ぎて間違っているかもしれませんが)

※Blackbeltの資料のイメージ図がわかりやすいです。
cloudwatchimage.png

1.データ構成定義

※手順ではないので省略

2.CloudWatch にメトリクスを追加

AWS CLIのput-metric-dataコマンドを使用し、Cloudwatchに向けてデータポイントを発行します。
今回はメトリック名をRequestLatency、ネームスペース名をGetStartedと定義しています。

 aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
 --timestamp 2016-10-14T20:30:00Z --value 87 --unit Milliseconds
 aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
 --timestamp 2016-10-14T20:30:00Z --value 51 --unit Milliseconds
 aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
 --timestamp 2016-10-14T20:30:00Z --value 125 --unit Milliseconds
 aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
 --timestamp 2016-10-14T20:30:00Z --value 235 --unit Milliseconds

aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
--timestamp 2016-10-14T21:30:00Z --statistic-values Sum=577,Minimum=65,Maximum=189,SampleCount=5 --unit Milliseconds

aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
--statistic-values Sum=806,Minimum=47,Maximum=328,SampleCount=6 --unit Milliseconds

補足

Cloudwatchは2週間前までのデータしか参照できないようで、チュートリアルのコマンドをそのまま実行するとエラーになります。

An error occurred (InvalidParameterValue) when calling the PutMetricData operation: The parameter MetricData.member.1.Timestamp must specify a time within the past two weeks.

また、このチュートリアルは3つ目が現在時刻であることを想定しているようなので、1つ目、2つ目のタイムスタンプを「現在時刻-2時間(1時間)」で発行するか、3つ目に--timestampオプションを追加して実行しましょう。

--metric-name

  • 書式 : --metric-name (value)

発行するメトリクスの名前。

--namespace

  • 書式 : --namespace (value)

メトリクスのネームスペース名。

--timestamp

  • 書式 : --timestamp (value)

メトリクスに使用されるタイムスタンプ。
(タイムスタンプはISO 8601 UTC形式(2016-10-03T23:00:00Zなど)で指定)

指定しない場合、デフォルト値はメトリクスデータが受信された時間。

--value

  • 書式 : --value (value)

メトリクスの値。

--unit

  • 書式 : --unit (value)

メトリクスの単位。

3.CloudWatchから統計を取得

2で発行したメトリクスデータの統計を取得します。

aws cloudwatch get-metric-statistics --namespace GetStarted --metric-name RequestLatency --statistics Average \
--start-time 2016-10-14T00:00:00Z --end-time 2016-10-15T00:00:00Z --period 60

--start-time / --end-time

  • 書式 : --start-time (value) / --end-time (value)

集計するデータポイントの開始時間と終了時間。

--period

  • 書式 : --period (value)

集計時のデータポイントの粒度(秒単位)
通常メトリックは1分(60秒)の単位で、高解像度メトリックの場合は1、5 、10、30秒もそれぞれ指定可能。

4.グラフを表示

あとはグラフを表示させるだけ、と思いましたが手順通りやっても表示されませんでした。
おそらく何かがおかしかったのだと思いますが、ちょっと時間が無いので今日はここまで(宿題)

参考URL

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0