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.id và product.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à productID và price.
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 (Không bắt buộc) Bạn có thể dùng phần tử |
Không áp dụng | Bắt buộc |
continueOnError |
Đặt thành Đặt thành |
false | Không bắt buộc |
enabled |
Hãy đặt thành Đặt thà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 |
<DisplayName> 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 |
|---|---|
| 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 Nếu biến do 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ách và Xử 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, double và boolean. |
build |
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à organization và environment. |
build |
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. |
build |
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: