View a markdown version of this page

ダッシュボード本体の構造と構文 - Amazon CloudWatch

ダッシュボード本体の構造と構文

全体的な構造

DashboardBody は JSON 形式の文字列です。これには、0~500 個のウィジェットオブジェクトの配列と、他のいくつかのパラメータを含めることができます。ダッシュボードには widgets 配列を含める必要がありますが、その配列は空にすることができます。

以下はこの構造の例であり、1 つのメトリクスウィジェットと 1 つのテキストウィジェット、現在の時刻の 6 時間前から始まる時間範囲、各グラフの期間設定が常に準拠しています。

{ "start": "-PT6H", "periodOverride": "inherit", "widgets": [ { "type":"metric", "x":0, "y":0, "width":12, "height":6, "properties":{ "metrics":[ [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-012345" ] ], "period":300, "stat":"Average", "region":"us-east-1", "title":"EC2 Instance CPU", "liveData": false, "legend": { "position": "right" } } }, { "type":"text", "x":0, "y":7, "width":3, "height":3, "properties":{ "markdown":"Hello world" } } ] }

次の例では、関数ごとの 3 つの Lambda メトリクスを表示し、ダッシュボード変数を使用して、ダッシュボードユーザーが異なる Lambda 関数名を切り替えて各関数の 3 つのメトリクスをすべて表示できるようにしています。これにより、さまざまなリソースの主要なメトリクスを表示できる単一の柔軟なダッシュボードを作成できます。この例では、関数はメトリクス検索クエリによって検出されるため、ダッシュボードは作成時に新しい Lambda 関数を自動的に検出します。

{ "widgets": [{ "height": 6, "width": 6, "y": 0, "x": 0, "type": "metric", "properties": { "view": "timeSeries", "stacked": false, "metrics": ["AWS/Lambda", "Invocations", "FunctionName", "my-function-name"], "region": "us-east-1", "liveData": true } }, { "height": 12, "width": 12, "y": 0, "x": 6, "type": "metric", "properties": { "view": "timeSeries", "stacked": false, "metrics": ["AWS/Lambda", "Errors", "FunctionName", "my-function-name"], "region": "us-east-1", "liveData": true } }, { "height": 3, "width": 6, "y": 0, "x": 18, "type": "metric", "properties": { "view": "timeSeries", "stacked": false, "metrics": ["AWS/Lambda", "Duration", "FunctionName", "my-function-name"], "region": "us-east-1", "liveData": true } } ], "variables": [{ "type": "property", "property": "FunctionName", "inputType": "select", "id": "LambdaFunction_Variable", "label": "Function", "visible": true, "search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"", "populateFrom": "FunctionName" }] }

次の例には 2 つのウィジェットがあります。最初のウィジェットには、2 つのメトリクスと、合計を計算する数式が含まれています。2 番目のウィジェットは、リージョン内のすべての EC2 インスタンスの CPUUtilization を表示する検索式です。

{ "start": "-PT9H", "periodOverride": "inherit", "widgets": [ { "type":"metric", "x":0, "y":0, "width":12, "height":6, "properties":{ "metrics":[ [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-123",{ "id": "m1" } ], [ ".", ".", ".", "i-abc", { "id": "m2" } ], [ { "expression": "SUM(METRICS())", "label": "Sum of DiskReadbytes", "id": "e3" } ] ], "view": "timeSeries", "stacked": false, "period":300, "stat":"Average", "region":"us-east-1", "title":"EC2 Instance CPU" } }, { "type":"metric", "x":0, "y":0, "width":18, "height":9, "properties":{ "metrics":[ [ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Average', 300)", "id": "e1" } ] ], "view": "timeSeries", "stacked": false, "region":"us-east-1", "title":"EC2 Instance CPU" } } ] }

このセクションの残りの部分には、DashboardBody 構文の各部分を示す例が含まれています。コマンド構文全体を示すその他の例については、Amazon CloudWatch API リファレンス」の「PutDashboard」を参照してください。

JSON オブジェクトの最上位レベルには、次のプロパティを含めることができます。

ウィジェット

ダッシュボード内のウィジェットのリスト。詳細については、「ウィジェット配列構造」を参照してください。

必須: はい

variables

ダッシュボードで使用されるダッシュボード変数オブジェクトの配列。各ダッシュボード変数オブジェクトで使用できるフィールドの詳細については、「変数配列構造」を参照してください。

ダッシュボード変数の詳細については、「ダッシュボード変数を使用して柔軟なダッシュボードを作成する」を参照してください。

variables 配列を含めると、0~25 個の変数オブジェクトを含めることができます。

必須: いいえ

end

ダッシュボードが読み込まれるときにダッシュボードの各ウィジェットに使用する時間範囲の終了。end に値を指定する場合、start の値も指定する必要があります。この値のそれぞれに、ISO 8601 形式で絶対時間を指定します。例えば、2018-12-17T06:00:00.000Z です。

型: 文字列

必須: いいえ

開始

ダッシュボードの各ウィジェットに使用する時間範囲の開始。

end を指定せずに start を指定して、現在の時刻で終わる相対時間範囲を指定できます。このケースにおいて、start の値は分または時間で時間範囲を指定する場合は -PT で、日、週、月で時間範囲を指定する場合は -P で開始する必要があります。その後、M、H、D、W、M を分、時間、日、週、月の略語として使用できます。たとえば、-PT5M は過去 5 分、-PT8H は過去 8 時間、-P3M は過去 3 か月を示しています。

startend フィールドとともに使用して、絶対時間範囲を指定することもできます。絶対時間範囲を指定する場合は、ISO 8601 形式を使用します。例えば、2018-12-17T06:00:00.000Z

start を省略すると、ダッシュボードにはロード時のデフォルトの時間範囲が表示されます。

タイプ: 文字列

必須: いいえ

periodOverride

このフィールドを使用して、ダッシュボードがロードされる場合のグラフの期間を指定します。auto を指定すると、ダッシュボード上のすべてのグラフの期間が自動的にダッシュボードの時間範囲に適応します。inherit を指定すると、各グラフに設定された期間に常に準拠します。

有効な値: auto | inherit

タイプ: 文字列

必須: いいえ

ウィジェット配列構造

どのタイプのウィジェットでも、それぞれに以下のプロパティを含めることができます。

ウィジェットのタイプ。

有効な値: metric | text | log | alarm | explorer | chart

タイプ: 文字列

必須: はい

x

24 列のダッシュボードグリッド上のウィジェットの水平位置。デフォルトは次に使用可能な位置です。

有効な値: 0~23

タイプ: 整数

必須: はい (y が指定されている場合) それ以外の場合は必須ではありません。

y

24 列のダッシュボードグリッド上のウィジェットの垂直位置。デフォルトは次に使用可能な位置です。

有効な値: 任意の整数、0 以上。

タイプ: 整数

必須: はい (x が指定されている場合) それ以外の場合は必須ではありません。

width

グリッド単位のウィジェットの幅 (24 列グリッド)。デフォルトは 6 です。

有効な値: 1~24

タイプ: 整数

必須: いいえ

height

グリッド単位のウィジェットの高さ。デフォルトは 6 です。

有効な値: 1~1000

タイプ: 整数

必須: いいえ

プロパティ

ウィジェットの詳細なプロパティ。ウィジェットのタイプによって異なります。properties の形式の詳細については、「メトリクスウィジェットオブジェクトのプロパティ」、「グラフウィジェットオブジェクトのプロパティ」、または「テキストウィジェットオブジェクトのプロパティ」を参照してください。

型: オブジェクト

必須: はい

変数配列構造

配列内の各ダッシュボード変数には、次のプロパティを含めることができます。

ダッシュボード変数のタイプ CloudWatch は、プロパティ変数パターン変数の 2 つのタイプをサポートしています。

プロパティ変数は、ダッシュボードにおけるすべてのウィジェット内のプロパティのすべてのインスタンスの値を変更します。プロパティは、次のいずれかになります。

  • region など、ウィジェット定義の任意の JSON プロパティ。

  • InstanceId または FunctionName などのメトリクスのディメンション名。

パターン変数は、ダッシュボード JSON 全体で正規表現パターンを変更します。JSON プロパティ値の一部のみ、または JSON プロパティを変更する必要がある場合に使用します。

プロパティ変数はほとんどのユースケースに適用され、設定はそれほど複雑ではありません。

有効な値: property | pattern

タイプ: 文字列

必須: はい

inputType

ダッシュボードユーザーが変数の値を入力する方法を決定します。

  • ユーザーが値を入力できるテキストボックスを使用するには、input を指定します。

  • 定義した値のドロップダウンセット、またはメトリクス検索クエリで見つかった値のドロップダウンリストを使用するには、select を指定します。

  • 定義した値またはメトリクス検索クエリで見つかった値を含む一連のラジオボタンを使用するには、radio を指定します。

有効な値: input | select | radio

タイプ: 文字列

必須: はい

inputTypeselect または radio で、メトリクスクエリ検索を使用する代わりに可能な変数値を定義する場合は、ここでそれらの値を指定します。

values は、配列内の各オブジェクトに必要なとオプションのラベルを含む配列です。各は文字列、数値、ブール値にすることができ、各ラベルは文字列である必要があります。これらの値とラベルはそれぞれ最大 255 文字です。

values 配列を指定する場合は、少なくとも 1 つの項目を含める必要があり、最大 500 個を含めることができます。

たとえば、次の場合、変数の値として使用する 3 つのリージョンのリストを作成します。

"values": [ { "label": "US East (IAD)", "value": "us-east-1" }, { "label": "US West (SFO)", "value": "us-west-1" }, { "label": "EU (DUB)", "value": "eu-west-1" } ]

型: 配列

必須: inputTypeselect または radio で、メトリクス検索クエリを使用して値を入力していない場合は、はい。

id

この変数の ID。最大 32 文字で、有効な文字は 0-9A-Za-z-_ です。

タイプ: 文字列

必須: はい

ラベル

入力フィールドに表示するラベル。最大 30 文字を使用できます。

プロパティ変数のこのフィールドを省略すると、プロパティ名がラベルとして表示されます。パターン変数のこのフィールドを省略すると、pattern_1, pattern_2, ... がラベルとして使用されます。

タイプ: 文字列

必須: いいえ

defaultValue

ダッシュボードを最初に開いたときの、この変数のデフォルト値。

  • inputTypeinput の場合、ここで defaultValue を手動で指定し、最大 255 文字を使用します。

  • inputTypeselect または radio の場合、values 配列で指定した有効な値、またはメトリクスクエリ検索で取得した有効な値を指定する必要があります。

有効な値: この変数の有効な値

タイプ: この変数のタイプ値に応じて、文字列、数値、ブール値

必須: いいえ

検索

このフィールドを指定し、メトリクス検索式を使用して select または radio の入力フィールドに入力します。このフィールドの値には、名前空間、ディメンション名、メトリクス名を指定します。指定するディメンションは、そのメトリクスに対して有効である必要があります。CloudWatch は、そのメトリクスとディメンションを公開するすべてのリソースを検索し、リストにそれらを入力します。

たとえば、"search": "{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"" を指定してアカウント内の Amazon EC2 インスタンスを検索するか、"search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"", を指定してアカウント内の Lambda 関数を返します。

指定する search 文字列は最大 2048 文字です。

注記

検索式を使用していて、デフォルト値も指定する場合は、デフォルトが 1 つであるか、検索によって取得されたリソースである限り、defaultValue で指定したデフォルトが使用されます。検索式を使用して入力フィールドに入力する場合、defaultValue の特殊な値 __FIRST を指定して、デフォルト値を検索から返される最初の値にすることもできます。(特殊な値には 2 つのアンダースコアと FIRST が含まれます) 検索によって返される値は常にアルファベット順にソートされます。

タイプ: 文字列

必須: inputTypeselect または radio で、values を指定していない場合は、はい。

populateFrom

search フィールドを使用し、検索式を使用して入力フィールドに入力する場合は、このフィールドに検索が取得するディメンションの名前を指定します。

たとえば、search 値が "search": "{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"" の場合、populateFromInstanceId を指定できます。

タイプ: 文字列

必須: inputTypeselect または radio で、values を指定していない場合は、はい。

visible

入力ラベルとフィールドをダッシュボードに表示するかどうかを指定します。これを省略した場合、デフォルトの true が使用されます。

false を使用するとダッシュボードに若干余裕ができますが、ユーザーはダッシュボード URL を変更して変数値を変更する必要があります。

タイプ: ブール値

必須: いいえ

変数の例

次の例では、プロパティ変数を使用し、テキスト入力フィールドを使用してすべてのウィジェットのリージョンを変更します。ダッシュボードを最初に開くと、変数に us-east-1 のデフォルト値が使用されます。

"variables": [ { "type": "property", "property": "region", "inputType": "input", "id": "region", "label": "Region", "defaultValue": "us-east-1", "visible": true } ],

次の例では、ARN などの文字列の途中でリージョンが設定されている場合に備え、パターン変数を使用してすべてのウィジェットのリージョンを変更します。

"variables": [ { "type": "pattern", "pattern": "us-east-1", "inputType": "input", "id": "region", "label": "Region", "defaultValue": "us-east-1", "visible": true } ],

次の例では、関数ごとにラジオボタンが付いた Lambda 関数変数を生成します。関数は、メトリクスクエリ検索によって検出されます。

"variables": [ { "type": "pattern", "pattern": "originalFuncNameInDashboard", "inputType": "radio", "id": "functionName", "label": "Function", "visible": true, "search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"", "populateFrom": "FunctionName", "defaultValue": "__FIRST" } ],

次のサンプルは、ダッシュボードで複数の変数を指定する方法と、いくつかのタイプの変数を示しています。

"variables": [{ "type": "property", "property": "region", "inputType": "select", "id": "unique_id_1", "label": "Region", "defaultValue": "us-east-1", "visible": true, "values": [{ "label": "IAD", "value": "us-east-1" }, { "label": "CMH", "value": "us-east-2" }, { "label": "NRT", "value": "ap-northeast-1" } ] }, { "type": "property", "property": "FunctionName", "inputType": "select", "id": "unique_id_2", "label": "Function", "visible": true, "values": [{ "value": "my-FunctionName-1" }, { "value": "my-FunctionName-2" }, { "value": "my-FunctionName-3" } ] }, { "type": "property", "property": "accountId", "inputType": "radio", "id": "unique_id_3", "defaultValue": "111122223333", "visible": true, "values": [{ "label": "IAD Account", "value": "111122223333" }, { "label": "CMH Account", "value": "123456789012" }, { "label": "NRT Account", "value": "000000000000" } ] } ]

テキストウィジェットオブジェクトのプロパティ

タイプ text のウィジェットには、properties セクションに 1 つまたは 2 つのパラメータを含めることができます。markdown フィールドは必須であり、transparent フィールドはオプションです。

CloudWatch テキストウィジェットでサポートされているマークダウンのスタイルの詳細については、「コンソールでのマークダウンの使用」を参照してください。

markdown

ウィジェットに表示されるテキスト。このパラメータは、テキストウィジェットにのみ使用します。

タイプ: 文字列

必須: はい (ウィジェット typetext の場合)。

background

テキストウィジェットの背景が中実か透明かを指定します。値 transparent はウィジェットを透明にします。値 solid はデフォルトです。

タイプ: 文字列

必須: いいえ

{ "widgets":[ { "type":"text", "x":0, "y":7, "width":3, "height":3, "properties":{ "markdown":"Hello world", "background": "transparent" } } ] }

ログウィジェットオブジェクトのプロパティ

タイプ log のウィジェットは、CloudWatch Logs Insights クエリの結果を表します。詳細については、Analyzing Log Data with CloudWatch Logs Insights を参照してください。

log ウィジェットの properties フィールドには、次のフィールドを含めることができます。

accountId

クロスアカウントクエリの場合、ログを含む AWS アカウントのアカウント ID。

タイプ: 文字列

必須: いいえ

リージョン

ログクエリのリージョン。

タイプ: 文字列

必須: はい

title

ウィジェットに表示されるタイトルテキスト。

タイプ: 文字列

必須: いいえ

query

CloudWatch Logs Insights クエリ関数が含まれます。

タイプ: 文字列

必須: はい (ウィジェット typelog の場合)。

query 文字列は、クエリするロググループの名前で始まります。各ロググループ名には SOURCE を事前に追加する必要があります。複数のロググループをパイプ文字 (|) で区切ります。

ロググループのリストの後に別のパイプ文字を追加し、クエリ構文を指定します。クエリ構文の各行を \n| で区切る

たとえば、次の行は service_log1service_log2 の 2 つのロググループのクエリを表します。クエリには、障害のある Canary が表示されます。

"query": "SOURCE 'service_log1' | SOURCE 'service_log2' |filter Fault > 0\n| fields Fault.Message\n| stats count(*) by Canary.Name, Fault.Message"
表示

クエリ結果の表示方法を指定します。結果をテーブルとして表示するには、table を指定します。このメトリクスを折れ線グラフとして表示するには、timeSeries を指定します。このメトリクスを棒グラフとして表示するには、bar を指定します。このメトリクスを円グラフとして表示するには、pie を指定します。

このパラメータを省略すると、結果はテーブルとして表示されます。

タイプ: 文字列

必須: いいえ (ウィジェット typelog の場合)。

{ "widgets": [ { "type": "log", "x": 12, "y": 24, "width": 12, "height": 6, "properties": { "region": "us-east-1", "title": "Errors (Application Log)", "query": "SOURCE 'application1.log' | SOURCE 'application2.log' | filter @message like \"[ERROR]\"\n| parse \"Error for [*] [*] due to: *\" canaryName1, canaryId1, cause1\n| parse \"Executor canary [*] *\" canaryName2, cause2\n| fields coalesce(cause1, cause2) as cause\n| fields coalesce(canaryName1, canaryName2) as canaryName\n| fields ispresent(cause) as isP\n| filter isP\n| stats count() as errCount by canaryName, substr(cause, 0, 130)\n| sort errCount DESC", "view": "table" } } ] }

メトリクスウィジェットオブジェクトのプロパティ

タイプ metric のウィジェットには、properties 内に次のフィールドを含めることができます。

accountId

このウィジェットのすべてのメトリクスの送信元の AWS アカウント ID を指定します。これは、複数のアカウントのウィジェットを含むクロスアカウントダッシュボードに役立ちます。詳細については、「クロスアカウントクロスリージョン CloudWatch コンソール」を参照してください。

これを省略すると、現在のアカウントがデフォルトとして使用されます。このパラメータは、メトリクスウィジェットにのみ使用します。

metrics の配列の各メトリクス内の accountId フィールドを使用して、複数のアカウントのメトリクスを含む単一のウィジェットを作成することもできます。

タイプ: 文字列

必須: いいえ

annotations

ウィジェットにアラームまたは注釈を含めるには、annotations 配列を指定します。この形式の詳細については、ダッシュボードウィジェットオブジェクト: 注釈プロパティ を参照してください。このパラメータは、メトリクスウィジェットにのみ使用します。

型: オブジェクト

必須: アラーム注釈は、ウィジェット typemetric であって metrics が指定されていない場合にのみ必須です。水平注釈または垂直注釈は必須ではありません。

liveData

ウィジェットにライブデータを表示するには、true を指定します。ライブデータとは、直近の 1 分以内に公開された、完全には集計されていないデータです。詳細については、「ライブデータの使用」を参照してください。

タイプ: ブール値

必須: いいえ

legend

グラフ上の行の凡例が表示される場所を決定するには、legend を指定します。legend フィールドには、position という別のフィールドが含まれています。position の可能な値は rightbottomhidden です。

たとえば、次の例では、グラフの右側に凡例が表示されます。

"legend": { "position": "right" }

タイプ: オブジェクト

必須: いいえ

metrics

1 つ以上のメトリクス (アラームなし)、Metrics Insights クエリ、数式、検索式を含めるには、metrics 配列を指定します。1 つの metrics 配列には、0~500 個のメトリクスと式を含めることができます。このパラメータは、メトリクスウィジェットにのみ使用します。metrics の形式の詳細については、「メトリクスウィジェット: 配列内の各メトリクスの形式」を参照してください。

1 つのメトリクス配列には、複数の Metrics Insights クエリを含めることはできません。

1 つの expression フィールドに Metrics Insights クエリと数式の両方を含めることはできませんが、1 つの式から返された Metrics Insights クエリの結果を配列内の別の式の数式の入力として使用できます。

タイプ: 配列の配列

必須: ウィジェット typemetric であって annotations が指定されていない場合は、はい。

期間

このウィジェットのすべてのメトリクスのデフォルトの期間 (秒単位)。期間とは、グラフの 1 つのデータポイントで表される時間長です。このデフォルトは、各メトリクス定義内で上書きできます。このパラメータは、メトリクスウィジェットにのみ使用します。デフォルトは 300 です。

有効な値: 60 の倍数。最小値は 60 です。

タイプ: 整数

必須: いいえ

リージョン

メトリクスのリージョン。

タイプ: 文字列

必須: はい

スパークライン

数値ウィジェットの下にスパークライン機能を表示するには、true を指定します。数値ウィジェットを単独で表示するには、false を指定します。このパラメータは、ビューが singleValue ではない場合は無視されます。このパラメータは、メトリクスウィジェットにのみ使用します。

タイプ: ブール値

必須: いいえ

積み上げ

グラフを積み上げ線として表示するには true を指定し、別の線として表示するには false を指定します。このパラメータは、viewsingleValue の場合は無視されます。このパラメータは、メトリクスウィジェットにのみ使用します。

タイプ: ブール値

必須: いいえ

統計

配列内の各メトリクスに表示されるデフォルトの統計。このデフォルトは、metrics 配列内の個々のメトリクスの定義内で上書きできます。このパラメータは、メトリクスウィジェットにのみ使用します。

有効な値: SampleCount | Average | Sum | Minimum | Maximum | p??

タイプ: 有効な CloudWatch 統計である文字列。

必須: いいえ

テーブル

データテーブル関連の変更をウィジェットに含めるには、table セクションを含めます。この形式の詳細については、ダッシュボードウィジェットオブジェクト: テーブルプロパティ を参照してください。

タイプ: オブジェクト

必須: いいえ

timezone

グラフに時間を表示するために使用するタイムゾーン。形式は + または - で、その後に 4 桁が続きます。最初の 2 桁は UTC の前後の時間数を示し、最後の 2 桁は分数です。たとえば、+0130 は UTC の 1 時間 30 分前の時間を示します。デフォルトは +0000 です。

タイプ: 文字列

必須: いいえ

title

グラフまたは数値に表示されるタイトル。このパラメータは、メトリクスウィジェットにのみ使用します。

タイプ: 文字列

必須: いいえ

表示

このメトリクスを折れ線グラフまたは積み上げ面グラフとして表示するには、timeSeries を指定します。このメトリクスを数値グラフとして表示するには、singleValue を指定します。このメトリクスをゲージグラフとして表示するには、gauge を指定します。このメトリクスを棒グラフとして表示するには、bar を指定します。このメトリクスを円グラフとして表示するには、pie を指定します。

注記

gauge を指定する場合は、yAxis の左側に minmax の値を設定する必要があります。

有効な値: timeSeries | singleValue | gauge | bar | pie | table

タイプ: 文字列

必須: いいえ

yAxis

グラフの Y 軸の左右の最小値と最大値。このプロパティは、この設定を上書きする特定のメトリクスを除き、グラフ化されたすべてのメトリクスに適用されます。詳細については、「ダッシュボードウィジェットオブジェクト: yAxis プロパティ形式」を参照してください。

タイプ: yAxis オブジェクト

必須: いいえ

例: 積み上げ領域ウィジェットとゲージウィジェット

{ "widgets": [ { "type":"metric", "x":0, "y":0, "width":12, "height":6, "properties":{ "metrics":[ [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-012345" ], [ "AWS/EC2", "NetworkIn", "InstanceId", "i-012345", { "yAxis":"right", "label":"NetworkIn", "period":3600, "stat":"Maximum" } ] ], "period":300, "stat":"Average", "region":"us-east-1", "timezone":"+0300", "title":"EC2 Instance CPU", "stacked":true, "view":"timeSeries", "liveData":false, "yAxis":{ "left":{ "min":0, "max":100 }, "right":{ "min":50 } }, "annotations":{ "horizontal":[ { "visible":true, "color":"#9467bd", "label":"Critical range", "value":20, "fill":"above", "yAxis":"right" } ] } }, { "type": metric, "x": 18, "y"; 60, "width": 6, "height": 6, "properties": { "metrics": [ [ "AWSLogsShrinkRay", "disk_inodes_used", "path", "/dev/shm", "InstanceId", "i-012345", "AutoScalingGroupName", "ShrinkRayExecutorResourceStack-Gamma-us-east-1-ASGuseast1ac48xlargeASGB9B53974-VTYXJUZGUAHV", "InstanceType", "c4.8xlarge", "device", "tmpfs", "fstype", "tmpfs" ] ], "view": "gauge", "title": "Disk Inodes Used" "region": "us-east-1", "yAxis": { "left": { "min": 0, "max": 100, } } } }

メトリクスウィジェット: 配列内の各メトリクスの形式

metrics 配列内の各項目は、単一のメトリクス、数式、検索式のいずれかです。metrics 配列内のメトリクスのそれぞれの形式は以下のとおりです。

[ Namespace, MetricName, [{DimensionName,DimensionValue}...] {Rendering Properties Object} ]

metrics 配列の各式の形式は以下のとおりです。

[ {"expression" : "expression", ["label" : "label"] , ["id" : "id"] } ]
accountId

このメトリクスの送信元の AWS アカウント ID を指定します。これにより、クロスアカウントダッシュボードの複数のアカウントのメトリクスを含むウィジェットを作成できます。詳細については、「クロスアカウントクロスリージョン CloudWatch コンソール」を参照してください。

これを省略すると、現在のアカウントがデフォルトとして使用されます。このパラメータは、メトリクスウィジェットにのみ使用します。

タイプ: 文字列

必須: いいえ

Namespace

メトリクスを含む AWS 名前空間。metrics 配列に複数のエントリがある場合、最初のエントリの後のエントリのそれぞれに "." のみを指定し、配列内の前のメトリクスと同じ名前空間を使用するように設定できます。

タイプ: 文字列

必須: はい

MetricName

CloudWatch メトリクスの名前。metrics 配列に複数のエントリがある場合、最初のエントリの後のエントリのそれぞれに "." のみを指定し、配列内の前のメトリクスと同じメトリクス名を使用するように設定できます。

タイプ: 文字列

必須: 単一のメトリクスの場合は、はい

expression

単一のメトリクスではなく式である場合、Metrics Insights クエリ、数式、検索式。

完全一致に二重引用符を使用する検索式の場合、それぞれの二重引用符はバックスラッシュでエスケープする必要があります。

Metrics Insights クエリ構文の詳細については、「Metrics Insights のクエリコンポーネントと構文」を参照してください。

数式または検索式の詳細については、「Amazon CloudWatch ユーザーガイド」の「Metric Math を使用する」または「グラフで検索式を使用する」を参照してください。

タイプ: 文字列

必須: 式の場合は、はい

Metrics Insights クエリの式の例:

[ { "expression": "SELECT MAX(CPUUtilization) FROM SCHEMA(\"AWS/EC2\", InstanceId) GROUP BY InstanceId LIMIT 10", "label": "View the 10 max CPU Utilization", "id": "q1" } ]
DimensionName

表示されるデータをさらに絞り込むディメンションの名前。metrics 配列に複数のエントリがある場合、最初のエントリの後のエントリのそれぞれに "." のみを指定し、配列の前のメトリクスで指定された対応するディメンションと同じディメンション名を使用するように設定できます。メトリクスに 0 のディメンションを指定することも、メトリクスがサポートする最大数のディメンションを指定することもできます。

タイプ: 文字列

必須: いいえ

DimensionValue

メトリクスディメンションで使用する値。対応するディメンション名がある場合に必須です。

タイプ: 文字列

必須: いいえ

id

この時系列の ID。この ID は数式の一部として使用できます。ID の最初は小文字でなければなりません。

タイプ: 文字列

必須: いいえ

ラベル

この時系列を表すグラフに表示するラベル。

タイプ: 文字列

必須: いいえ

リージョン

メトリクスのリージョン。このパラメータは、メトリクスウィジェットにのみ使用します。これを省略すると、現在のリージョンがデフォルトとして使用されます。

タイプ: 文字列

必須: いいえ

レンダリングプロパティオブジェクト

この特定のメトリクスに使用するレンダリングプロパティを指定し、ウィジェット全体に指定された値を上書きします。この形式の詳細については、ダッシュボードウィジェットオブジェクト: レンダリングプロパティオブジェクト形式 を参照してください。

タイプ: メトリックレンダリングプロパティオブジェクト

必須: いいえ

// The simplest example, a metric with no dimensions [ "AWS/EC2", "CPUUtilization" ] // A metric with a single dimension [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-012345" ] // A metric with a single dimension and rendering properties [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz", { "yAxis": "right"} ] // The following example graphs the DiskReadBytes metric for three instances. [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz" ], [ ".", ".", ".", "i-abc" ], [ ".", ".", ".", "i-123" ] // The following example includes two metrics and a math expression to sum them. [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-123",{ "id": "m1" } ], [ ".", ".", ".", "i-abc", { "id": "m2" } ], [ { "expression": "SUM(METRICS())", "label": "Sum of DiskReadbytes", "id": "e3" } ] // The following example is a search expression showing the EC2 CPUUtilization for each instance in the Region. [ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Average', 300)", "id": "e1" } ],

ダッシュボードウィジェットオブジェクト: レンダリングプロパティオブジェクト形式

metrics 配列内の各メトリクスは、オプションで、widget オブジェクトの yAxis パラメータで指定されたデフォルトのレンダリングプロパティを上書きするカスタムレンダリングプロパティを持つことができます。このセクションでは、メトリクスごとのカスタムレンダリングプロパティの形式について説明します。

color

このメトリクスに使用する 6 桁の HTML 16 進数カラーコード。

タイプ: 文字列

必須: いいえ

ラベル

グラフの凡例でこのメトリクスに表示するラベル。これを指定しない場合、メトリクスには、ウィジェット内の他のメトリクスと区別する自動生成されたラベルが付けられます。

タイプ: 文字列

必須: いいえ

期間

このメトリクスの期間 (秒単位)。期間とは、グラフの 1 つのデータポイントで表される時間長です。

有効な値: 60 の倍数。最小値は 60 です。

タイプ: 整数

必須: いいえ

統計

配列内の他のメトリクスに使用される統計と異なる場合の、このメトリクスの統計。デフォルトでは、配列またはメトリクスレベルで統計を指定しない場合、CloudWatch は 平均 を使用します。

有効な値: SampleCount | Average | Sum | Minimum | Maximum | p??

タイプ: 有効な CloudWatch 統計である文字列。

必須: いいえ

visible

これを true に設定するとメトリクスがグラフに表示され、false に設定するとグラフが非表示になります。デフォルトは true です。

タイプ: ブール値

必須: いいえ

yAxis

このメトリクスの y 軸を表示するグラフ上の場所。デフォルトは left です。

有効な値: left | right

タイプ: 文字列

必須: いいえ

// The third metric has its own rendering properties, overriding those of the rest of the widget. [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz" ], [ ".", ".", ".", "i-abc" ], [ ".", ".", ".", "i-123", { "label":"Instance i-123", "yAxis": "right"} ]

ダッシュボードウィジェットオブジェクト: 注釈プロパティ

注釈には、アラーム、水平注釈、垂直注釈が含まれます。1 つのメトリクスウィジェットに最大 1 つのアラームを含めることも、1 つ以上の水平注釈または垂直注釈を含めることもできます。1 つのウィジェットにアラームと水平注釈または垂直注釈の両方を含めることはできません。

アラーム注釈

アラーム注釈を指定した場合、同じウィジェットで metrics 配列を指定することもできません。

アラーム

アラームの Amazon リソースネーム (ARN)。

タイプ: 文字列の配列。配列には 0~1 個の文字列を含めることができます。

必須: メトリクスがリストされていない場合のみ。

"annotations": { "alarms": [ "arn1" ] }

水平注釈

水平

水平注釈の配列。水平注釈には、注釈行の上のシェーディング、注釈行の下のシェーディング、1 つのバンド注釈の一部として 2 つのリンクされた注釈行の間に表示される「バンド」シェーディングなど、フィルシェーディングのオプションがいくつかあります。バンド注釈ではなく 1 つの注釈である配列内の各水平注釈は次の形式になります。

{value, label, color, fill, yAxis, visible}

バンド注釈である各水平注釈の形式は次のとおりです。

[ {value, label, color, yAxis, visible}, {value, label} ]

水平注釈行が表示されるグラフのメトリクス値。バンドシェーディング注釈では、Value の 2 つの値がバンドの上下のエッジを定義します。

水平注釈付きのグラフでは、表示されるすべての水平注釈がグラフに表示されるようにスケールされます。

タイプ: 浮動小数点

必須: はい

ラベル

注釈の横にあるグラフに表示される文字列。

タイプ: 文字列

必須: いいえ

color

注釈に使用する 6 桁の HTML 16 進数カラーコード。この色は、注釈行とフィルシェーディングの両方に使用されます。

タイプ: 文字列

必須: いいえ

FILL

注釈でフィルシェーディングを使用する方法。有効な値は、注釈の上のシェーディングの場合は above、注釈の下のシェーディングの場合は below、シェーディングなしの場合は none です。fill を省略した場合、シェーディングはありません。

例外は、バンドシェーディングを使用した注釈です。これらの注釈は常に 2 つの値の間にシェーディングがあり、fill の任意の値は無視されます。

タイプ: 文字列

必須: いいえ

visible

これを true に設定すると注釈がグラフに表示され、false に設定するとグラフが非表示になります。デフォルトは true です。

タイプ: ブール値

必須: いいえ

yAxis

グラフに複数のメトリクスが含まれる場合、Value の数値が左の Y 軸または右の Y 軸のどちらに関連するメトリクスを指すかを指定します。有効な値は、right および left です。

タイプ: 文字列

必須: いいえ

// A single horizontal annotation with fill shading above the annotation line, based on the metric associated with the right Y-axis "annotations": { "horizontal": [ { "visible":true, "color":"#9467bd", "label":"Critical range", "value":20, "fill":"above", "yAxis":"right" } ] } // A band annotation. Each value has a label, but other parameters for the band are specified only with the first number "annotations": { "horizontal": [ [ { "label": "Band top", "value": 200, "color": "#9467bd", "visible": true, "yAxis": "right" }, { "value": 95.5, "label": "Band bottom" } ] ] } // Three annotations on a graph. The first one is a band annotation. The final one is hidden. "annotations": { "horizontal": [ [ { "label": "Band top", "value": 200, "color": "#9467bd", "visible": true, "yAxis": "right" }, { "value": 95.5, "label": "Band bottom" } ], { "visible": true, "color": "#9467bd", "label": "Label for this annotation", "value": 20, "fill": "below", "yAxis": "right" }, { "visible": false, "color": "#aaa", "label": "Hidden annotation", "value": 150 } ] }

垂直注釈

垂直

垂直注釈の配列。垂直注釈ごとに、注釈の前にフィルシェーディングを使用するか、注釈の後にフィルシェーディングを使用するか、1 つのバンド注釈としてリンクされている 2 つの垂直行の間にフィルシェーディングを使用するかを選択できます。バンド注釈ではなく 1 つの注釈である配列内の各垂直注釈は次の形式になります。

{value, label, color, fill, visible}

バンド注釈である各垂直注釈の形式は次のとおりです。

[ {value, label, color, visible}, {value, label} ]

垂直注釈行が表示されるグラフの日時。バンドシェーディング注釈では、Value の 2 つの値がバンドの開始エッジと終了エッジを定義します。

垂直注釈付きのグラフでは、表示されるすべての垂直注釈がグラフに表示されるようにスケールされます。

これは ISO 8601 形式の文字列として定義されます。詳細については、ISO 8601 を参照してください。

タイプ: 文字列

必須: はい

ラベル

注釈の横にあるグラフに表示される文字列。

タイプ: 文字列

必須: いいえ

color

注釈に使用する 6 桁の HTML 16 進数カラーコード。この色は、注釈行とフィルシェーディングの両方に使用されます。

タイプ: 文字列

必須: いいえ

FILL

注釈でフィルシェーディングを使用する方法。有効な値は、注釈の前のシェーディングの場合は before、注釈の後のシェーディングの場合は after、シェーディングなしの場合は none です。fill を省略した場合、シェーディングはありません。

例外は、バンドシェーディングを使用した注釈です。これらの注釈は常に 2 つの値の間にシェーディングがあり、fill の任意の値は無視されます。

タイプ: 文字列

必須: いいえ

visible

これを true に設定すると注釈がグラフに表示され、false に設定するとグラフが非表示になります。デフォルトは true です。

タイプ: ブール値

必須: いいえ

// A single vertical annotation with fill shading after the annotation line "annotations": { "vertical": [ { "visible": true, "color": "#9467bd", "label": "Bug fix deployed", "value": "2018-08-28T15:25:26Z", "fill": "after" } ] } // A band vertical annotation. Each annotation line has a label, but other parameters for the band are specified only with the first value "annotations": { "vertical": [ [ { "label": "Band start", "value": "2018-08-27T15:25:26Z", "color": "#9467bd", "visible": true }, { "value": "2018-08-28T15:25:26Z", "label": "Band end" } ] ] }

ダッシュボードウィジェットオブジェクト: yAxis プロパティ形式

グラフの Y 軸の設定を定義します。設定には、最大値と最小値、軸のラベル、軸に単位を表示するかどうかが含まれます。widget オブジェクト内でこれを設定すると、ウィジェット内のすべてのメトリクスに影響します。特定のメトリクスのウィジェット設定を上書きするには、metrics 配列内のメトリクスに設定します。

{ left: { min: 0, max: 100 }, right: { min: 0 } }
側の

左の Y 軸のオプション設定。

タイプ: YAxis オブジェクト

必須: いいえ

右の Y 軸のオプション設定。

タイプ: YAxis オブジェクト

必須: いいえ

left および right オブジェクトのそれぞれに次のパラメータを含めることができます。

ラベル

この Y 軸のラベル

タイプ: 文字列

必須: いいえ

min

この Y 軸の最小値

タイプ: 浮動小数点

必須: いいえ

max

この Y 軸の最大値

タイプ: 浮動小数点

必須: いいえ

showUnits

この軸に関連付けられたメトリクスの単位を表示するかどうかを決定します。デフォルトは true です。

タイプ: ブール値

必須: いいえ

ダッシュボードウィジェットオブジェクト: テーブルプロパティ

メトリクスウィジェットに table を指定した場合、集計列、データポイント列、テーブルレイアウトの可視性に関連する視覚化を含めることができます。これらのプロパティは、ウィジェットビュータイプが table の場合にのみ有効になり、含まれている場合は他のビュータイプを変更しません。テーブルウィジェットを使用する場合、table プロパティは必須ではありません。

layout

このフィールドを使用して、データポイントが垂直または水平に拡張されるようにテーブルを変換します。デフォルトは horizontal です。

有効な値: vertical | horizontal

タイプ: 文字列

必須: いいえ

stickySummary

これを true に設定すると、テーブルに含める集計列がスティッキーになり、ビューポートに常に集計列がある状態でデータ列を調べることができます。デフォルトは false です。

このフィールドで選択した場合でも、ウィジェットラベルは常にスティッキーです。

有効な値: true | false

タイプ: ブール値

必須: いいえ

showTimeSeriesData

ラベル列と集計列のみを表示し、データの他の列を非表示にする場合は、これを false に設定します。

デフォルトは true です。

有効な値: true | false

タイプ: ブール値

必須: いいえ

summaryColumns

集計列は、テーブルウィジェットに導入された新しいプロパティです。現在のテーブルのうち、ある特定の部分を集計したものです。たとえば、Sum 集計は、それぞれの行にレンダリングされたすべてのデータポイントの合計です。集計列は、CloudWatch メトリクス統計と同じ概念ではありません。

デフォルトは [“MIN“, "MAX","SUM", "AVG"] です。

有効な値: "MIN" | "MAX"| "SUM"| "AVG"

型: 配列

必須: いいえ

たとえば、次の JSON は、テーブル内の各メトリクスの最小値と最大値を表示するテーブルを作成します。

"table": { "summaryColumns": ["MIN", "MAX"], "layout": "vertical", "stickySummary": true, "showTimeSeriesData": false, },

メトリクスエクスプローラーウィジェットオブジェクトのプロパティ

タイプ explorer のウィジェットは、メトリクスエクスプローラーウィジェットを表します。詳細については、「メトリクスエクスプローラーを使用して、タグとプロパティ別にリソースをモニタリングする」を参照してください。

CloudFormation を使用してダッシュボードにメトリクスエクスプローラーウィジェットを追加することもできます。詳細については、「AWS::CloudWatch::Dashboard」を参照してください。

このウィジェットタイプには、ウィジェット properties 内に次のフィールドを含めることができます。

aggregateBy

複数のリソースからメトリクスを集約する方法を指定するオブジェクト。このオブジェクトの key フィールドの有効な値は、タグおよびリソースプロパティのキーです。このオブジェクトには以下のフィールドが含まれています。

  • key – メトリクスの集約に使用するタグまたはリソースプロパティキー。

  • func – 使用する集計関数。有効な値: AVG | MIN | MAX | STDDEV | SUM

タイプ: オブジェクト

必須: いいえ

ラベル

ウィジェットに表示されるメトリクスを決定するために使用されるタグまたはリソースプロパティの配列。

異なるキーを指定すると、すべてのキーと値のペアに一致するリソースのみが表示されます。1 つのキーに複数の値を指定すると、そのキーの値のいずれかに一致するリソースが表示されます。

  • key – フィルタリングするタグまたはリソースプロパティ。

    key の場合、すべてのタグキーを指定できます。次の EC2 および Lambda リソースプロパティは key にも有効です。

    • EC2:

      Architecture, Hypervisor, CoreCount, ImageId, InstanceId, InstanceLifecycle, InstanceType, InstanceFamily, InstanceSize, Affinity, AvailabilityZone, Tenancy, Platform, RootDeviceType SecurityGroups, State, SubnetId, VirtualizationType, and VpcId

    • Lambda:

      FunctionNameRuntimeLanguageMemorySizeVersionSecurityGroupIdsSubnetIdsSubnetIdCountVpcId、および Timeout

  • value – (オプション) フィルタリングするタグまたはリソースプロパティの値。これを省略すると、そのタグまたはリソースプロパティのすべての値に対応するメトリクスが表示されます。

型: オブジェクト

必須: はい

metrics

1 つ以上のメトリクスを含める metrics 配列を指定します。1 つの metrics 配列に 1~100 個のメトリクスを含めることができます。その配列の各オブジェクトには次のフィールドを含める必要があります。

  • metricName – メトリクスの名前。

  • resourceType – メトリクスを公開するリソースのタイプ。AWS CloudFormation で使用される形式で記述されます。例えば、AWS::EC2::InstanceAWS::Lambda::Function です。

    ウィジェット内のすべてのメトリクスにおいて、resourceType の場合と同じ値を使用する必要があります。

    有効な値の一覧については、「メトリクスエクスプローラーウィジェットオブジェクトの有効な resourceType 値」を参照してください。

  • stat – 配列内の他のメトリクスに使用される統計と異なる場合の、このメトリクスの統計。デフォルトでは、配列またはメトリクスレベルで統計を指定しない場合、CloudWatch は 平均 を使用します。

    有効な値: SampleCount | Average | Sum | Minimum | Maximum | p??

タイプ: オブジェクトの配列

必須: はい

期間

このウィジェットのすべてのメトリクスのデフォルトの期間 (秒単位)。期間とは、グラフの 1 つのデータポイントで表される時間長です。デフォルトは 300 です。

有効な値: 60 の倍数。最小値は 60 です。

タイプ: 整数

必須: いいえ

splitBy

メトリクスを複数のリソースからグラフ上の異なる行に分割する方法、または異なるグラフに分割する方法を指定します。有効な値は、タグのキーとリソースプロパティのキーです。

タイプ: 文字列

必須: いいえ

title

ウィジェットに表示されるタイトル。デフォルトは Explorer です。

タイプ: 文字列

必須: いいえ

widgetOptions

ダッシュボードでのウィジェットの表示方法を指定するオブジェクト。次のフィールドを含めることができます。

  • legend

    各グラフの凡例を表示する場所を決定します。legend フィールドには、position という別のフィールドが含まれています。position の可能な値は rightbottomhidden です。

    たとえば、次の例では、グラフの右側に凡例が表示されます。

    "legend": { "position": "right" }
  • rowsPerPage

    ウィジェットのページごとに表示されるグラフの行数を指定します。

  • stacked

    グラフを積み上げ領域として表示するには true を指定し、別の行として表示するには false を指定します。

  • view

    各グラフの表示方法を指定します。このメトリクスを折れ線グラフとして表示するには、timeSeries を指定します。このメトリクスを棒グラフとして表示するには、bar を指定します。このメトリクスを円グラフとして表示するには、pie を指定します。デフォルトは timeSeries です。

  • widgetsPerRow

    メトリクスエクスプローラーウィジェットの各行に表示されるグラフの数を指定します。

タイプ: オブジェクト

必須: いいえ

次の例では、アカウントの実行中の EC2 インスタンスごとに 3 つのメトリクスを表示し、ウィジェット内のグラフをアベイラビリティーゾーンで分割します。各グラフ内では、メトリクスはインスタンスタイプ別に集計されます。

{ "widgets": [ { "type": "explorer", "width": 24, "height": 15, "x": 0, "y": 0, "properties": { "metrics": [ { "metricName": "CPUUtilization", "resourceType": "AWS::EC2::Instance", "stat": "Average" }, { "metricName": "NetworkIn", "resourceType": "AWS::EC2::Instance", "stat": "Average" }, { "metricName": "NetworkOut", "resourceType": "AWS::EC2::Instance", "stat": "Average" } ], "aggregateBy": { "key": "InstanceType", "func": "MAX" }, "labels": [ { "key": "State", "value": "running" } ], "widgetOptions": { "legend": { "position": "bottom" }, "view": "timeSeries", "rowsPerPage": 8, "widgetsPerRow": 2 }, "period": 300, "splitBy": "AvailabilityZone", "title": "Running EC2 Instances by AZ" } } ] }

メトリクスエクスプローラーウィジェットオブジェクトの有効な resourceType 値

メトリクスエクスプローラーウィジェットの metrics セクションの resourceType フィールドの有効な値は次のとおりです。

  • AWS::AmazonMQ::Broker

  • AWS::ApiGateway::RestApi

  • AWS::AppStream::Fleet

  • AWS::AppSync::GraphQLApi

  • AWS::CloudFront::Distribution

  • AWS::CodeBuild::Project

  • AWS::Datasync::Agent

  • AWS::Datasync::Task

  • AWS::DMS::ReplicationInstance

  • AWS::DynamoDB::Table

  • AWS::EC2::CapacityReservation

  • AWS::EC2::Instance

  • AWS::EC2::NatGateway

  • AWS::EC2::TransitGateway

  • AWS::EC2::Volume

  • AWS::EC2::VPNConnection

  • AWS::ECS::Cluster

  • AWS::EFS::FileSystem

  • AWS::ElastiCache::CacheCluster

  • AWS::ElastiCache::ReplicationGroup

  • AWS::ElasticBeanstalk::Environment

  • AWS::ElasticLoadBalancing::LoadBalancer

  • AWS::ElasticLoadBalancingV2::LoadBalancer/ApplicationELB

  • AWS::ElasticLoadBalancingV2::LoadBalancer/GatewayELB

  • AWS::ElasticLoadBalancingV2::LoadBalancer/NetworkELB

  • AWS::ElasticLoadBalancingV2::TargetGroup

  • AWS::EMR::Cluster

  • AWS::Events::Rule

  • AWS::FSx::FileSystem

  • AWS::GameLift::Fleet

  • AWS::GlobalAccelerator::Accelerator

  • AWS::IoT::TopicRule

  • AWS::IoT1Click::Device

  • AWS::IoTAnalytics::Channel

  • AWS::IoTAnalytics::Dataset

  • AWS::IoTAnalytics::Datastore

  • AWS::IoTAnalytics::Pipeline

  • AWS::Kafka::Cluster

  • AWS::Kinesis::Stream

  • AWS::KinesisAnalytics::Application

  • AWS::KinesisFirehose::DeliveryStream

  • AWS::KinesisVideo::Stream

  • AWS::KMS::Key

  • AWS::Lambda::Function

  • AWS::Logs::LogGroup

  • AWS::MediaPackage::Channel

  • AWS::MediaStore::Container

  • AWS::OpsWorks::Instance

  • AWS::OpsWorks::Layer

  • AWS::OpsWorks::Stack

  • AWS::QLDB::Ledger

  • AWS::RDS::DBInstance

  • AWS::Redshift::Cluster

  • AWS::RoboMaker::SimulationJob

  • AWS::Route53::HealthCheck

  • AWS::Route53Resolver::ResolverEndpoint

  • AWS::S3::Bucket

  • AWS::SageMaker::Endpoint

  • AWS::ServiceCatalog::CloudFormationProduct

  • AWS::SES::ConfigurationSet

  • AWS::SNS::Topic

  • AWS::SQS::Queue

  • AWS::StepFunctions::Activity

  • AWS::StepFunctions::StateMachine

  • AWS::StorageGateway::Gateway

  • AWS::Synthetics::Canary

  • AWS::Transfer::Server

  • AWS::WorkMail::Organization

  • AWS::WorkSpaces::Workspace

アラームステータスウィジェットオブジェクトのプロパティ

タイプ alarm のウィジェットには、properties 内に次のフィールドを含めることができます。

アラーム

ウィジェットに含めるアラーム ARN の配列。配列には 1~100 ARN を含めることができます。

型: 文字列の配列

必須: はい (ウィジェット typealarm の場合)。

sortBy

ウィジェットでアラームをソートする方法を指定します。

アラーム名でアルファベット順にソートするには、default を選択します。

最初にアラーム状態別にソートするには stateUpdatedTimestamp を選択します。ALARM 状態のアラーム、INSUFFICIENT_DATA アラーム、OK アラームの順に設定します。各グループ内では、アラームは最後に状態が変更された日時でソートされ、より最新の状態の変更が最初に一覧表示されます。

現在のアラーム状態に関係なく、アラーム状態が最後に変更された時刻でソートするには timestamp を選択します。状態が最後に変更されたアラームが最初に一覧表示されます。

このフィールドを省略すると、アラームはアルファベット順にソートされます。

タイプ: 文字列

有効な値: default | stateUpdatedTimestamp | timestamp

必須: いいえ

states

このフィールドを使用して、ウィジェットに表示されるアラームのリストを、指定された現在の状態のアラームのみにフィルタリングします。このフィールドの値には、1 つ以上のアラーム状態を指定できます。指定できるアラームの状態は、ALARMINSUFFICIENT_DATAOK です。

このフィールドを省略するか、空の配列を指定すると、alarms で指定されたすべてのアラームが表示されます。

型: 文字列の配列

必須: いいえ

title

ウィジェットに表示されるタイトルテキスト。

タイプ: 文字列

必須: いいえ

次の例は、現在の状態に関係なく、名前で指定された 4 つのアラームを表示するアラームステータスウィジェットです。

{ "type": "alarm", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "alarms": [ "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2FrontendCPU", "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2BackendCPU", "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2FrontendCPU", "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2BackendCPU" ], "sortBy": "stateUpdatedTimestamp", "title": "All EC2 CPU alarms" } }

次のウィジェットの例では、同じ 4 つのアラームを指定しますが、ウィジェットには、現在 ALARM または INSUFFICIENT_DATA 状態にあるアラームのみが表示されます。

{ "type": "alarm", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "alarms": [ "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2FrontendCPU", "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2BackendCPU", "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2FrontendCPU", "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2BackendCPU" ], "sortBy": "stateUpdatedTimestamp", "states": [ "ALARM", "INSUFFICIENT_DATA" ], "title": "EC2 alarms that are not currently OK" } }

グラフウィジェットオブジェクトのプロパティ

タイプ chart のウィジェットは、CloudWatch メトリクスに対する PromQL クエリをサポートする、マルチデータソース対応のグラフウィジェットです。グラフウィジェットを使用して、OpenTelemetry Line Protocol (OTLP) を介して取り込まれたメトリクスや OTel 用に強化された AWS 提供のメトリクスなど、PromQL でクエリ可能なメトリクスを可視化します。PromQL によるクエリ実行について詳しくは、「PromQL を使用してメトリクスをクエリする」を参照してください。

タイプ chart のウィジェットには、properties 内に次のフィールドを含めることができます。

表示

ウィジェットに使用できる可視化。

有効な値: line | bar | pie | number | solidgauge | column | legend | histogram | heatmap | scatter

タイプ: 文字列

必須: はい

title

ウィジェットに表示できるタイトル。

タイプ: 文字列

必須: いいえ

説明

ウィジェットの説明 (オプション)。

タイプ: 文字列

必須: いいえ

リージョン

ウィジェット内のすべてのクエリに使用できる AWS リージョン。data.queries 配列内の各クエリは、これを独自の region フィールドで上書きできます。

タイプ: 文字列

必須: いいえ

data

ウィジェットでプロットできるクエリ。data オブジェクトには queries 配列が含まれており、各エントリは 1 つのクエリを定義します。この形式の詳細については、グラフウィジェット: 配列内の各クエリの形式 を参照してください。

型: オブジェクト

必須: はい

plotOptions

凡例の配置、軸設定、ビュー固有のスタイル設定 (線幅や積み上げ棒など) など、ウィジェットの可視化オプション。使用できる具体的なフィールドは、view の値によって異なります。plotOptions を省略すると、ビューのデフォルト設定が使用されます。フィールドの完全なリストについては、「グラフウィジェット: plotOptions リファレンス」を参照してください。

タイプ: オブジェクト

必須: いいえ

グラフウィジェット: 配列内の各クエリの形式

data.queries 配列内の各エントリは、単一のクエリを定義します。CloudWatch メトリクスをクエリするグラフウィジェットを作成するには、typecloudwatch-metrics に設定し、languagePromQL または SQL に設定して、query フィールドにクエリ式を文字列として指定します。1 つのグラフウィジェット内で、異なる言語で記述されたクエリを混在させることができます。

id

このクエリの識別子。ID はウィジェット内で一意である必要があります。

タイプ: 文字列

必須: はい

クエリの種類。PromQL の場合は、cloudwatch-metrics を使用します。

有効な値:cloudwatch-metrics

タイプ: 文字列

必須: はい

言語

このクエリのクエリ言語。PromQL を指定して Prometheus クエリ言語でクエリを記述するか、SQL を指定して CloudWatch Metrics Insights SQL でクエリを記述します。

有効な値: PromQL | SQL

タイプ: 文字列

必須: はい

query

評価するクエリ式 (文字列)。構文は language フィールドに依存します。

PromQL の場合、Prometheus クエリ言語式を指定します。例えば、sum by (InstanceId) (rate(CPUUtilization[5m]))。PromQL 構文と、AWS 提供のメトリクスで使用できるラベルについては、「PromQL を使用した提供された AWS メトリクスのクエリ」を参照してください。

SQL の場合、CloudWatch Metrics Insights SQL クエリを指定します。例えば、SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId。Metrics Insights クエリ構文については、「Metrics Insights のクエリコンポーネントと構文」を参照してください。

タイプ: 文字列

必須: はい

ラベル

凡例に表示できる、このクエリのシリーズのラベル。各シリーズ名にすべてのメトリクスラベルを含めるには、特別な値 __verbose__ を指定します。

タイプ: 文字列

必須: いいえ

リージョン

このクエリを評価できる AWS リージョン。省略すると、ウィジェットの region が使用されます。

タイプ: 文字列

必須: いいえ

accountId

このクエリを評価できる AWS アカウント。これは、モニタリングアカウントダッシュボードでクロスアカウントクエリを実行する際に使用します。

タイプ: 文字列

必須: いいえ

ステップ

クエリの解決にかかる時間 (秒単位)。これにより、ウィジェットの時間範囲で PromQL 式が評価される頻度が制御されます。

型: 数値

必須: いいえ

visible

ウィジェット定義でクエリを保持したまま、このクエリのシリーズをグラフから非表示にするには、false に設定します。デフォルトは true です。

タイプ: ブール値

必須: いいえ

グラフウィジェット: plotOptions リファレンス

plotOptions オブジェクトは、グラフのレンダリング方法を制御します。すべての view で共有される共通のフィールドのセットと、選択した view に依存するシェイプを持つ style オブジェクトを含めることができます。一部のビューでは、軸 (yAxisxAxis) と annotations オブジェクトも使用できます。

次の表は、各 view でサポートされているフィールドをまとめたものです。

view (表示)

スタイルのサブオブジェクト

y 軸 / x 軸

注釈のサポート

line

LineStyle

はい

はい (垂直および水平)

bar

BarStyle

はい

はい (垂直および水平)

column

BarStyle

はい

いいえ

pie

PieStyle

いいえ

いいえ

number

NumberStyle

いいえ

いいえ

solidgauge

GaugeStyle

いいえ

はい (水平)

scatter

ScatterStyle

はい

はい (垂直および水平)

histogram

BarStyle + HistogramStyle

はい

いいえ

heatmap

HeatmapStyle

はい

いいえ

一般的な plotOptions フィールド

以下のフィールドは、すべての viewplotOptions で有効です。

legend

凡例を設定します。 オブジェクトには、以下のフィールドが含まれています。

  • position – ウィジェット上で凡例が表示される場所。有効な値は、bottom および right です。

  • show – ブール値。凡例を非表示にするには、false に設定します。

タイプ: オブジェクト

必須: いいえ

ビュー固有のスタイルフィールド

style オブジェクトのシェイプは、view の値によって異なります。

lineOptions

viewline の場合に使用されます。折れ線レンダリングを設定します。 オブジェクトには、以下のフィールドが含まれています。

  • width – 数値。ピクセル単位の線幅。

  • pattern – 線ストロークパターン。有効な値は、soliddasheddotted です。

  • spline – ブール値。true の場合、データポイントを通る滑らかな曲線が描画されます。

  • filled – ブール値。true の場合、線の下の面が塗りつぶされます。

  • stacked – ブール値。true の場合、各シリーズをまたいで塗りつぶされた面が積み上げられます。積み上げ面グラフの場合は、filled: true で使用します。

  • color – 6 桁の HTML 16 進数カラーコード。

タイプ: オブジェクト

必須: いいえ

barOptions

viewbarcolumn、または histogram の場合に使用されます。棒レンダリングを設定します。 オブジェクトには、以下のフィールドが含まれています。

  • stacked – ブール値。true の場合、異なるシリーズの棒が積み上げられます。

  • orientation – 棒の方向。有効な値は、vertical および horizontal です。

タイプ: オブジェクト

必須: いいえ

pieOptions

viewpie の場合に使用されます。 オブジェクトには、以下のフィールドが含まれています。

  • innerSize – 文字列。割合 ("50%" など)。実円の場合は "0%" に設定し、ドーナツグラフの場合はゼロ以外の値に設定します。

タイプ: オブジェクト

必須: いいえ

numberOptions

viewnumber の場合に使用されます。 オブジェクトには、以下のフィールドが含まれています。

  • sparkline – ブール値。true の場合、数値の下にスパークラインが表示されます。

  • truncate – ブール値。true の場合、大きな数値が切り捨てられます (例えば、1234 ではなく 1.2K が表示されます)。

タイプ: オブジェクト

必須: いいえ

gaugeOptions

viewsolidgauge の場合に使用されます。 オブジェクトには、以下のフィールドが含まれています。

  • min – 数値。ゲージの最小値。

  • max – 数値。ゲージの最大値。

タイプ: オブジェクト

必須: いいえ

colorOptions

viewheatmap の場合に使用されます。色のグラデーションを設定します。 オブジェクトには、以下のフィールドが含まれています。

  • colorPreset – 文字列。組み込みのカラースケールの名前。

  • minColor – カスタムグラデーションの開始点 (低値側) で使用される 6 桁の HTML 16 進数カラーコード。

  • midColor – カスタムグラデーションの中間点で使用される 6 桁の HTML 16 進数カラーコード。

  • maxColor – カスタムグラデーションの終点 (高値側) で使用される 6 桁の HTML 16 進数カラーコード。

タイプ: オブジェクト

必須: いいえ

histogramOptions

barOptions に加えて、viewhistogram の場合に使用されます。 オブジェクトには、以下のフィールドが含まれています。

  • bucketCount – 数値。データを分割するバケットの数。

  • bucketSize – 数値、またはバケットのサイズを自動設定するための文字列 "auto"

  • combineSeries – ブール値。すべてのシリーズを 1 つのヒストグラムに結合します。

タイプ: オブジェクト

必須: いいえ

aggregationOptions

viewhistogram の場合に使用されます。バケット化の前にデータポイントをどのように集計するかを制御します。 オブジェクトには、以下のフィールドが含まれています。

  • binInterval – 文字列。bin 幅を時間単位で表したもの。例えば、5 分の bin 幅は "5m" で表されます。

タイプ: オブジェクト

必須: いいえ

ラベル

折れ線、棒、および散布線スタイルで使用され、グラフ上のデータポイントに直接ラベルを表示します。 オブジェクトには、以下のフィールドが含まれています。

  • position – データポイントに対してラベルが表示される位置。有効な値は、insideoutsidetopbottomleft および right です。

  • show – ブール値。ラベルを表示する場合は true に設定します。

タイプ: オブジェクト

必須: いいえ

markOptions

折れ線および散布線スタイルで使用され、データポイントで描画されるマーカーを設定します。 オブジェクトには、以下のフィールドが含まれています。

  • enabled – ブール値。マーカーを描画する場合は true に設定します。

  • symbolType – 文字列。マーカーシェイプ。例えば、circlesquare、または diamond です。

  • symbolSize – 数値。ピクセル単位のマーカーサイズ。

  • borderWidth – 数値。ピクセル単位のマーカー境界線幅。

  • borderColor – マーカー境界線の 6 桁の HTML 16 進数カラーコード。

  • fillColor – マーカー塗りつぶしの 6 桁の HTML 16 進数カラーコード。

  • fillOpacity – 0~1 の数値。

タイプ: オブジェクト

必須: いいえ

yAxis フィールドと xAxis フィールド

軸をサポートする view 値については、plotOptionsyAxis および xAxis オブジェクトを含めることができます。

yAxis

1 つまたは 2 つの軸オブジェクトの配列。最初のエントリは左軸を設定し、2 番目のエントリ (存在する場合) は右軸を設定します。各軸オブジェクトには、以下のフィールドが含まれています。

  • min – 数値。軸の下限。

  • max – 数値。軸の上限。

  • type – 軸スケール。有効な値は、linearlogarithmicdatetime、および category です。

  • title – 文字列。軸の横に表示される軸ラベル。

  • showUnits – ブール値。ティックラベルに単位サフィックス (KM など) を表示するかどうかの選択。

タイプ: オブジェクトの配列

必須: いいえ

xAxis

x 軸を設定する単一軸オブジェクト。 オブジェクトには、以下のフィールドが含まれています。

  • min – 数値。軸の下限。

  • max – 数値。軸の上限。

  • type – 軸スケール。有効な値は、linearlogarithmicdatetime、および category です。

  • title – 文字列。軸の横に表示される軸ラベル。

  • label – 文字列。ティックラベル形式。

タイプ: オブジェクト

必須: いいえ

annotations

注釈をサポートする view 値については、参照線または網掛けバンドをグラフに追加できます。annotations オブジェクトには、以下の配列を含めることができます。

垂直

時間軸上の注釈。各エントリは、1 つの注釈オブジェクト、またはバンド (2 つの値の間の網掛け領域) を定義する 2 つの注釈オブジェクトからなる配列です。各注釈オブジェクトには、以下のフィールドが含まれています。

  • type – 注釈タイプ。static を使用します。

  • label – 文字列。注釈の横に表示されるテキスト。

  • value – 数値、ISO-8601 タイムスタンプ文字列、またはカテゴリ。注釈が表示される時間軸上の位置。

  • color – 注釈行とフィルシェーディングに使用する 6 桁の HTML 16 進数カラーコード。

  • fill – フィルシェーディングの使用方法。有効な値は、before (注釈の前のシェーディング)、after (注釈の後ろのシェーディング)、および between (バンド注釈で 2 つの値の間のシェーディングに使用) です。

型: 配列

必須: いいえ

水平

値軸上の注釈。各エントリは、1 つの注釈オブジェクト、またはバンドを定義する 2 つの注釈オブジェクトからなる配列です。各注釈オブジェクトには、以下のフィールドが含まれています。

  • type – 注釈タイプ。static を使用します。

  • label – 文字列。注釈の横に表示されるテキスト。

  • value – 数値。注釈が表示される値軸上の値。

  • color – 注釈行とフィルシェーディングに使用する 6 桁の HTML 16 進数カラーコード。

  • fill – フィルシェーディングの使用方法。有効な値は、above (注釈の上のシェーディング)、below (注釈の下のシェーディング)、および between (バンド注釈で 2 つの値の間のシェーディングに使用) です。

型: 配列

必須: いいえ

例: PromQL 折れ線グラフ

次の例では、us-east-1 における AWS 提供のメトリクスに対して PromQL クエリをプロットする折れ線グラフをレンダリングします。

{ "type": "chart", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "view": "line", "title": "EC2 CPU by instance", "region": "us-east-1", "data": { "queries": [ { "id": "a", "type": "cloudwatch-metrics", "language": "PromQL", "query": "sum by (InstanceId) (rate(CPUUtilization[5m]))" } ] }, "plotOptions": { "legend": { "position": "bottom", "show": true } } } }

例: PromQL クエリと SQL クエリを組み合わせたグラフ

次の例は、同じメトリクスに対して 2 つのクエリをプロットする折れ線グラフを示しています。1 つは PromQL で記述され、もう 1 つは CloudWatch Metrics Insights SQL で記述されています。

{ "type": "chart", "x": 0, "y": 6, "width": 12, "height": 6, "properties": { "view": "line", "title": "EC2 CPU utilization (PromQL and SQL)", "region": "us-east-1", "data": { "queries": [ { "id": "promql_cpu", "type": "cloudwatch-metrics", "language": "PromQL", "query": "sum by (InstanceId) (rate(CPUUtilization[5m]))", "label": "PromQL" }, { "id": "sql_cpu", "type": "cloudwatch-metrics", "language": "SQL", "query": "SELECT AVG(CPUUtilization) FROM SCHEMA(\"AWS/EC2\", InstanceId) GROUP BY InstanceId", "label": "SQL" } ] }, "plotOptions": { "legend": { "position": "right", "show": true } } } }