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á, hành động REST, URL ứng dụng khách và URL mục tiêu cũng như độ dài thông báo. Dữ liệu có thể đến từ các biến luồng do Apigee xác định trước 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 sẽ 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ề hai biến tùy chỉnh: product.idproduct.price. Trong mỗi yêu cầu, chính sách Trình thu thập số liệu thống kê sẽ ghi giá trị của hai biến này vào máy chủ phân tí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 của product.id là 999999 và product.price mặc định là 0. Nếu một biến là 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 một giá trị mặc định, thì giá trị mặc định sẽ đượ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 tương ứng.

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

Trong ví dụ này, bạn sử dụng Edge Management API để xem dữ liệu thống kê cho bộ sưu tập 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 đã gửi cho mỗi mã sản phẩm trong mỗi ngày. Thay thế tên tổ chức của bạn bằng biến {org_name} rồi thay thế email và mật khẩu bằng tài khoản của bạn trên Apigee Edge bằng email:password.

Đặt tham số timeRange để bao gồm khoảng thời gian khi dữ liệu được thu thập. Theo mặc định, không thể truy cập vào dữ liệu cũ hơn 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.

$ 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 phản hồi, trường name chứa mã sản phẩm và giá trị cho biết số lượng yêu cầu cho 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 số liệu thống kê yêu cầu lưu trữ dữ liệu đã thu thập trong các biến. Bạn có thể xác định trước các biến này bằng Apigee hoặ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 Extract Variables (Trích xuất biến) để trích xuất dữ liệu từ tải trọng XML chứa thông tin thời tiết. Chính sách này:

  • Trích xuất tên của 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 và 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 Trình thu thập số liệu thống kê để thu thập thông tin về các biến, như minh hoạ 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 đủ về cách trích xuất dữ liệu từ một gói dữ liệu XML cho chính sách Trình thu thập số liệu thống kê, hãy xem phần Phân tích nội dung thông báo của API phân tích bằng cách sử dụng công cụ phân tích tuỳ chỉnh.


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

Khi được thực thi, chính sách Trình thu thập số liệu thống kê sẽ 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 được xác định trước bởi Apigee hoặc biến tuỳ chỉnh mà 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 cần sử dụng API Edge hoặc giao diện người dùng quản lý Edge. 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 trình bày dữ liệu đã thu thập ở nhiều định dạng.

Để xem hướng dẫn đầy đủ về cách sử dụng chính sách Trình thu thập số liệu thống kê, hãy xem phần Phân tích nội dung thông báo của API bằng cách sử dụng công cụ 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 số liệu thống kê vào quy trình yêu cầu hoặc phản hồi của proxy API. Tuy nhiên, nếu bạn đặt nhiều chính sách của Trình thu thập số liệu thống kê vào một proxy, thì chính sách thực thi gần đây nhất sẽ xác định dữ liệu được ghi vào máy chủ phân tích và dữ liệu được ghi bằng mọi chính sách trước đó của Trình thu thập số liệu thống kê sẽ bị mất.

Có 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 chính sách trong quy trình yêu cầu hoặc phản hồi, còn một chính sách khác trong trình xử lý lỗi. Nếu có 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 được thu thập. Bạn có thể sử dụng Công cụ thu thập số liệu thống kê đó để ghi lại thông tin về lỗi hoặc ghi lại bất kỳ thông tin nào khác mà bạn cho là cần thiết. Trình thu thập số liệu thống kê trong trình xử lý lỗi xác định dữ liệu được thu thập bất kể Trình thu thập số liệu thống kê trong yêu cầu/phản hồi đã được thực thi hay chưa.

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

Tham chiếu phần tử

Tài liệu tham khảo về phần tử mô tả các phần tử và thuộc tính theo chính sách của Công cụ thu thập số liệu 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>

Các thuộc tính <StatsCollection>

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

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

Thuộc tính Nội dung 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ự.

Nếu muốn, bạn có thể sử dụng phần tử <DisplayName> để gắn nhãn cho chính sách này 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 một chính sách không hoạt động. Đây là hành vi dự kiến đối với hầu hết các chính sách.

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

false Không bắt buộc
enabled

Đặt thành true để thực thi chính sách.

Đặ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 chính sách vẫn được đính kèm vào một quy trình.

đú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

Phần tử <DisplayName>

Sử dụng cùng với thuộc tính name để gắn nhãn cho 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 khác theo ngôn ngữ tự nhiên.

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

Không áp dụng

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

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

Phần tử <Thống kê>/<Thống kê>

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

Tên được dùng để tham chiếu dữ liệu đã thu thập cho biến được chỉ định. Khi xem dữ liệu phân tích, hãy sử dụng tên này để tham chiếu đến dữ liệu đã thu thập về biến do thuộc tính 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 phản hồi, thì defaultStatValue sẽ chỉ định giá trị được thu thập cho biến đó. Nếu bạn bỏ qua giá trị mặc định, thì hệ thống sẽ không thu thập dữ liệu cho biến khi biến đó không xác định.

Quy định hạn chế về việc đặt tên

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

Không áp dụng Bắt buộc
giới thiệ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 biến luồng do Apigee xác định trước hoặc là 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 một biến tuỳ chỉnh được xác định theo chính sách Trích xuất biến. Vui lòng xem chính sách 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 chuỗi loạ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/số thực/số dài/đôi), hãy tham chiếu dữ liệu thống kê trong báo cáo tuỳ chỉnh dưới dạng Phương diện hoặc Chỉ số. Xem bài viết Quản lý báo cáo tuỳ chỉnh để biết thêm thông tin.

Bạn chỉ có thể bỏ qua giá trị type nếu ref đề cập đến một biến luồng Apigee được xác định trước hoặc loại này được khai báo trong tải trọng XML của chính sách Extract Variables (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 có sẵn trên GitHub để bạn tham khảo.

Chủ đề có liên quan

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