将 API 流量统计信息提交到 Apigee

所有 Edge for Private Cloud 客户都必须向 Apigee 提交有关 API 代理流量的统计信息。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 message count API。在此命令中:

  • apigee_mgmt_api_email:apigee_mgmt_api_password 用于指定有权访问 Edge /stats API 的账号的电子邮件地址。
  • ms_IP 是 Edge 管理服务器的 IP 地址或 DNS 名称。
  • org_name 和 env_name 指定组织和环境。
  • apiproxy 是按 API 代理对指标进行分组的维度。
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour 指定要收集的指标的时间范围(按时间单位划分)。请注意,curl 命令使用十六进制代码 %20 表示时间范围内的空格。

例如,如需在 24 小时内按小时收集 API 代理消息计数,请使用以下 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" ]
  }
}