すべてのプロダクト
Search
ドキュメントセンター

:データの書き込み

最終更新日:Jan 14, 2025

リクエストパスとメソッド

リクエストパス

リクエストメソッド

説明

/api/put

POST

複数のデータポイントを一度に書き込みます。

リクエストパラメーター

パラメーター

タイプ

必須

説明

デフォルト値

summary

型指定なし

いいえ

サマリーを返すかどうかを指定します。

false

/api/put?summary

details

型指定なし

いいえ

詳細を返すかどうかを指定します。

false

/api/put?details

sync_timeout

整数

いいえ

タイムアウト期間。単位:ミリ秒。値 0 は、リクエストがタイムアウトしないことを示します。

0

/api/put/?sync&sync_timeout=60000

ignoreErrors

型指定なし

いいえ

一部のデータポイントの書き込み例外を無視するかどうかを指定します。

false

/api/put/?ignoreErrors

注記:

  • パラメーターが設定されている場合、システムは型指定なしパラメーターの値を true と判断します。たとえば、summary パラメーターを true または false に設定したかどうかに関係なく、システムは summary パラメーターの値を true と判断します。

  • details パラメーターと summary パラメーターの両方を指定すると、API 操作は詳細を返します。

リクエストパラメーター

JSON 形式でデータポイントを指定します。次の表に、データポイントのパラメーターを示します。

パラメーター

タイプ

必須

制限

説明

metric

文字列

はい

値には、英字、数字、および次の特殊文字のみを含めることができます:-_./():,[]='#

保存するメトリックの名前。

sys.cpu

説明

高可用性エディションでは、メトリック名は最大 255 バイトの長さにすることができます。

timestamp

Long

はい

なし

秒またはミリ秒単位で測定されたタイムスタンプ。単位を決定するためのルールの詳細については、このトピックのタイムスタンプ単位セクションを参照してください。

1499158925

value

Long、Double、String、Boolean

はい

なし

データポイントの値。

42.5, true

tags

マップ

いいえ

値には、英字、数字、および次の特殊文字のみを含めることができます:-_./():,[]='#

タグのキーと値のペア。タグキーとタグ値は文字列です。少なくとも 1 つのタグキーと値のペアを指定します。

{"host":"web01"}。STRING データ型ではないタグキーとタグ値は、明示的に STRING 型に変換されます。

タイムスタンプ単位

このセクションでは、タイムスタンプの単位を決定するためのルールについて説明します。これらのルールは、次の API 操作に適用されます:/api/put および api/query。/api/put はデータの書き込みに使用されます。/api/query はデータのクエリに使用されます。

タイムスタンプは、秒またはミリ秒単位で測定できます。Time Series Database (TSDB) は、数値に基づいてタイムスタンプの単位を決定するために、次のルールを使用します。

  • 値が [4294968,4294967295] の範囲内にある場合、単位は秒です。この場合、日時範囲は [1970-02-20 01:02:48, 2106-02-07 14:28:15] です。

  • 値が [4294967296,9999999999999] の範囲内にある場合、単位はミリ秒です。この場合、日時範囲は [1970-02-20 01:02:47.296, 2286-11-21 01:46:39.999] です。

  • 値が (-∞,4294968) または (9999999999999,+∞) の範囲内にある場合、タイムスタンプは無効です。

データポイントの値の説明

  • STRING データ型の値にはすべての文字を含めることができ、JSON 形式で保存できます。文字列値のサイズは 20 KB を超えることはできません。

タグの説明

  • 時系列データに書き込む場合、指定できるタグキーの数は限られています。タグキーの最大数は、次の表に示すように、TSDB インスタンスのインスタンスタイプによって異なります。

インスタンスタイプ

単一のタイムシリーズにおけるタグキーの最大数

mLarge

16

Large

16

3xLarge

20

4xLarge

20

6xLarge

20

12xLarge

20

24xLarge

24

48xLarge

24

96xLarge

24

リクエストの例

リクエスト行:POST /api/put

リクエスト行:

[
{
"metric":"sys.cpu.nice", // メトリック名
"timestamp":1346846400, // タイムスタンプ
"value":18, // 値
"tags":{ // タグ
"host":"web01", // ホスト
"dc":"lga" // データセンター
}
},
{
"metric":"sys.cpu.nice", // メトリック名
"timestamp":1346846400, // タイムスタンプ
"value":9, // 値
"tags":{ // タグ
"host":"web02", // ホスト
"dc":"lga" // データセンター
}
},
{
"metric":"sys.cpu.alter", // メトリック名
"timestamp":1346846400, // タイムスタンプ
"value":"High CPU Load", // 値
"tags":{ // タグ
"host":"web03", // ホスト
"dc":"lga" // データセンター
}
},
{
"metric":"sys.cpu.nice", // メトリック名
"timestamp":1346846400, // タイムスタンプ
"value":true, // 値
"tags":{ // タグ
"host":"web04", // ホスト
"dc":"lga" // データセンター
}
}
]

書き込みモードとレスポンス

TSDB は 4 つの書き込みモードをサポートしています。各モードを使用するには、次の手順に基づいてリクエストパラメーターを設定します。

  • シンプルモード

    api/put 操作を呼び出すときにパラメーターを設定しないで、このモードを使用します。データが TSDB に正常に書き込まれた場合、ステータスコード 204 が返されます。データの書き込みに失敗した場合、対応するエラーコードとエラーメッセージのみが返されます。

    このモードは、一般的なビジネスの監視データのレポートに適しています。

  • 統計モード

    api/put 操作を呼び出すときに summary パラメーターを設定して、このモードを使用します。データが TSDB に正常に書き込まれたかどうかに関係なく、success パラメーターと failed パラメーターが返されます。これは、ビジネスの統計情報を収集するのに役立ちます。success パラメーターは、書き込まれたデータポイントの数を示します。failed パラメーターは、書き込みに失敗したデータポイントの数を示します。

    パラメーター

    タイプ

    説明

    success

    整数

    正常に書き込まれたデータポイントの数。

    failed

    整数

    書き込みに失敗したデータポイントの数。

    例:

    {
        "failed":0, // 失敗したデータポイントの数
        "success": 20 // 成功したデータポイントの数
    }

    重要

    統計モードでは、api/put リクエストのデータポイントはすべて正常に書き込まれるか、すべて書き込みに失敗します。データ書き込みに失敗した場合、failed パラメーターはリクエストで指定されたデータポイントの数を示します。

    統計モードは、レポートされたデータの統計情報を必要とする一般的なビジネスの監視データのレポートに適しています。

  • 詳細モード

    詳細モードは統計モードの拡張です。api/put 操作を呼び出すときに details パラメーターを設定して、このモードを使用します。 データが TSDB に正常に書き込まれたかどうかに関係なく、success、failed、および errors パラメーターが返されます。success パラメーターは、書き込まれたデータポイントの数を示します。failed パラメーターは、書き込みに失敗したデータポイントの数を示します。errors パラメーターは、書き込み失敗の直接の原因を示します。

    パラメーター

    タイプ

    説明

    success

    整数

    正常に書き込まれたデータポイントの数。

    failed

    整数

    書き込みに失敗したデータポイントの数。

    errors

    配列

    書き込みに失敗した最初のデータポイントの失敗の直接の原因。値は、データポイントに関する情報と失敗原因で構成される配列です。

    例:

    {
        "errors":[{ // エラー情報
                "datapoint":{ // データポイント
                    "metric":"sys.cpu.nice", // メトリック名
                    "timestamp":1365465600, // タイムスタンプ
                    "value":"NaN", // 値
                    "tags":{ // タグ
                        "host":"web01" // ホスト
                    }
                },
                "error":"Unable to parse value to a number" // エラーメッセージ
            }],
        "failed":1, // 失敗したデータポイントの数
        "success":0 // 成功したデータポイントの数
    }

    重要

    詳細モードでは、api/put 操作を呼び出す 1 つのリクエスト内のデータポイントは、すべて書き込まれるか、すべて書き込みに失敗します。errors の値には、書き込みに失敗した最初のデータポイントに関する情報と失敗の直接の原因のみが含まれます。書き込みに失敗したデータポイントの数を表示するには、failed パラメーターの値を表示します。

    このモードは、レポートされたデータの統計情報と障害箇所の特定を必要とするビジネスの監視データのレポートに適しています。

  • フォールトトレラントモード

    api/put 操作を呼び出すときに ignoreErrors パラメーターを設定して、このモードを使用します。 フォールトトレラントモードで TSDB にデータポイントのバッチを書き込むリクエストを送信すると、1 つのデータポイントの書き込み失敗は他のデータポイントの書き込みに影響を与えません。このモードでは、有効なデータポイントと無効なデータポイントが同じバッチに存在する場合、ほとんどのデータポイントを TSDB に書き込むことができます。書き込みに失敗したデータポイントは、レスポンスで列挙されます。レスポンスには、リクエストで details パラメーターを設定した場合に返されるのと同じパラメーターが含まれます。ただし、errors パラメーターには、書き込みに失敗した各データポイントの名前と失敗原因が含まれます。errors パラメーターの値に含まれていないデータポイントは、TSDB に正常に書き込まれました。

    パラメーター

    タイプ

    説明

    success

    整数

    正常に書き込まれたデータポイントの数。

    failed

    整数

    書き込みに失敗したデータポイントの数。

    errors

    配列

    書き込みに失敗した各データポイントと対応する失敗原因の配列。

    例:

    重要

    フォールトトレラントモードでは、バッチ内のすべてのデータポイントが書き込みに失敗したわけではない場合、ステータスコード 200 が返されます。基盤となるストレージの障害などの重大なエラーにより、バッチ内のすべてのデータポイントが書き込みに失敗した場合、200 以外のステータスコードが返されます。フォールトトレラントモードでは、failed パラメーターは書き込みに失敗したデータポイントの数を示します。

    このモードは、レポートされたデータの整合性と、失敗したデータポイントの障害修正と再書き込みを必要とするビジネスの監視データのレポートに適しています。