Simple Log Serviceは、すべてのデータをMetricstoreに時系列として保存します。 Simple Log Serviceは、Prometheusによって定義された時系列データのモデルを使用します。 モデルの詳細については、Prometheusドキュメントの「データモデル」をご参照ください。 各時系列は、同じメトリック識別子を有するサンプルからなる。
メトリック識別子
各時系列には、メトリック名とラベルで構成される一意のメトリック識別子があります。
メトリック名は、時系列の説明を示す文字列です。 メトリック名は、[A-zA-Z_:][a-zA-Z0-9_:]* の正規表現と一致する必要があります。 たとえば、http_request_totalは、時系列の各サンプルが受信したHTTPリクエストの総数を示すことを示します。
ラベルは、時系列の属性を示すキーと値のペアです。 複数のキーと値のペアは縦棒 (|) で区切られています。 ラベルキーは、[A-zA-Z_][a-zA-Z0-9_]* の正規表現と一致する必要があります。 ラベル値には、縦棒 (|) を除くすべての文字を含めることができます。 例えば、methodキーの値はPOSTであり、URLキーの値は /api/v1/getである。
例
サンプルは、ある時点でのメトリックの値を示します。 各サンプルは、タイムスタンプと値で構成されます。 タイムスタンプはナノ秒まで正確で、値はDOUBLE型です。
エンコード形式
時系列データをSimple Log Serviceに書き込む場合は、プロトコルバッファ (Protobuf) 形式を使用する必要があります。 この形式は、ログデータの書き込みにも使用されます。 詳細については、「データエンコーディング」をご参照ください。 メトリック識別子およびサンプルは、コンテンツフィールドに含まれる。 次の表に、関連するサブフィールドを示します。
サブフィールド | 説明 | 例 |
__name__ | 時系列のメトリック名。 | nginx_ingress_controller_response_size |
__ラベル__ | 時系列のラベル。 形式: 説明
| app #$# ingress-nginx | controller_class #$# nginx | controller_namespace #$# kube-system | controller_pod #$# nginx-ingress-controller-589877c6b7-hw9cj |
__time_nano__ | サンプルのタイムスタンプ。 値はナノ秒まで正確です。 | 1585727297293000000 |
__value__ | サンプルの値。 | 36.0 |