指標エンドポイント

オブザーバビリティ指標は、Adobe Experience Platformのさまざまな機能の使用統計、過去の傾向、パフォーマンス指標に関するインサイトを提供します。 Observability Insights APIの/metrics エンドポイントを使用すると、組織のExperience Platformでのアクティビティに関する指標データをプログラムで取得できます。

NOTE
以前のバージョンの指標エンドポイント(V1)は非推奨(廃止予定)になりました。 このドキュメントでは、現在のバージョン(V2)にのみ焦点を当てます。 レガシー実装のV1 エンドポイントについて詳しくは、API リファレンス ​を参照してください。

はじめに

このガイドで使用する API エンドポイントは、Observability Insights API の一部です。 先に進む前に、はじめる前にのガイドを参照し、関連ドキュメントへのリンク、このドキュメントのサンプル API 呼び出しを読み取るためのガイドおよび任意の Experience Platform API の呼び出しを成功させるのに必要なヘッダーに関する重要な情報を確認してください。

観察性指標の取得

/metrics エンドポイントにPOST リクエストを行い、取得する指標をペイロードで指定することで、指標データを取得できます。

API 形式

POST /metrics

リクエスト

curl -X POST \
  https://platform.adobe.io/data/infrastructure/observability/insights/metrics \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'x-sandbox-id: {SANDBOX_ID}'
  -d '{
        "start": "2020-07-14T00:00:00.000Z",
        "end": "2020-07-22T00:00:00.000Z",
        "granularity": "day",
        "metrics": [
          {
            "name": "timeseries.ingestion.dataset.recordsuccess.count",
            "filters": [
              {
                "name": "dataSetId",
                "value": "5edcfb2fbb642119194c7d94|5eddb21420f516191b7a8dad",
                "groupBy": true
              }
            ],
            "aggregator": "sum"
          },
          {
            "name": "timeseries.ingestion.dataset.dailysize",
            "filters": [
              {
                "name": "dataSetId",
                "value": "5eddb21420f516191b7a8dad",
                "groupBy": false
              }
            ],
            "aggregator": "sum",
          }
        ]
      }'
プロパティ
説明
start
指標データを取得する最も早い日時。
end
指標データを取得する最新の日時。
granularity
指標データを分割する時間間隔を示すオプションのフィールド。 例えば、DAYの値はstartからendの日付の間の各日の指標を返しますが、MONTHの値は指標の結果を月ごとにグループ化します。
metrics
取得する各指標ごとに1つずつ、オブジェクトの配列。
name
Observability Insightsで認識される指標の名前。 使用可能なメトリック名の完全なリストについては、付録を参照してください。
filters

特定のデータセットで指標をフィルタリングできるオプションフィールド。 フィールドはオブジェクトの配列(各フィルターに1つ)で、各オブジェクトには次のプロパティが含まれます。

  • name:指標をフィルタリングするエンティティのタイプ。 現在は、dataSets のみがサポートされています。
  • value: 1つ以上のデータセットのID。 複数のデータセット IDを1つの文字列として指定し、各IDを縦棒で区切ることができます(|)。
  • groupBy:trueに設定すると、対応するvalueが、指標の結果を個別に返す必要がある複数のデータセットを表していることを示します。 falseに設定すると、これらのデータセットの指標の結果がグループ化されます。
aggregator
複数の時系列レコードを単一の結果にグループ化するために使用する集計関数を指定します。 現在サポートされている集計は、指標の定義に応じて、min、max、sum、avgです。

応答

応答が成功すると、リクエストで指定された指標とフィルターの結果のデータポイントが返されます。

{
  "metricResponses": [
    {
      "metric": "timeseries.ingestion.dataset.recordsuccess.count",
      "filters": [
        {
          "name": "dataSetId",
          "value": "5edcfb2fbb642119194c7d94|5eddb21420f516191b7a8dad",
          "groupBy": true
        }
      ],
      "datapoints": [
        {
          "groupBy": {
            "dataSetId": "5edcfb2fbb642119194c7d94"
          },
          "dps": {
            "2020-07-14T00:00:00Z": 44.0,
            "2020-07-15T00:00:00Z": 46.0,
            "2020-07-16T00:00:00Z": 36.0,
            "2020-07-17T00:00:00Z": 50.0,
            "2020-07-18T00:00:00Z": 38.0,
            "2020-07-19T00:00:00Z": 40.0,
            "2020-07-20T00:00:00Z": 42.0,
            "2020-07-21T00:00:00Z": 42.0,
            "2020-07-22T00:00:00Z": 50.0
          }
        },
        {
          "groupBy": {
            "dataSetId": "5eddb21420f516191b7a8dad"
          },
          "dps": {
            "2020-07-14T00:00:00Z": 44.0,
            "2020-07-15T00:00:00Z": 46.0,
            "2020-07-16T00:00:00Z": 36.0,
            "2020-07-17T00:00:00Z": 50.0,
            "2020-07-18T00:00:00Z": 38.0,
            "2020-07-19T00:00:00Z": 40.0,
            "2020-07-20T00:00:00Z": 42.0,
            "2020-07-21T00:00:00Z": 42.0,
            "2020-07-22T00:00:00Z": 50.0
          }
        }
      ],
      "granularity": "DAY"
    },
    {
      "metric": "timeseries.ingestion.dataset.dailysize",
      "filters": [
        {
          "name": "dataSetId",
          "value": "5eddb21420f516191b7a8dad",
          "groupBy": false
        }
      ],
      "datapoints": [
        {
          "groupBy": {},
          "dps": {
            "2020-07-14T00:00:00Z": 38455.0,
            "2020-07-15T00:00:00Z": 40213.0,
            "2020-07-16T00:00:00Z": 31476.0,
            "2020-07-17T00:00:00Z": 43705.0,
            "2020-07-18T00:00:00Z": 33227.0,
            "2020-07-19T00:00:00Z": 34977.0,
            "2020-07-20T00:00:00Z": 36735.0,
            "2020-07-21T00:00:00Z": 36737.0,
            "2020-07-22T00:00:00Z": 43715.0
          }
        }
      ],
      "granularity": "DAY"
    }
  ]
}
プロパティ
説明
metricResponses
リクエストで指定された各指標をオブジェクトが表す配列。 各オブジェクトには、フィルター設定と返される指標データに関する情報が含まれます。
metric
リクエストで指定された指標の1つの名前。
filters
指定された指標のフィルター設定。
datapoints
指定された指標とフィルターの結果をオブジェクトが表す配列。 配列内のオブジェクトの数は、リクエストで指定されたフィルターオプションによって異なります。 フィルターが指定されていない場合、配列にはすべてのデータセットを表す1つのオブジェクトのみが含まれます。
groupBy
指標のfilter プロパティで複数のデータセットが指定され、リクエストでgroupBy オプションがtrueに設定されている場合、このオブジェクトには、対応するdps プロパティが適用されるデータセットのIDが含まれます。

このオブジェクトが応答で空と表示される場合、対応するdps プロパティは、filters配列で指定されたすべてのデータセット(またはフィルターが指定されていない場合はExperience Platformのすべてのデータセット)に適用されます。
dps
指定された指標、フィルター、時間範囲の返されるデータ。 このオブジェクトの各キーは、指定した指標に対応する値を持つタイムスタンプを表します。 各データポイント間の期間は、リクエストで指定されたgranularity値によって異なります。

付録

次の節では、/metrics エンドポイントの操作に関する追加情報を示します。

使用可能な指標 available-metrics

次の表は、Observability Insightsによって公開されるすべての指標をExperience Platform サービスごとに示しています。 各指標には、説明と受け入れられた ID クエリーパラメーターが含まれます。

NOTE
リストされているすべてのID クエリパラメーターは、特に明記されていない限りオプションです。

Data Ingestion ingestion

次の表は、Adobe Experience Platform Data Ingestionの指標の概要を示しています。 太字​の指標はストリーミング取り込み指標です。

インサイト指標
説明
ID クエリーパラメーター
timeseries.ingestion.dataset.size
1 つまたはすべてのデータセット用に取得されたすべてのデータの累積サイズ。
データセット ID
timeseries.ingestion.dataset.dailysize
1 つのデータセットまたはすべてのデータセットに対して毎日の使用量ベースで取得されるデータのサイズ。
データセット ID
timeseries.ingestion.dataset.batchfailed.count
1 つのデータセットまたはすべてのデータセットで失敗したバッチの数。
データセット ID
timeseries.ingestion.dataset.batchsuccess.count
1 つのデータセットまたはすべてのデータセットに対して取得されたバッチの数。
データセット ID
timeseries.ingestion.dataset.recordsuccess.count
1 つのデータセットまたはすべてのデータセットに対して取得されたレコードの数。
データセット ID
timeseries.data.collection.validation.category.presence.count
1 つのデータセットまたはすべてのデータセットに対する無効な「存在」メッセージの合計数。
データセット ID
timeseries.data.collection.inlet.total.messages.received
1 つのデータインレットまたはすべてのデータインレットに対して受信したメッセージの合計数。
インレット ID
timeseries.data.collection.inlet.total.messages.size.received
1 つのデータインレットまたはすべてのデータインレットに対して受信したデータの合計サイズ。
インレット ID
timeseries.data.collection.inlet.success
1 つのデータインレットまたはすべてのデータインレットに対する成功した HTTP 呼び出しの合計数。
インレット ID
timeseries.data.collection.inlet.failure
1 つのデータインレットまたはすべてのデータインレットに対する失敗した HTTP 呼び出しの合計数。
インレット ID

