このトピックでは、HTTPリクエストを送信してモニタリングデータをレポートする方法について説明します。
エンドポイント
カスタムイベントをレポートするエンドポイントの詳細については、「付録3: モニタリングデータをレポートするエンドポイント」をご参照ください。
リクエスト構文
次のコードは、モニタリングデータのレポートに使用されるHTTPリクエストの構文を示しています。
POST /メトリック /カスタム /アップロードHTTP/1.1
権限付与:<AuthorizationString>
Content-Length:<Content Length>
Content-MD5:<コンテンツMD5>
Content-Type:application/json
日付:<GMT日付>
ホスト: metrichub-cms-cn-hangzhou.aliyuncs.com
x-cms-signature:hmac-sha1
x-cms-api-version:1.0
x-cms-ip:192.168.XX.XX
User-Agent:cms-java-sdk-v-1.0
[{"dimensions":{"key":"value"} 、"groupId":12345、"metricName":"TestMetric" 、"period":60、"time":"20210827T143329.213 + 0800" 、"type":0、"values":{"value":10}}] リクエストヘッダーとパラメーター
監視データのレポートに使用するHTTPリクエストのヘッダーとパラメーターを次の表に示します。
リクエストヘッダー
ヘッダー
データ型
説明
例
承認
String
AccessKeyID:SignString形式の権限付与文字列。AccessKey IDの取得方法については、「AccessKey ペアの取得」をご参照ください。
文字列に署名する方法の詳細については、CloudMonitorはHMAC-SHA1署名アルゴリズムをサポートしていますか?
testKey:F86ADF652A6466FCCD860B867D9518D48C24E7F6Content-Length
Long
RFC 2616で定義されているHTTPリクエストのボディ長。 リクエストボディは、UTF-8でエンコードされたバイト数で測定されます。
説明このヘッダーは、リクエストに本文がある場合にのみ必要です。
151Content-MD5
String
HTTPリクエストボディのMD5ハッシュ。 MD5ハッシュは、大文字と数字で構成される文字列です。
説明このヘッダーは、リクエストに本文がある場合にのみ必要です。
215614AA47799058C009D3E20B19B8 3AContent-Type
String
HTTPリクエストで送信されるコンテンツのタイプ。 値を
application/jsonに設定します。アプリケーション /json日付
String
HTTPリクエストの標準タイムスタンプヘッダー。 このタイムスタンプヘッダーは、RFC 1123で定義された時間形式に従い、UTC標準時間を使用します。
例:
月曜日、1月3日2010 08:33:47 UTC8月27日金曜日2021 06:33:55 GMTホスト
String
HTTPリクエストの完全なホスト名。 このヘッダーには、https:// などのプロトコルヘッダーは含まれません。
例:
metrichub-cms-cn-hangzhou.aliyuncs.com。metrichub-cms-cn-hangzhou.aliyuncs.comx-cms-api-version
String
API のバージョン。 値を 1.0 に設定します。
1.0x-cms-signature
String
署名アルゴリズム。 CloudMonitorはHMAC-SHA1署名アルゴリズムをサポートしています。
hmac-sha1x-cms-ip
String
監視データを報告するホストのIPアドレス。
192.168.XX.XXUser-Agent
String
クライアントの説明。
cms-java-sdk-v-1.0リクエストパラメーター
パラメーター
データ型
必須
説明
groupId
Long
可
アプリケーショングループのID。
metricName
String
必須
メトリックの名前。 詳細については、「付録1: メトリック」をご参照ください。
dimensions
オブジェクト
可
モニタリングデータを照会するリソースを指定するディメンション。
値は、キーと値のペアのコレクションです。 典型的なペアは
instanceId:i-abcdefgh12 ****です。time
String
必須
メトリックが生成されたときのタイムスタンプ。 有効な値:
yyyyMMdd'T'HHmmss.SSSZ
例: 20171012T132456.888 + 0800
long
例: 1508136760000
type
Int
可
報告されたデータのタイプ。 有効な値: 0と1。 値0は生データを示し、値1は集計データを示します。
60秒と300秒の両方の集計期間で集計データをレポートすることを推奨します。 それ以外の場合、7日を超える期間のモニタリングデータをクエリすることはできません。
period
String
任意
集計期間。 単位は秒です。
typeパラメーターが1に設定されている場合、periodパラメーターが必要です。 有効な値:
60
300
values
オブジェクト
可
メトリック値のコレクション。
typeパラメーターが0に設定されている場合、このパラメーターのキーは指定された値に設定する必要があります。 CloudMonitorは、各集計期間の生データを集計して、最大値、カウント、合計値などの複数の統計値を生成します。
レスポンスの例
次のコードは、モニタリングデータをレポートするHTTPリクエストに対するサンプルレスポンスを示しています。
{
"code":"200",// HTTPステータスコード200は、リクエストが成功したことを示します。
"msg":"" // モニタリングデータが報告された場合、値は空です。
}