將 API 流量統計資料傳送至 Apigee

所有 Edge for Private Cloud 客戶都必須將 API Proxy 流量的相關統計資料提交給 Apigee。Apigee 建議您每天上傳該資訊一次,如建立 Cron 工作。

您必須提交正式版 API 部署作業的統計資料,但不得提交開發或測試部署作業中的 API 相關統計資料。在大部分的 Edge 安裝作業中,您可以為實際工作環境 API 定義特定的機構或環境。您提交的統計資料僅適用於正式環境機構和環境。

將 API 流量統計資料提交至 Apigee

如何將統計資料提交至 Apigee:

  1. 使用 Edge Management API 收集資料
  2. 透過電子郵件將資料傳送至 Edge.apiops@google.com

您必須為 Edge 安裝中的每個實際工作環境機構和環境重複執行這項程序。

收集資料

使用下列 curl 指令,收集特定機構和環境在指定時間間隔內的流量資料:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://ms_IP:8080/v1/organizations/org_name/environments/env_name/stats/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"

這個指令會使用 Edge Get API 訊息計數 API。在這個指令中:

  • apigee_mgmt_api_email:apigee_mgmt_api_password 會指定可存取 Edge /stats API 的帳戶電子郵件地址。
  • ms_IP 是邊緣管理伺服器的 IP 位址或 DNS 名稱。
  • org_nameenv_name 會指定機構和環境。
  • apiproxy 是依 API Proxy 將指標分組的維度。
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour 會指定依據要收集指標的時間單位區分的時間範圍。請注意,curl 指令使用十六進位代碼 %20 做為時間範圍中的空格。

舉例來說,如要收集 24 小時內每小時的 API Proxy 訊息數量,請使用下列 API 呼叫

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00&timeUnit=hour"

(請注意,timeRange 包含網址編碼字元)。

您應該會在以下表單中看到回應:

{
  "environments" : [ {
    "dimensions" : [ {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values": [
                {
                  "timestamp": 1514847600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514844000000,
                  "value": "19.0"
                },
                {
                  "timestamp": 1514840400000,
                  "value": "58.0"
                },
                {
                  "timestamp": 1514836800000,
                  "value": "28.0"
                },
                {
                  "timestamp": 1514833200000,
                  "value": "29.0"
                },
                {
                  "timestamp": 1514829600000,
                  "value": "33.0"
                },
                {
                  "timestamp": 1514826000000,
                  "value": "26.0"
                },
                {
                  "timestamp": 1514822400000,
                  "value": "57.0"
                },
                {
                  "timestamp": 1514818800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514815200000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514811600000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514808000000,
                  "value": "66.0"
                },
                {
                  "timestamp": 1514804400000,
                  "value": "50.0"
                },
                {
                  "timestamp": 1514800800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514797200000,
                  "value": "49.0"
                },
                {
                  "timestamp": 1514793600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514790000000,
                  "value": "89.0"
                },
                {
                  "timestamp": 1514786400000,
                  "value": "42.0"
                },
                {
                  "timestamp": 1514782800000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514779200000,
                  "value": "21.0"
                },
                {
                  "timestamp": 1514775600000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514772000000,
                  "value": "20.0"
                },
                {
                  "timestamp": 1514768400000,
                  "value": "12.0"
                },
                {
                  "timestamp": 1514764800000,
                  "value": "7.0"
                }
              ]
            }
          ],
          "name" : "proxy1"
      } ],
    "name" : "prod"
  } ],
  "metaData" : {
    "errors" : [ ],
    "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ]
  }
}