Identity Service identity

次の表は、Adobe Experience Platform Identity Serviceの指標の概要を示しています。

インサイト指標
説明
ID クエリーパラメーター
timeseries.identity.dataset.recordsuccess.count
1つのデータセットまたはすべてのデータセットに対して、Identity Serviceまでにデータソースに書き込まれたレコードの数。
データセット ID
timeseries.identity.dataset.recordfailed.count
1つのデータセットまたはすべてのデータセットに対して、Identity Serviceによって失敗したレコードの数。
データセット ID
timeseries.identity.dataset.namespacecode.recordskipped.count
スキップされたID レコードの数。
Organization ID
timeseries.identity.graph.imsorg.uniqueidentities.count
組織のID グラフに保存されている一意のIDの数。
なし
timeseries.identity.graph.imsorg.namespacecode.uniqueidentities.count
名前空間の ID グラフに保存される一意の ID の数。
名前空間 ID(必須
timeseries.identity.graph.imsorg.graphstrength.uniqueidentities.count
特定のグラフ強度(「不明」、「弱い」、または「強い」)について、組織のID グラフに保存されている一意のIDの数。
グラフの強さ(必須

Real-Time Customer Profile profile

次の表は、Real-Time Customer Profileの指標の概要を示しています。

インサイト指標
説明
ID クエリーパラメーター
timeseries.profiles.dataset.recordread.count
1つのデータセットまたはすべてのデータセットに対して、ProfileによってData Lakeから読み取られたレコードの数。
データセット ID
timeseries.profiles.dataset.recordsuccess.count
1つのデータセットまたはすべてのデータセットに対して、Profileまでにデータソースに書き込まれたレコードの数。
データセット ID
timeseries.profiles.dataset.batchsuccess.count
データセットまたはすべてのデータセットに対して取り込まれたProfile バッチの数。
データセット ID

エラーメッセージ

/metrics エンドポイントからの応答は、特定の条件の下でエラーメッセージを返す場合があります。 これらのエラーメッセージは、次の形式で返されます。

{
    "type": "http://ns.adobe.com/aep/errors/INSGHT-1000-400",
    "title": "Bad Request - Start date cannot be after end date.",
    "status": 400,
    "report": {
        "tenantInfo": {
            "sandboxName": "prod",
            "sandboxId": "49f58060-5d47-34rd-aawf-a5384333ff12",
            "imsOrgId": "{ORG_ID}"
        },
        "additionalContext": null
    },
    "error-chain": [
        {
            "serviceId": "INSGHT",
            "errorCode": "INSGHT-1000-400",
            "invokingServiceId": "INSGHT",
            "unixTimeStampMs": 1602095177129
        }
    ]
}
プロパティ
説明
title
エラーメッセージとそれが発生した可能性のある潜在的な理由を含む文字列。
report
エラーをトリガーした操作で使用されているサンドボックスと組織など、エラーに関するコンテキスト情報が含まれます。

次の表に、APIから返される様々なエラーコードを示します。

エラーコード
タイトル
説明
INSGHT-1000-400
不正なリクエストペイロード

リクエストペイロードに問題があります。 ペイロードの形式が上記に示すように正確に一致していることを確認してください。 考えられる理由のいずれかが、このエラーをトリガーします。

  • aggregatorなどの必須フィールドがありません
  • 無効な指標
  • リクエストに無効な集計が含まれています
  • 開始日は、終了日の後に行われます
  • リクエストの期間(開始日と終了日の間)は32日を超えています
INSGHT-1001-400
指標クエリに失敗しました
リクエストが正しくないか、クエリ自体が解析できないため、指標データベースをクエリしようとしたときにエラーが発生しました。 再試行する前に、リクエストが適切にフォーマットされていることを確認してください。
INSGHT-1001-500
指標クエリに失敗しました
サーバーエラーにより、指標データベースのクエリを試みたときにエラーが発生しました。 リクエストを再試行し、問題が解決しない場合は、Adobe サポートにお問い合わせください。
INSGHT-1002-500
サービスエラー
内部エラーのため、リクエストを処理できませんでした。 リクエストを再試行し、問題が解決しない場合は、Adobe サポートにお問い合わせください。
INSGHT-1003-401
サンドボックス検証エラー
サンドボックス検証エラーにより、リクエストを処理できませんでした。 リクエストを再試行する前に、x-sandbox-name ヘッダーで指定したサンドボックス名が、組織で有効なサンドボックスであることを確認してください。
recommendation-more-help
experience-platform-help-observability