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

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu 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á, thao tác REST, URL của máy khách và 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 truyề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 các báo cáo này bằng cách sử dụng giao diện người dùng quản lý Edge hoặc Edge API.

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. 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 2 biến này vào máy chủ phân tích.

Ví dụ này cũng đặt mộ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 không được 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 giao diện người dùng hoặc API 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 được thu thập cho các biến này lần lượt là productIDprice.

Truy cập vào 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 tập hợ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ố lượng tin nhắn được 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} và thay thế email và mật khẩu cho tài khoản của bạn trên Apigee Edge bằng email:password.

Đặt tham số timeRange để thêm khoảng thời gian thu thập dữ liệu. Theo mặc định, bạn không thể truy cập vào dữ liệu cũ hơn 6 tháng so với ngày hiện tại. Nếu bạn muốn truy cập vào dữ liệu cũ hơn 6 tháng, hãy liên hệ với Nhóm 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 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 về Trình thu thập số liệu thống kê yêu cầu dữ liệu được thu thập phải được lưu trữ trong các biến. Các biến này có thể được Apigee xác định trước hoặc là các biến tuỳ chỉnh do bạn xác định.

Trong ví dụ này, bạn sẽ 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 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 tình trạng 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ạ bên dưới:

<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ừ tải trọng XML cho chính sách Trình thu thập số liệu thống kê, hãy xem bài viết Phân tích nội dung thông báo API bằ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 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 Apigee xác định trước 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ê do chính sách này thu thập, bạn có thể sử dụng Edge API 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 cho thấ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 bài viết Phân tích nội dung thông báo API bằ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 số liệu thống kê trong luồng yêu cầu hoặc phản hồi của một proxy API. Tuy nhiên, nếu bạn đặt nhiều chính sách Trình thu thập số liệu thống kê trong một proxy, thì chính sách cuối cùng được thực thi sẽ xác định dữ liệu được ghi vào máy chủ phân tích và dữ liệu do mọi chính sách Trình thu thập số liệu thống kê trước đó ghi sẽ 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 một proxy API là khi bạn có một chính sách trong luồng yêu cầu hoặc phản hồi và một chính sách khác trong trình xử lý lỗi. Nếu xảy ra lỗi 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 Trình 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 sẽ 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.

Tài liệu tham khảo về 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 của chính sách Trình 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>

Thuộc tính <StatisticsCollector>

<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

Phần tử <Statistics>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Thuộc tính Mô tả Mặc định Tỷ lệ hiển thị
tên

Tên dùng để tham chiếu đến dữ liệu được 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 được thu thập về biến do thuộc tính ref chỉ định.

Nếu biến do ref chỉ định là 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ì sẽ không có dữ liệu nào được thu thập cho biến khi biến đó không xác định.

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

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

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

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 một biến tuỳ chỉnh mà bạn xác định trong proxy API.

Thuộc tính ref thường tham chiếu đến một biến tuỳ chỉnh do chính sách Trích xuất biến xác định. Hãy 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 kiểu dữ liệu của biến do thuộc tính ref chỉ định. Các giá trị hợp lệ là: chuỗi/số nguyên/số thực/số dài/số thực có độ chính xác kép/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 một Phương diện trong báo cáo tuỳ chỉnh. Đối với các kiểu dữ liệu dạng số (số nguyên/số thực/số dài/số có độ chính xác kép), hãy tham chiếu dữ liệu thống kê trong một báo cáo tuỳ chỉnh dưới dạng Phương diện hoặc Chỉ số. Hãy 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ị của type nếu ref đề cập đến một biến luồng Apigee được xác định trước hoặc kiểu được khai báo trong tải trọng XML của chính sách Trích xuất biến.

chuỗi Không bắt buộc

Tham chiếu lỗi

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

Lỗi thời gian chạy

Không có.

Lỗi triển khai

Tên lỗi Nguyên nhân Cách khắc phục
UnsupportedDatatype Nế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ê không được hỗ trợ, thì quá trình triển khai proxy API sẽ không thành công. Các loại dữ liệu được hỗ trợ là string, integer, float, long, doubleboolean.
InvalidName Nếu tên dùng để tham chiếu dữ liệu được thu thập cho biến đã chỉ định được xác định trong phần tử <Statistic> của chính sách Trình thu thập số liệu thống kê xung đột với một biến do hệ thống xác định, thì việc triển khai proxy API sẽ không thành công. Một số biến do hệ thống xác định được biết đến 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ì quá trình triển khai proxy API sẽ không thành công.

Biến lỗi

Không có.

Lược đồ

Mỗi loại chính sách được xác định bằng một giản đồ XML (.xsd). Để tham khảo, bạn có thể xem giản đồ chính sách 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: