Thống kê thu thập thống kê

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Nội dung

Cho phép bạn thu thập số liệu thống kê cho dữ liệu trong một thông báo, chẳng hạn như mã sản phẩm, giá, REST hành động, URL mục tiêu, URL mục tiêu và độ dài thông báo. Dữ liệu này có thể đến từ biến luồng do Apigee hoặc các biến tuỳ chỉnh mà bạn xác định.

Dữ liệu thống kê được chuyển đến máy chủ phân tích, máy chủ này phân tích số liệu thống kê và tạo báo cáo. Bạn có thể xem báo cáo bằng cách sử dụng giao diện người dùng quản lý Edge hoặc API Edge.

Mẫu

Ví dụ cơ bản

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
    <Statistic name="price" ref="product.price" type="string">0</Statistic>
  </Statistics>
</StatisticsCollector>

Trong ví dụ này, bạn thu thập thông tin thống kê về 2 biến tuỳ chỉnh: product.idproduct.price. Đối với mọi yêu cầu, Chính sách của Trình thu thập thống kê ghi giá trị của hai biến này vào công cụ phân tích máy chủ.

Ví dụ này cũng đặt giá trị mặc định không bắt buộc cho mỗi biến, trong đó giá trị mặc định giá trị của product.id là 999999 và product.price mặc định là 0. Nếu một biến không xác định và bạn không chỉ định giá trị mặc định, thì sẽ không có dữ liệu nào được ghi lại cho biến. Nếu bạn chỉ định giá trị mặc định, thì giá trị mặc định là được ghi lại khi biến không xác định.

Sau khi thu thập dữ liệu thống kê, bạn có thể sử dụng API hoặc giao diện người dùng quản lý Edge để truy xuất số liệu thống kê. Khi truy xuất số liệu thống kê, bạn tham chiếu dữ liệu đã thu thập cho các biến này dưới dạng productIDprice.

Truy cập số liệu thống kê

Trong ví dụ này, bạn sử dụng API quản lý Edge để xem dữ liệu thống kê cho có tên là productID. Yêu cầu này tạo một báo cáo tuỳ chỉnh cho mã sản phẩm dựa trên tổng số tin nhắn được gửi đối với từng mã sản phẩm của mỗi sản phẩm ngày. Thay thế tên tổ chức của bạn cho biến {org_name} và thay thế email và mật khẩu cho tài khoản của bạn trên Apigee Edge cho email:password.

Đặt tham số timeRange để bao gồm khoảng thời gian khi dữ liệu của bạn được đã thu thập. Theo mặc định, bạn không thể truy cập vào dữ liệu đã tồn tại quá 6 tháng kể từ ngày hiện tại. Nếu bạn muốn truy cập dữ liệu cũ hơn 6 tháng, hãy liên hệ với Bộ phận hỗ trợ Apigee Edge.

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/stats/productID?"select=sum(message_count)&timeRange=1/19/2015%2000:00~6/21/2015%2000:00&timeUnit=day"
-u email:password

Trong câu trả lời, name chứa mã sản phẩm và giá trị cho biết số lượng yêu cầu mỗi ngày:

{
  "environments" : [ {
    "dimensions" : [ {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values" : [ {
          "timestamp" : 1353369600000,
          "value" : "4.0"
        } ]
      } ],
      "name" : "52"
    }, {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values" : [ {
          "timestamp" : 1353369600000,
          "value" : "19.0"
        } ]
      } ],
      "name" : "14"
    }, ...
  } ],
  "metaData" : {
    "samplingRate" : "100"
  }
}

Trích xuất dữ liệu để thu thập

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="GetWeatherData">
    <VariablePrefix>weather</VariablePrefix>
    <XMLPayload>
       <Namespaces>
          <Namespace prefix="yweather">http://xml.weather.yahoo.com/ns/rss/1.0</Namespace>
       </Namespaces>
       <Variable name="location" type="string">
          <XPath>/rss/channel/yweather:location/@city</XPath>
       </Variable>
       <Variable name="condition" type="string">
          <XPath>/rss/channel/item/yweather:condition/@text</XPath>
       </Variable>
    </XMLPayload>
</ExtractVariables>

Chính sách của Trình thu thập thống kê yêu cầu dữ liệu đã thu thập được lưu trữ ở dạng biến. Các biến này có thể được Apigee hoặc các biến tuỳ chỉnh do bạn xác định.

Trong ví dụ này, bạn sử dụng chính sách Trích xuất biến để trích xuất dữ liệu từ một tải trọng XML có chứa thông tin thời tiết. Chính sách này:

  • Trích xuất tên thành phố và ghi tên đó vào một biến có tên là weather.location
  • Trích xuất các điều kiện hiện tại rồi ghi vào một biến có tên là weather.condition

Sau đó, bạn có thể sử dụng chính sách của Trình thu thập thống kê để thu thập thông tin về biến, như được thể hiện dưới đây:

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic>
    <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic>
  </Statistics>
</StatisticsCollector>

Để xem hướng dẫn đầy đủ trình bày cách trích xuất dữ liệu từ tải trọng XML cho chính sách Trình thu thập số liệu thống kê, xem phần Phân tích API bằng cách sử dụng số liệu phân tích tuỳ chỉnh.


Giới thiệu về chính sách Trình thu thập số liệu thống kê

Khi được thực thi, chính sách Trình thu thập thống kê ghi lại giá trị hiện tại của một hoặc nhiều biến. Các biến này có thể là biến luồng do Apigee hoặc biến tuỳ chỉnh xác định trước bạn xác định. Dữ liệu này được ghi vào máy chủ phân tích Edge.

Để truy cập vào dữ liệu thống kê mà chính sách thu thập, bạn hãy sử dụng Edge API hoặc Edge giao diện người dùng quản lý. Ví dụ: bạn có thể sử dụng giao diện người dùng quản lý Edge để tạo một báo cáo tuỳ chỉnh hiển thị dữ liệu đã thu thập ở nhiều định dạng khác nhau.

Để xem hướng dẫn đầy đủ về cách sử dụng chính sách Trình thu thập thống kê, hãy xem Phân tích API bằng cách sử dụng số liệu phân tích tuỳ chỉnh.

Vị trí đặt chính sách

Bạn có thể đặt chính sách Trình thu thập thống kê vào quy trình yêu cầu hoặc phản hồi của API proxy. Tuy nhiên, nếu bạn đặt nhiều chính sách Trình thu thập thống kê vào một proxy, thì chính sách cuối cùng một lệnh để thực thi xác định dữ liệu được ghi vào máy chủ phân tích và dữ liệu được ghi bởi bất kỳ các chính sách trước đây của Trình thu thập dữ liệu thống kê bị mất.

Một trường hợp mà bạn có thể có nhiều chính sách Trình thu thập số liệu thống kê trong proxy API là khi bạn có một tệp trong quy trình yêu cầu hoặc phản hồi và một tệp khác trong trình xử lý lỗi. Nếu xảy ra lỗi xảy ra trong proxy API, thì Trình thu thập số liệu thống kê trong trình xử lý lỗi sẽ xác định dữ liệu đã thu thập. Bạn có thể sử dụng Trình thu thập thống kê đó để ghi lại thông tin về lỗi hoặc để hãy ghi lại mọi thông tin khác mà bạn cho là cần thiết. Người thu thập thống kê bị lỗi trình xử lý xác định dữ liệu được thu thập bất kể Trình thu thập thống kê hay không trong yêu cầu/phản hồi đã được thực thi.

Để biết thêm thông tin, hãy xem phần Xử lý lỗi.

Tham chiếu phần tử

Tham chiếu phần tử mô tả các phần tử và thuộc tính của Trình thu thập thống kê .

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

&lt;StatisticsCollector&gt; thuộc tính

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">

Bảng sau đây mô tả những thuộc tính chung cho tất cả phần tử mẹ của chính sách:

Thuộc tính Mô tả Mặc định Sự hiện diện
name

Tên nội bộ của chính sách. Giá trị của thuộc tính name có thể chứa chữ cái, số, dấu cách, dấu gạch nối, dấu gạch dưới và dấu chấm. Giá trị này không được vượt quá 255 ký tự.

(Không bắt buộc) Bạn có thể dùng phần tử <DisplayName> để gắn nhãn chính sách trong trình chỉnh sửa proxy giao diện người dùng quản lý bằng tên ngôn ngữ tự nhiên khác.

Không áp dụng Bắt buộc
continueOnError

Đặt thành false để trả về lỗi khi chính sách không thành công. Điều này là dự kiến đối với hầu hết các chính sách.

Đặt thành true để tiếp tục thực thi luồng ngay cả sau khi có chính sách không thành công.

false Không bắt buộc
enabled

Hãy đặt thành true để thực thi chính sách này.

Đặt thành false để tắt chính sách này. Chính sách này sẽ không được thực thi ngay cả khi luồng đó vẫn được liên kết với một luồng.

đúng Không bắt buộc
async

Thuộc tính này không được dùng nữa.

false Không được dùng nữa

&lt;DisplayName&gt; phần tử

Hãy sử dụng cùng với thuộc tính name để gắn nhãn chính sách trong phần trình chỉnh sửa proxy giao diện người dùng quản lý có tên ngôn ngữ tự nhiên khác.

<DisplayName>Policy Display Name</DisplayName>
Mặc định

Không áp dụng

Nếu bạn bỏ qua phần tử này, giá trị của thuộc tính name của chính sách sẽ là đã sử dụng.

Sự hiện diện Không bắt buộc
Loại Chuỗi

&lt;Statistics&gt;/&lt;Statistic&gt; phần tử

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Thuộc tính Mô tả Mặc định Sự hiện diện
tên

Tên dùng để tham chiếu dữ liệu được thu thập cho biến được chỉ định. Khi xem sử dụng tên này để tham chiếu dữ liệu đã thu thập về biến do ref chỉ định .

Nếu biến do ref chỉ định không xác định trong một yêu cầu hoặc sau đó defaultStatValue sẽ chỉ định giá trị được thu thập cho biến. Nếu bạn bỏ qua giá trị mặc định này thì sẽ không có dữ liệu nào được thu thập cho biến khi biến đó không xác định.

Hạn chế về việc đặt tên

Các hạn chế đặt tên sau đây áp dụng cho biến phân tích tùy chỉnh:

Không áp dụng Bắt buộc
tham chiếu

Biến luồng mà bạn đang thu thập số liệu thống kê. Biến này có thể là một luồng biến do Apigee hoặc một biến tuỳ chỉnh mà bạn xác định trong proxy API của mình.

Thuộc tính tham chiếu thường tham chiếu đến một biến tuỳ chỉnh được xác định bằng các Biến trích xuất . Xem phần Trích xuất biến để biết thêm thông tin.

Không áp dụng Bắt buộc
loại

Chỉ định loại dữ liệu của biến do thuộc tính ref chỉ định. Các giá trị hợp lệ là: string/integer/float/long/double/boolean.

Đối với dữ liệu thuộc loại chuỗi, hãy tham chiếu dữ liệu thống kê dưới dạng Phương diện trong báo cáo tuỳ chỉnh. Đối với các loại dữ liệu số (số nguyên/float/long/double), hãy tham chiếu dữ liệu thống kê trong báo cáo tùy chỉnh dưới dạng Thứ nguyên hoặc Chỉ số. Xem bài viết Quản lý báo cáo tuỳ chỉnh để tìm hiểu thêm.

Giá trị của type chỉ có thể bỏ qua nếu ref tham chiếu đến một thuộc tính được xác định trước Biến luồng Apigee hoặc loại được khai báo trong tải trọng XML của Biến trích xuất .

string Không bắt buộc

Tham chiếu lỗi

Phần này mô tả các thông báo lỗi và biến luồng được thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi cho một proxy. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sáchXử lý lỗi.

Lỗi thời gian chạy

Không nội dung nào.

Lỗi triển khai

Tên lỗi Nguyên nhân Khắc phục
UnsupportedDatatype Nếu loại biến được chỉ định bởi thuộc tính tham chiếu trong phần tử <Statistic> của chính sách Trình thu thập số liệu thống kê không được hỗ trợ, thì việc triển khai proxy API sẽ không thành công. Dữ liệu duyệt web gồm có các loại dữ liệu sau: string, integer, float, long, doubleboolean.
InvalidName Nếu tên dùng để tham chiếu dữ liệu thu thập được cho biến được chỉ định được xác định trong phần tử <Statistic> của chính sách Trình thu thập thống kê xung đột với một biến do hệ thống xác định, thì sẽ không triển khai được proxy API. Một số biến do hệ thống xác định đã biết là organizationenvironment.
DatatypeMissing Nếu thiếu loại biến do thuộc tính ref chỉ định trong phần tử <Statistic> của chính sách Trình thu thập số liệu thống kê, thì sẽ không triển khai được proxy API.

Biến lỗi

Không nội dung nào.

Lược đồ

Mỗi loại chính sách được xác định bằng một giản đồ XML (.xsd). Giản đồ chính sách để tham khảo đều có trên GitHub.

Chủ đề có liên quan

Để biết thêm thông tin, hãy xem các bài viết sau: