Kebijakan StatisticsCollector

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Apa

Memungkinkan Anda mengumpulkan statistik untuk data dalam pesan, seperti ID produk, harga, tindakan REST, URL klien dan target, serta panjang pesan. Data dapat berasal dari variabel alur yang telah ditentukan oleh Apigee atau variabel kustom yang Anda tentukan.

Data statistik diteruskan ke server analisis, yang menganalisis statistik dan menghasilkan laporan. Anda dapat melihat laporan menggunakan UI pengelolaan Edge atau Edge API.

Contoh

Contoh dasar

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

Dalam contoh ini, Anda mengumpulkan informasi statistik tentang dua variabel kustom: product.id dan product.price. Pada setiap permintaan, kebijakan Kolektor Statistik akan menulis nilai kedua variabel ini ke server analisis.

Contoh ini juga menetapkan nilai default opsional untuk setiap variabel, dengan nilai default product.id adalah 999999 dan product.price default adalah 0. Jika variabel tidak ditentukan dan Anda tidak menentukan nilai default, tidak ada data yang dicatat untuk variabel tersebut. Jika Anda menentukan nilai default, nilai default akan dicatat ketika variabel tidak ditentukan.

Setelah mengumpulkan data statistik, Anda dapat menggunakan UI atau API pengelolaan Edge untuk mengambil statistik. Saat mengambil statistik, referensikan data yang dikumpulkan untuk variabel ini sebagai productID dan price.

Mengakses statistik

Dalam contoh ini, Anda menggunakan Edge management API untuk melihat data statistik untuk koleksi bernama productID. Permintaan ini membuat laporan kustom untuk ID produk berdasarkan jumlah pesan yang dikirimkan bagi setiap ID produk setiap hari. Ganti nama organisasi Anda dengan variabel {org_name}, dan ganti email dan sandi untuk akun Anda di Apigee Edge dengan email:password.

Tetapkan parameter timeRange untuk menyertakan interval waktu saat data Anda dikumpulkan. Secara default, data yang lebih lama dari enam bulan dari tanggal saat ini tidak dapat diakses. Jika Anda ingin mengakses data yang lebih lama dari enam bulan, hubungi Dukungan 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

Dalam respons, kolom name berisi ID dan nilai produk menampilkan jumlah permintaan setiap hari:

{
  "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"
  }
}

Mengekstrak data untuk pengumpulan

<?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>

Kebijakan Kolektor Statistik mewajibkan data yang dikumpulkan disimpan dalam variabel. Variabel ini dapat ditentukan sebelumnya oleh Apigee, atau variabel kustom yang Anda tentukan.

Dalam contoh ini, Anda menggunakan kebijakan Ekstrak Variabel untuk mengekstrak data dari payload XML yang berisi informasi cuaca. Kebijakan ini:

  • Mengekstrak nama kota dan menuliskannya ke variabel bernama weather.location
  • Mengekstrak kondisi saat ini dan menuliskannya ke variabel bernama weather.condition

Selanjutnya, Anda dapat menggunakan kebijakan Kolektor Statistik untuk mengumpulkan informasi tentang variabel, seperti yang ditunjukkan di bawah ini:

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

Untuk tutorial lengkap yang menunjukkan cara mengekstrak data dari payload XML untuk kebijakan Kolektor Statistik, lihat Menganalisis konten pesan API menggunakan analisis kustom.


Tentang kebijakan Kolektor Statistik

Saat dijalankan, kebijakan Kolektor Statistik mencatat nilai saat ini dari satu atau beberapa variabel. Variabel ini dapat berupa variabel alur yang telah ditentukan oleh Apigee atau variabel kustom yang Anda tentukan. Data ini ditulis ke server analisis Edge.

Untuk mengakses data statistik yang dikumpulkan oleh kebijakan, gunakan Edge API atau UI pengelolaan Edge. Misalnya, Anda dapat menggunakan UI pengelolaan Edge untuk membuat laporan kustom yang menampilkan data yang dikumpulkan dalam berbagai format.

Untuk tutorial lengkap menggunakan kebijakan Kolektor Statistik, lihat Menganalisis konten pesan API menggunakan analisis kustom.

Tempat untuk menempatkan kebijakan

Anda dapat menempatkan kebijakan Kolektor Statistik dalam alur permintaan atau respons proxy API. Namun, jika Anda menempatkan beberapa kebijakan Kolektor Statistik di proxy, kebijakan terakhir yang dijalankan menentukan data yang ditulis ke server analisis, dan data yang ditulis oleh kebijakan Kolektor Statistik sebelumnya akan hilang.

Salah satu skenario ketika Anda mungkin memiliki beberapa kebijakan Statistics Collector di proxy API adalah saat Anda memiliki satu kebijakan di alur permintaan atau respons, dan satu lagi dalam pengendali fault. Jika terjadi kesalahan pada proxy API, Statistics Collector di pengendali kesalahan akan menentukan data yang dikumpulkan. Anda dapat menggunakan Kolektor Statistik untuk mencatat informasi tentang kesalahan, atau untuk mencatat informasi lain yang menurut Anda diperlukan. Statistics Collector di pengendali kesalahan menentukan data yang dikumpulkan, terlepas dari apakah Statistics Collector dalam permintaan/respons sudah dijalankan atau belum.

Untuk mengetahui informasi selengkapnya, lihat Menangani kesalahan.

Referensi elemen

Referensi elemen menjelaskan elemen dan atribut kebijakan Kolektor Statistik.

<?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>

Atribut <Statisticscollector>

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

Tabel berikut menjelaskan atribut yang sama untuk semua elemen induk kebijakan:

Atribut Deskripsi Default Ketersediaan
name

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Atau, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

T/A Wajib
continueOnError

Setel ke false untuk menampilkan error jika kebijakan gagal. Ini adalah perilaku yang wajar untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur tetap berlanjut bahkan setelah kebijakan gagal.

false Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap melekat pada alur.

true Opsional
async

Atribut ini sudah tidak digunakan lagi.

false Tidak digunakan lagi

Elemen <DisplayName>

Gunakan selain atribut name untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan digunakan.

Ketersediaan Opsional
Jenis String

Elemen <Statistik>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
Atribut Deskripsi Default Ketersediaan
name

Nama yang digunakan untuk mereferensikan data yang dikumpulkan untuk variabel tertentu. Saat melihat data analisis, gunakan nama ini untuk mereferensikan data yang dikumpulkan tentang variabel yang ditentukan oleh atribut ref.

Jika variabel yang ditentukan oleh ref tidak ditentukan pada permintaan atau respons, defaultStatValue akan menentukan nilai yang dikumpulkan untuk variabel tersebut. Jika Anda menghapus nilai default, tidak ada data yang dikumpulkan untuk variabel saat variabel tidak ditentukan.

Pembatasan penamaan

Pembatasan penamaan berikut berlaku untuk variabel analisis kustom:

T/A Wajib
referensi

Variabel alur yang statistiknya Anda kumpulkan. Variabel ini dapat berupa variabel flow yang telah ditentukan oleh Apigee atau variabel kustom yang Anda tentukan di proxy API.

Atribut ref sering merujuk ke variabel khusus yang ditentukan oleh kebijakan Ekstrak Variabel. Lihat kebijakan Ekstrak Variabel untuk mengetahui informasi selengkapnya.

T/A Wajib
tipe

Menentukan jenis data variabel yang ditentukan oleh atribut ref. Nilai yang valid adalah: string/integer/float/long/double/boolean.

Untuk data string jenis, referensikan data statistik sebagai Dimensi dalam laporan kustom. Untuk jenis data numerik (bilangan bulat/float/panjang/ganda), referensikan data statistik dalam laporan kustom sebagai Dimensi atau Metrik. Lihat Mengelola laporan kustom untuk mengetahui informasi selengkapnya.

Nilai type hanya dapat dihilangkan jika ref merujuk pada variabel alur Apigee yang telah ditetapkan atau jenis tersebut dideklarasikan dalam payload XML kebijakan Variabel Ekstrak.

string Opsional

Referensi error

Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Tidak ada.

Error saat deployment

Nama error Penyebab Perbaiki
UnsupportedDatatype Jika jenis variabel yang ditentukan oleh atribut ref dalam elemen <Statistic> dalam kebijakan Statistics Collector tidak didukung, deployment proxy API akan gagal. Jenis data yang didukung adalah string, integer, float, long, double, dan boolean.
InvalidName Jika nama yang digunakan untuk merujuk data yang dikumpulkan untuk variabel tertentu yang ditentukan dalam elemen <Statistic> pada kebijakan Kolektor Statistik bertentangan dengan variabel yang ditentukan sistem, deployment proxy API akan gagal. Beberapa variabel buatan sistem yang diketahui adalah organization dan environment.
DatatypeMissing Jika jenis variabel yang ditentukan oleh atribut ref dalam elemen <Statistic> pada kebijakan Statistics Collector tidak ada, deployment proxy API akan gagal.

Variabel kesalahan

Tidak ada.

Skema

Setiap jenis kebijakan ditentukan oleh skema XML (.xsd). Sebagai referensi, skema kebijakan tersedia di GitHub.

Topik terkait

Untuk informasi selengkapnya, lihat: