Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Edge API Analytics mengumpulkan dan menganalisis berbagai informasi statistik dari setiap permintaan dan respons API. Informasi ini dikumpulkan secara otomatis dan kemudian dapat ditampilkan di UI Edge atau menggunakan API metrik. Lihat metrik dan dimensi untuk mengetahui informasi selengkapnya tentang statistik ini.
Anda mungkin juga ingin mengumpulkan data analisis kustom yang khusus untuk proxy API, Aplikasi, produk, atau developer Anda. Misalnya, Anda mungkin ingin mengumpulkan data dari parameter kueri, header permintaan, isi permintaan dan respons, atau variabel yang Anda tentukan di API.
Topik ini menunjukkan cara menggunakan kebijakan StatisticsCollector untuk mengekstrak data analisis kustom dari permintaan/respons API dan memasukkan data tersebut ke Edge API Analytics. Kemudian, topik ini menunjukkan cara melihat data analisis Anda dalam laporan di UI Edge atau menggunakan Edge API.
Tentang Google Book API
Topik ini menjelaskan cara mengambil data analisis kustom dari permintaan proxy API ke Google Books API. Google Books API memungkinkan Anda menelusuri buku berdasarkan judul, subjek, penulis, dan karakteristik lainnya.
Misalnya, buat permintaan ke endpoint /volumes untuk melakukan penelusuran berdasarkan judul buku.
Teruskan satu parameter kueri ke Books API yang berisi judul buku:
curl https://www.googleapis.com/books/v1/volumes?q=davinci%20code
Panggilan ini menampilkan array JSON item yang ditemukan dan cocok dengan kriteria penelusuran. Di bawah ini adalah elemen array pertama dalam respons (perhatikan bahwa beberapa konten telah dihilangkan untuk mempermudah):
{ "kind": "books#volumes", "totalItems": 1799, "items": [ { "kind": "books#volume", "id": "ohZ1wcYifLsC", "etag": "4rzIsMdBMYM", "selfLink": "https://www.googleapis.com/books/v1/volumes/ohZ1wcYifLsC", "volumeInfo": { "title": "The Da Vinci Code", "subtitle": "Featuring Robert Langdon", "authors": [ "Dan Brown" ], "publisher": "Anchor", "publishedDate": "2003-03-18", "description": "MORE THAN 80 MILLION COPIES SOLD ....", "industryIdentifiers": [ { "type": "ISBN_10", "identifier": "0385504217" }, { "type": "ISBN_13", "identifier": "9780385504218" } ], "readingModes": { "text": true, "image": true }, "pageCount": 400, "printType": "BOOK", "categories": [ "Fiction" ], "averageRating": 4.0, "ratingsCount": 710, "maturityRating": "NOT_MATURE", "allowAnonLogging": true, "contentVersion": "0.18.13.0.preview.3", "panelizationSummary": { "containsEpubBubbles": false, "containsImageBubbles": false }, ... "accessInfo": { "country": "US", "viewability": "PARTIAL", "embeddable": true, "publicDomain": false, "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY", "epub": { "isAvailable": true, "acsTokenLink": "link" }, "pdf": { "isAvailable": true, "acsTokenLink": "link" }, ... } }
Perhatikan bahwa beberapa area respons telah ditandai:
- Jumlah hasil penelusuran
- Rating buku rata-rata
- Jumlah rating
- Ketersediaan versi PDF buku
Bagian berikut menjelaskan cara mengumpulkan statistik untuk area respons ini dan juga untuk parameter kueri, q, yang berisi kriteria penelusuran.
Membuat proxy API untuk Google Book API
Sebelum dapat mengumpulkan statistik untuk Google Book API, Anda harus membuat proxy API Edge yang memanggilnya. Kemudian, panggil proxy API tersebut untuk membuat permintaan ke Google Book API.
Langkah 2: Membuat proxy API dari tutorial untuk membuat proxy API menjelaskan cara membuat proxy yang memanggil https://mocktarget.apigee.net API. Perhatikan bahwa proxy yang dijelaskan dalam tutorial tersebut tidak memerlukan kunci API untuk memanggilnya.
Gunakan prosedur yang sama untuk membuat proxy API untuk endpoint /volumes Google Book API. Pada Langkah 5 prosedur, saat membuat proxy API, tetapkan properti berikut untuk mereferensikan Google Books API:
- Proxy Name: "mybooksearch"
- Proxy Base Path: "/mybooksearch"
- Existing API: "https://www.googleapis.com/books/v1/volumes"
Setelah membuat dan men-deploy proxy, Anda akan dapat memanggilnya menggunakan perintah curl dalam bentuk:
curl http://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code
dengan org_name dan env_name menentukan organisasi dan lingkungan tempat Anda men-deploy proxy. Contoh:
curl http://myorg-test.apigee.net/mybooksearch?q=davinci%20code
Mengumpulkan data analisis kustom
Mengumpulkan data analisis dari permintaan API adalah prosedur dua langkah:
Ekstrak data yang diinginkan dan tulis ke variabel.
Semua data yang diteruskan ke Edge API Analytics berasal dari nilai yang disimpan dalam variabel. Beberapa data disimpan secara otomatis dalam variabel flow Edge yang telah ditentukan, seperti nilai parameter kueri yang diteruskan ke proxy API. Lihat Ringkasan variabel alur untuk mengetahui informasi selengkapnya tentang variabel alur yang telah ditentukan.
Gunakan kebijakan Extract Variables untuk mengekstrak konten kustom dari permintaan atau respons dan menulis data tersebut ke variabel.
Tulis data dari variabel ke Edge API Analytics.
Gunakan kebijakan Statistics Collector untuk menulis data dari variabel ke Edge API Analytics. Data dapat berasal dari variabel alur Edge yang telah ditentukan variabel alur, atau variabel yang dibuat oleh kebijakan Extract Variables.
Setelah mengumpulkan data statistik, Anda dapat menggunakan UI atau API pengelolaan Edge untuk mengambil dan memfilter statistik. Misalnya, Anda dapat membuat laporan kustom yang menampilkan rating rata-rata untuk setiap judul buku, dengan judul buku sesuai dengan nilai parameter kueri yang diteruskan ke API.
Menggunakan kebijakan Extract Variables untuk mengekstrak data analisis
Data analisis harus diekstrak dan disimpan ke variabel, baik flow variable yang telah ditentukan oleh Edge maupun variabel kustom yang Anda tentukan, sebelum dapat diteruskan ke API Analytics. Untuk menulis data ke variabel, gunakan kebijakan Extract Variables.
Kebijakan Extract Variables dapat mengurai payload pesan dengan ekspresi JSONPath atau XPath.
Untuk mengekstrak informasi dari hasil penelusuran JSON Google Book API, gunakan ekspresi JSONPath.
Misalnya, untuk mengekstrak nilai averageRating dari item pertama dalam array hasil JSON, ekspresi JSONPath-nya adalah:
$.items[0].volumeInfo.averageRating
Setelah JSONPath dievaluasi, kebijakan Extract Variables akan menulis nilai yang diekstrak ke variabel.
Dalam contoh ini, Anda menggunakan kebijakan Extract Variables untuk membuat empat variabel:
responsejson.totalitemsresponsejson.ratingscountresponsejson.avgratingresponsejson.pdf
Untuk variabel ini, responsejson adalah awalan variabel, dan totalitems,
ratingscount, avgrating, dan pdf adalah nama variabel.
Kebijakan Extract Variables di bawah ini menunjukkan cara mengekstrak data dari respons JSON dan menuliskannya ke variabel kustom. Setiap elemen <Variable> menggunakan atribut name yang
menentukan nama variabel kustom dan ekspresi JSONPath terkait.
Elemen <VariablePrefix> menentukan awalan variabel.
Tambahkan kebijakan ini ke proxy API Anda di UI Edge. Jika Anda membuat proxy API dalam XML, tambahkan kebijakan ke file di bagian/apiproxy/policies yang bernama ExtractVars.xml:
<ExtractVariables name="ExtractVars"> <Source>response</Source> <JSONPayload> <Variable name="totalitems"> <JSONPath>$.totalItems</JSONPath> </Variable> <Variable name="ratingscount"> <JSONPath>$.items[0].volumeInfo.ratingsCount</JSONPath> </Variable> <Variable name="avgrating"> <JSONPath>$.items[0].volumeInfo.averageRating</JSONPath> </Variable> <Variable name="pdf"> <JSONPath>$.items[0].accessInfo.pdf.isAvailable</JSONPath> </Variable> </JSONPayload> <VariablePrefix>responsejson</VariablePrefix> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ExtractVariables>
Menggunakan kebijakan Statistics Collector untuk menulis data ke Layanan Analytics
Gunakan kebijakan Statistics Collector untuk menulis data dari variabel ke Edge API Analytics. Kebijakan Statistics Collector memiliki bentuk berikut:
<StatisticsCollector> <DisplayName>Statistics Collector-1</DisplayName> <Statistics> <Statistic name="statName" ref="varName" type="dataType">defVal</Statistic> … </Statistics> </StatisticsCollector>
dengan:
- statName menentukan nama yang Anda gunakan untuk mereferensikan data statistik dalam laporan kustom.
- varName menentukan nama variabel yang berisi data analisis yang akan dikumpulkan. Variabel ini dapat dibuat ke dalam Edge atau dapat berupa variabel kustom yang dibuat oleh kebijakan Extract Variables.
dataType menentukan jenis data yang direkam sebagai string, bilangan bulat, float, panjang, ganda, atau boolean.
Untuk data jenis string, Anda mereferensikan data statistik sebagai dimensi dalam laporan kustom. Untuk jenis data numerik (bilangan bulat/float/panjang/ganda), Anda mereferensikan data statistik sebagai dimensi atau metrik dalam laporan kustom.
- defValue secara opsional memberikan nilai default untuk variabel kustom, yang dikirim ke API Analytics jika variabel tidak dapat di-resolve atau variabel tidak ditentukan.
Dalam contoh di bawah, Anda menggunakan kebijakan Statistics Collector untuk mengumpulkan data untuk variabel yang dibuat oleh kebijakan Extract Variables. Anda juga mengumpulkan nilai parameter kueri yang diteruskan ke setiap panggilan API. Parameter kueri referensi menggunakan variabel alur yang telah ditentukan flow variable:
request.queryparam.queryParamName
Untuk parameter kueri bernama "q", referensikan sebagai:
request.queryparam.q
Tambahkan kebijakan ini ke proxy API Anda di UI Edge atau, jika Anda membuat proxy API dalam XML, tambahkan file di bagian/apiproxy/policies yang bernama AnalyzeBookResults.xml, dengan konten berikut:
<StatisticsCollector name="AnalyzeBookResults"> <Statistics> <Statistic name="totalitems" ref="responsejson.totalitems" type="integer">0</Statistic> <Statistic name="ratingscount" ref="responsejson.ratingscount" type="integer">0</Statistic> <Statistic name="avgrating" ref="responsejson.avgrating" type="float">0.0</Statistic> <Statistic name="pdf" ref="responsejson.pdf" type="boolean">true</Statistic> <Statistic name="booktitle" ref="request.queryparam.q" type="string">none</Statistic> </Statistics> </StatisticsCollector>
Melampirkan kebijakan ke alur respons ProxyEndpoint
Agar berfungsi dengan baik, kebijakan harus dilampirkan ke alur proxy API di lokasi yang sesuai. Dalam kasus penggunaan ini, kebijakan harus dijalankan setelah respons diterima dari Google Book API dan sebelum respons dikirim ke klien yang meminta. Oleh karena itu, lampirkan kebijakan ke respons ProxyEndpoint PreFlow.
Konfigurasi ProxyEndpoint contoh di bawah pertama-tama menjalankan kebijakan yang disebut ExtractVars untuk mengurai pesan respons. Kebijakan yang disebut AnalyzeBookResults kemudian meneruskan nilai tersebut ke API Analytics:
<ProxyEndpoint name="default">
><PreFlow name="PreFlow">
<Request/>
<Response>
<Step>
<Name>Extract-Vars</Name>
</Step>
<Step>
<Name>AnalyzeBookResults</Name>
</Step>
</Response>
</PreFlow>
<HTTPProxyConnection>
<!-- Base path used to route inbound requests to this API proxy -->
<BasePath>/mybooksearch</BasePath>
<!-- The named virtual host that defines the base URL for requests to this proxy -->
<VirtualHost>default</VirtualHost>
</HTTPProxyConnection>
<RouteRule name="default">
<!-- Connects the proxy to the target defined under /targets -->
<TargetEndpoint>default</TargetEndpoint>
</RouteRule>
</ProxyEndpoint>Men-deploy proxy API
Setelah membuat perubahan ini, Anda harus men-deploy proxy API yang telah dikonfigurasi.
Mengisi data analisis
Setelah men-deploy proxy API, panggil proxy untuk mengisi data di API Analytics. Anda dapat melakukannya dengan menjalankan perintah berikut, yang masing-masing menggunakan judul buku yang berbeda:
Mobey Dick:
curl https://org_name-env_name.apigee.net/mybooksearch?q=mobey%20dick
The Da Vinci Code:
curl https://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code
Gone Girl:
curl https://org_name-env_name.apigee.net/mybooksearch?q=gone%20girl
Game of Thrones:
curl https://org_name-env_name.apigee.net/mybooksearch?q=game%20of%20thrones
Melihat data analisis
Edge menyediakan dua cara untuk melihat data analisis kustom Anda:
- UI Edge mendukung laporan kustom yang memungkinkan Anda melihat data dalam diagram grafis.
- API metrik memungkinkan Anda mengambil data analisis dengan melakukan panggilan REST ke Edge API. Anda dapat menggunakan API untuk membuat visualisasi sendiri dalam bentuk widget kustom yang dapat disematkan di portal atau aplikasi kustom.
Membuat laporan statistik menggunakan UI Edge
Laporan kustom memungkinkan Anda mempelajari statistik API tertentu secara mendalam untuk melihat data persis yang ingin Anda lihat. Anda dapat membuat laporan kustom menggunakan metrik dan dimensi yang dibuat ke dalam Edge. Selain itu, Anda dapat menggunakan data analisis yang diekstrak menggunakan kebijakan StatisticsCollector.
Saat membuat kebijakan Statistics Collector, Anda menentukan jenis data yang dikumpulkan. Untuk jenis data string, referensikan data statistik sebagai dimensi dalam laporan kustom. Untuk jenis data numerik (bilangan bulat/float/panjang/ganda), referensikan tanggal statistik dalam laporan kustom sebagai dimensi atau sebagai metrik. Lihat Mengelola laporan kustom untuk mengetahui informasi selengkapnya.
Membuat laporan kustom menggunakan UI Edge:
- Akses halaman Laporan Kustom, seperti yang dijelaskan di bawah.
Edge
Untuk mengakses halaman Laporan Kustom menggunakan UI Edge:
- Login ke apigee.com/edge.
- Pilih Analyze > Custom Reports > Reports di panel navigasi kiri.
Classic Edge (Private Cloud)
Untuk mengakses halaman Laporan Kustom menggunakan UI Classic Edge:
- Login ke
http://ms-ip:9000, dengan ms-ip adalah alamat IP atau nama DNS node Server Pengelolaan. Pilih Analtyics > Reports di menu navigasi atas.
- Di halaman Laporan Kustom, klik +Laporan Kustom.
- Tentukan Nama Laporan, seperti mybookreport.
Pilih Metrik bawaan, seperti Traffic, dan Fungsi agregat, seperti Sum.
Atau, pilih salah satu statistik data numerik yang Anda buat menggunakan kebijakan StatisticsCollector. Misalnya, pilih ratingscount dan Fungsi agregat Sum.
Pilih Dimensi bawaan, seperti Proxy API, atau statistik string atau numerik yang Anda buat menggunakan kebijakan StatisticsCollector.
Misalnya, pilih booktitle. Laporan Anda kini akan menampilkan jumlah ratingscount menurut booktitle:

- Pilih Simpan. Laporan akan muncul dalam daftar semua laporan kustom.
Untuk menjalankan laporan, pilih nama laporan. Secara default, laporan menampilkan data untuk satu jam terakhir.
- Untuk menetapkan rentang waktu, pilih tampilan tanggal di sudut kanan atas untuk membuka pop-up Pemilih tanggal.
Pilih 7 hari terakhir. Laporan akan diperbarui untuk menampilkan jumlah rating per judul buku:

Mendapatkan statistik menggunakan Edge API
Gunakan Edge metrics API untuk statistik data analisis kustom Anda. Dalam contoh permintaan di bawah:
- Resource ke URL setelah
/statsmenentukan dimensi yang diinginkan. Dalam contoh ini, Anda mendapatkan data untuk dimensibooktitle. - Parameter kueri
selectuntuk menentukan metrik yang akan diambil. Permintaan ini menampilkan analisis berdasarkan jumlahratingscount. Parameter
timeRangemenentukan interval waktu untuk data yang ditampilkan. Rentang waktu dalam format:MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM
Panggilan API lengkapnya adalah:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00" / -u email:password
Anda akan melihat respons dalam bentuk:
{
"environments": [
{
"dimensions": [
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"5352.0"
]
}
],
"name": "gone girl"
},
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"4260.0"
]
}
],
"name": "davinci code"
},
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"1836.0"
]
}
],
"name": "game of thrones"
},
{
"metrics": [
{
"name": "sum(ratingscount)",
"values": [
"1812.0"
]
}
],
"name": "mobey dick"
}
],
"name": "prod"
}
],
"metaData": {
"errors": [],
"notices": [
"query served by:9b372dd0-ed30-4502-8753-73a6b09cc028",
"Table used: uap-prod-gcp-us-west1.edge.edge_api_raxgroup021_fact",
"Source:Big Query"
]
}
}Edge metrics API memiliki banyak opsi. Misalnya, Anda dapat mengurutkan hasil dalam urutan menaik atau menurun. Dalam contoh berikut, Anda menggunakan urutan menaik:
curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&sort=ASC" / -u email:password
Hasil juga dapat difilter dengan menentukan nilai dimensi yang diinginkan. Dalam contoh di bawah, laporan difilter berdasarkan hasil untuk "Gone Girl" dan "The Da Vinci Code":
$ curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&filter=(booktitle%20in%20'gone%20girl'%2C%20'davinci%20code')" / -u email:password
Membuat variabel analisis kustom dengan Solution Builder
Solution Builder memungkinkan Anda membuat variabel analisis kustom melalui dialog UI pengelolaan yang mudah digunakan.
Anda mungkin ingin membaca bagian sebelumnya, Mengumpulkan data analisis kustom, yang menjelaskan cara kerja kebijakan Extract Variables dan Statistics Collector secara bersamaan untuk memasukkan variabel kustom ke Edge API Analytics. Seperti yang akan Anda lihat, UI mengikuti pola yang sama, tetapi menyediakan cara mudah untuk mengonfigurasi semuanya melalui UI. Jika mau, coba contoh Google Books API menggunakan UI, bukan mengedit dan melampirkan kebijakan secara manual.
Dialog Solution Builder memungkinkan Anda mengonfigurasi variabel analisis langsung di UI. Alat ini membuat kebijakan dan melampirkannya ke proxy API untuk Anda. Kebijakan ini mengekstrak variabel yang diinginkan dari permintaan atau respons dan meneruskan variabel yang diekstrak ke Edge API Analytics.
Solution Builder membuat kebijakan Extract Variables dan Statistics Collector baru serta memberikan nama unik. Solution Builder tidak memungkinkan Anda kembali dan mengubah kebijakan ini setelah dibuat dalam revisi proxy tertentu. Untuk membuat perubahan, edit kebijakan yang dihasilkan langsung di editor kebijakan.
- Buka halaman Ringkasan untuk proxy Anda di UI Edge.
- Klik Develop.
- Di halaman Develop, pilih Custom Analytics Collection dari menu Tools menu. Dialog Solution Builder akan muncul.
- Dalam dialog Solution Builder, Anda pertama-tama mengonfigurasi dua kebijakan: Extract Variables dan Statistics Collector. Kemudian, Anda mengonfigurasi tempat untuk melampirkan kebijakan tersebut.
- Tentukan data yang ingin Anda ekstrak:
- Jenis Lokasi: Pilih jenis data yang ingin Anda kumpulkan dan tempat pengumpulannya. Anda dapat memilih data dari sisi permintaan atau respons. Misalnya, Permintaan: Parameter Kueri atau Respons: Isi XML.
- Location Source: Identifikasi data yang ingin Anda kumpulkan. Misalnya, nama parameter kueri atau XPath untuk data XML di isi respons.
- Tentukan nama (dan jenis) variabel yang akan digunakan oleh kebijakan Statistics Collector
akan digunakan untuk mengidentifikasi data yang diekstrak. Lihat batasan penamaan dalam topik ini.
Nama yang Anda gunakan akan muncul di menu dropdown untuk Dimensions atau Metrics di UI pembuat Laporan Kustom. - Pilih tempat di alur proxy API yang ingin Anda lampirkan kebijakan yang dihasilkan Extract Variables dan Statistics Collector. Untuk panduan, lihat "Melampirkan kebijakan ke Alur respons ProxyEndpoint". Agar berfungsi dengan baik, kebijakan harus dilampirkan ke Alur proxy API di lokasi yang sesuai. Anda harus melampirkan kebijakan pada tahap alur tempat variabel yang Anda tangkap berada dalam cakupan (diisi).
- Klik +Collector untuk menambahkan lebih banyak variabel kustom.
Setelah selesai, klik Build Solution.

- Simpan dan deploy proxy.
Anda kini dapat membuat laporan kustom untuk data seperti yang dijelaskan di atas.