Kebijakan StatisticsCollector

Anda 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 sebelumnya oleh Apigee atau variabel kustom yang Anda tentukan.

Data statistik diteruskan ke server analisis, yang menganalisis statistik dan membuat 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 Pengumpul Statistik menulis nilai kedua variabel ini ke server analisis.

Contoh ini juga menetapkan nilai default opsional untuk setiap variabel, dengan nilai default nilai 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 saat variabel tidak ditentukan.

Setelah mengumpulkan data statistik, Anda dapat menggunakan UI pengelolaan Edge atau API untuk mengambil statistik. Saat mengambil statistik, Anda mereferensikan 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 yang disebut productID. Permintaan ini membuat laporan kustom untuk ID produk berdasarkan jumlah total jumlah pesan yang dikirimkan untuk setiap ID produk setiap hari. Ganti nama organisasi Anda dengan variabel {org_name}, dan ganti email serta sandi untuk akun Anda di Apigee Edge dengan email:password.

Tetapkan parameter timeRange untuk menyertakan interval waktu saat data Anda dikumpulkan. Data yang lebih lama dari enam bulan dari tanggal saat ini tidak dapat diakses secara default. Jika 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 nama berisi ID produk dan nilai menunjukkan jumlah permintaan untuk 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 koleksi

<?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 Pengumpul Statistik mengharuskan 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

Kemudian, Anda dapat menggunakan kebijakan Pengumpul 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 Pengumpul Statistik, lihat Menganalisis konten pesan API menggunakan analisis kustom.


Tentang kebijakan Pengumpul Statistik

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

Untuk mengakses data statistik yang dikumpulkan oleh kebijakan, Anda menggunakan 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 Pengumpul Statistik, lihat Menganalisis konten pesan API menggunakan analisis kustom.

Tempat untuk menempatkan kebijakan

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

Salah satu skenario saat Anda mungkin memiliki beberapa kebijakan Pengumpul Statistik dalam proxy API adalah saat Anda memiliki satu di alur permintaan atau respons, dan satu lagi di pengendali error. Jika terjadi error di proxy API, Pengumpul Statistik di pengendali error akan menentukan data yang dikumpulkan. Anda dapat menggunakan Pengumpul Statistik tersebut untuk mencatat informasi tentang error, atau untuk mencatat informasi lain yang menurut Anda diperlukan. Pengumpul Statistik di pengendali error menentukan data yang dikumpulkan, terlepas dari apakah Pengumpul Statistik dalam permintaan/respons sudah dieksekusi atau belum.

Untuk mengetahui informasi selengkapnya, lihat Menangani error.

Referensi elemen

Referensi elemen menjelaskan elemen dan atribut kebijakan Pengumpul 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 umum 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.

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

T/A Wajib
continueOnError

Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Diharapkan untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur dapat dilanjutkan bahkan setelah kebijakan gagal.

salah Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan ini tidak akan ditegakkan meskipun tetap terikat pada alur.

true Opsional
async

Atribut ini tidak digunakan lagi.

salah Tidak digunakan lagi

&lt;DisplayName&gt; elemen

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

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan menjadi data

Ketersediaan Opsional
Jenis String

Elemen <Statistics>/<Statistic>

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

Nama yang digunakan untuk mereferensikan data yang dikumpulkan untuk variabel yang ditentukan. 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 menghilangkan nilai default, tidak ada data yang dikumpulkan untuk the variabel saat variabel tidak ditentukan.

Batasan penamaan

Batasan penamaan berikut berlaku untuk variabel analisis kustom:

T/A Wajib
ref

Variabel alur yang statistik pengumpulannya Anda lakukan. Variabel ini dapat berupa variabel alur variabel yang telah ditentukan sebelumnya oleh Apigee atau variabel kustom yang Anda tentukan di proxy API.

Atribut ref sering kali mereferensikan variabel kustom yang ditentukan oleh kebijakan Ekstrak Variabel. Lihat kebijakan Ekstrak Variabel kebijakan untuk mengetahui informasi selengkapnya.

T/A Wajib
jenis

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

Untuk data jenis string, referensikan data statistik sebagai Dimensi dalam laporan kustom. Untuk jenis data numerik (integer/float/long/double), referensikan data statistik dalam laporan kustom sebagai salah satu Dimensi atau Metrik. Lihat Mengelola laporan kustom untuk mengetahui informasi selengkapnya.

Nilai jenis hanya dapat dihilangkan jika ref merujuk ke flow variable Apigee yang telah ditentukan sebelumnya atau jenisnya dideklarasikan dalam payload XML kebijakan Ekstrak Variabel.

string Opsional

Referensi error

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

Error runtime

Tidak ada.

Error saat deployment

Nama error Penyebab Perbaiki
UnsupportedDatatype Jika jenis variabel yang ditentukan oleh atribut ref dalam elemen <Statistic> dari 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 mereferensikan data yang dikumpulkan untuk variabel yang ditentukan dalam elemen <Statistic> kebijakan Pengumpul Statistik bertentangan dengan variabel yang ditentukan sistem, deployment proxy API akan gagal. Beberapa variabel yang ditentukan sistem yang diketahui adalah organization dan environment.
DatatypeMissing Jika jenis variabel yang ditentukan oleh atribut ref di elemen <Statistic> kebijakan Statistics Collector tidak ada, deployment proxy API akan gagal.

Variabel error

Tidak ada.

Skema

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

Topik terkait

Untuk informasi selengkapnya, lihat: