นโยบาย StatisticsCollector

คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่ เอกสารประกอบเกี่ยวกับ Apigee X.
ข้อมูล

อะไร

ช่วยให้คุณสามารถเก็บรวบรวมสถิติข้อมูลในข้อความ เช่น รหัสผลิตภัณฑ์, ราคา, REST การดำเนินการ, URL ของไคลเอ็นต์และเป้าหมาย และความยาวของข้อความ ข้อมูลอาจมาจากตัวแปรโฟลว์ ที่กำหนดไว้ล่วงหน้าโดย Apigee หรือตัวแปรที่กำหนดเองที่คุณกำหนดไว้

ข้อมูลสถิติจะถูกส่งไปยังเซิร์ฟเวอร์การวิเคราะห์ ซึ่งจะวิเคราะห์สถิติและ สร้างรายงาน คุณจะดูรายงานได้โดยใช้ UI การจัดการ Edge หรือ Edge API

ตัวอย่าง

ตัวอย่างพื้นฐาน

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

ในตัวอย่างนี้ คุณรวบรวมข้อมูลทางสถิติเกี่ยวกับตัวแปรที่กำหนดเอง 2 ตัว ได้แก่ product.id และ product.price ในคำขอ นโยบายเครื่องมือรวบรวมสถิติจะเขียนค่าของตัวแปร 2 ตัวนี้ลงในการวิเคราะห์ เซิร์ฟเวอร์

ตัวอย่างนี้ยังกำหนดค่าเริ่มต้นที่ไม่บังคับสำหรับแต่ละตัวแปร โดยที่ค่าเริ่มต้น ค่าของ product.id คือ 999999 และ product.price เริ่มต้น เท่ากับ 0 หากไม่ได้กำหนดตัวแปรและคุณไม่ได้ระบุค่าเริ่มต้น จะไม่มีข้อมูล สำหรับตัวแปรนี้ หากคุณระบุค่าเริ่มต้น ค่าเริ่มต้นจะเป็น จะบันทึกเมื่อไม่ระบุตัวแปร

หลังจากรวบรวมข้อมูลทางสถิติแล้ว คุณจะใช้ UI หรือ API การจัดการ Edge ได้ เพื่อดึงข้อมูลสถิติ เมื่อดึงสถิติออกมา คุณอ้างอิงข้อมูลที่เก็บรวบรวมไว้ ตัวแปรเหล่านี้เป็น productID และ price ตามลำดับ

การเข้าถึงสถิติ

ในตัวอย่างนี้ คุณใช้ Edge Management API เพื่อดูข้อมูลสถิติสำหรับ คอลเล็กชันชื่อ productID คำขอนี้สร้างรายงานที่กำหนดเองสำหรับ รหัสผลิตภัณฑ์ตามผลรวมของจำนวนข้อความที่ส่งสำหรับรหัสผลิตภัณฑ์แต่ละรายการสำหรับแต่ละรหัสผลิตภัณฑ์ วัน แทนที่ชื่อองค์กรด้วยตัวแปร {org_name} และ แทนที่อีเมลและรหัสผ่านสำหรับบัญชีของคุณใน Apigee Edge สำหรับ email:password

ตั้งค่าพารามิเตอร์ timeRange ให้รวมช่วงเวลาที่ข้อมูลถูก ที่รวบรวมไว้ โดยค่าเริ่มต้น ข้อมูลที่เก่ากว่า 6 เดือนนับจากวันที่ปัจจุบันจะเข้าถึงไม่ได้ ถ้า คุณต้องการเข้าถึงข้อมูลที่เก่ากว่า 6 เดือน โปรดติดต่อฝ่ายสนับสนุนของ 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

ในการตอบกลับ name มีรหัสผลิตภัณฑ์ และค่าแสดงจำนวนคำขอสำหรับแต่ละวัน

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

กำลังแตกข้อมูลสำหรับคอลเล็กชัน

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

นโยบายเครื่องมือรวบรวมสถิติกำหนดให้มีการจัดเก็บข้อมูลในตัวแปร ตัวแปรเหล่านี้สามารถกำหนดไว้ล่วงหน้าโดย Apigee หรือตัวแปรที่กำหนดเองที่คุณกำหนดไว้ก็ได้

ในตัวอย่างนี้ คุณใช้นโยบายการแยกตัวแปรเพื่อดึงข้อมูลจากเพย์โหลด XML ที่มีข้อมูลสภาพอากาศ นโยบายนี้มีคุณสมบัติดังต่อไปนี้

  • ดึงข้อมูลชื่อเมืองและเขียนเป็นตัวแปรชื่อ weather.location
  • ดึงข้อมูลเงื่อนไขปัจจุบันและเขียนเป็นตัวแปรชื่อ weather.condition

จากนั้น คุณสามารถใช้นโยบายเครื่องมือรวบรวมสถิติเพื่อรวบรวมข้อมูลเกี่ยวกับ ตามที่แสดงด้านล่าง

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

สำหรับบทแนะนำฉบับสมบูรณ์ที่แสดงวิธีแยกข้อมูลจากเพย์โหลด XML สำหรับ นโยบายเครื่องมือรวบรวมสถิติ โปรดดูการวิเคราะห์ API ของเนื้อหาข้อความโดยใช้การวิเคราะห์ที่กำหนดเอง


เกี่ยวกับนโยบายเครื่องมือรวบรวมสถิติ

เมื่อดำเนินการ นโยบายเครื่องมือรวบรวมสถิติจะบันทึกค่าปัจจุบันอย่างน้อย 1 รายการ ตัวแปร ตัวแปรเหล่านี้อาจเป็นตัวแปรโฟลว์ที่กำหนดไว้ล่วงหน้าโดย Apigee หรือตัวแปรที่กำหนดเองซึ่ง ที่คุณนิยาม ข้อมูลนี้จะเขียนไปยังเซิร์ฟเวอร์การวิเคราะห์ Edge

หากต้องการเข้าถึงข้อมูลสถิติที่นโยบายรวบรวมไว้ ให้ใช้ Edge API หรือ Edge UI ของการจัดการ ตัวอย่างเช่น คุณสามารถใช้ UI การจัดการ Edge เพื่อสร้างรายงานที่กำหนดเองซึ่ง แสดงข้อมูลที่รวบรวมในรูปแบบต่างๆ

สำหรับบทแนะนำฉบับเต็มที่ใช้นโยบายเครื่องมือรวบรวมสถิติ โปรดดูการวิเคราะห์ API ของเนื้อหาข้อความโดยใช้การวิเคราะห์ที่กำหนดเอง

ตำแหน่งที่จะวางนโยบาย

คุณสามารถใส่นโยบายเครื่องมือรวบรวมสถิติไว้ในคำขอหรือขั้นตอนการตอบกลับของ API พร็อกซี แต่ถ้าคุณใส่นโยบายเครื่องมือรวบรวมสถิติหลายนโยบายในพร็อกซี นโยบายสุดท้าย คำสั่ง 1 สำหรับเรียกใช้จะระบุข้อมูลที่เขียนไปยังเซิร์ฟเวอร์การวิเคราะห์ และข้อมูลที่เขียนโดย นโยบายเครื่องมือเก็บข้อมูลสถิติก่อนหน้านี้จะหายไป

สถานการณ์หนึ่งที่คุณอาจมีนโยบายเครื่องมือเก็บข้อมูลสถิติหลายรายการในพร็อกซี API เมื่อมีคอมโพเนนต์หนึ่งในคำขอหรือขั้นตอนการตอบกลับ และอีกรายการใน Fault Handler หากเกิดข้อผิดพลาด จะเกิดขึ้นในพร็อกซี API จากนั้นเครื่องมือรวบรวมสถิติในตัวจัดการข้อผิดพลาดจะกำหนดข้อมูล ที่รวบรวมไว้ คุณสามารถใช้เครื่องมือเก็บสถิตินั้นเพื่อบันทึกข้อมูลเกี่ยวกับข้อผิดพลาด หรือ บันทึกข้อมูลอื่นๆ ที่คุณคิดว่าจำเป็น เครื่องมือรวบรวมสถิติในข้อผิดพลาด ตัวแฮนเดิลจะระบุข้อมูลที่รวบรวม ไม่ว่าเครื่องมือรวบรวมสถิติหรือไม่ก็ตาม ในคำขอ/การตอบกลับที่ดำเนินการแล้ว

ดูข้อมูลเพิ่มเติมได้ที่การจัดการ ข้อผิดพลาด

การอ้างอิงองค์ประกอบ

การอ้างอิงองค์ประกอบอธิบายองค์ประกอบและแอตทริบิวต์ของเครื่องมือรวบรวมสถิติ

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

&lt;StatisticsCollector&gt; แอตทริบิวต์

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

ตารางต่อไปนี้อธิบายแอตทริบิวต์ทั่วไปในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด

แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
name

ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ name สามารถ ประกอบด้วยตัวอักษร ตัวเลข การเว้นวรรค ขีดกลางสั้น ขีดล่าง และจุด ค่านี้ไม่สามารถ เกิน 255 อักขระ

(ไม่บังคับ) ใช้องค์ประกอบ <DisplayName> เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

ไม่มี ต้องระบุ
continueOnError

ตั้งค่าเป็น false เพื่อแสดงผลข้อผิดพลาดเมื่อนโยบายล้มเหลว เป็นเรื่องปกติ พฤติกรรมสำหรับนโยบายส่วนใหญ่

ตั้งค่าเป็น true เพื่อให้ดำเนินการตามขั้นตอนได้อย่างต่อเนื่องแม้จะมีนโยบายแล้วก็ตาม ล้มเหลว

เท็จ ไม่บังคับ
enabled

ตั้งค่าเป็น true เพื่อบังคับใช้นโยบาย

ตั้งค่าเป็น false เพื่อปิดนโยบาย นโยบายจะไม่ บังคับใช้ แม้ว่าจะยังคงแนบกับขั้นตอน

จริง ไม่บังคับ
async

แอตทริบิวต์นี้เลิกใช้งานแล้ว

เท็จ เลิกใช้

&lt;DisplayName&gt; องค์ประกอบ

ใช้เพิ่มเติมจากแอตทริบิวต์ name เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน

<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น

ไม่มี

หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ name ของนโยบายจะเป็น

การมีบุคคลอยู่ ไม่บังคับ
ประเภท สตริง

&lt;Statistics&gt;/&lt;Statistic&gt; องค์ประกอบ

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
แอตทริบิวต์ คำอธิบาย ค่าเริ่มต้น การมีบุคคลอยู่
ชื่อ

ชื่อที่ใช้เพื่ออ้างอิงข้อมูลที่รวบรวมสำหรับตัวแปรที่ระบุ เมื่อดู Analytics ให้ใช้ชื่อนี้เพื่ออ้างอิงข้อมูลที่รวบรวมเกี่ยวกับตัวแปร ที่ระบุโดย ref

หากไม่ได้กำหนดตัวแปรที่ ref ระบุในคำขอหรือ จากนั้น defaultStatValue จะระบุค่า ที่รวบรวมสำหรับตัวแปรนั้นๆ หากคุณไม่ใส่ค่าเริ่มต้น ระบบจะไม่รวบรวมข้อมูลสําหรับ เมื่อไม่ได้กำหนดตัวแปร

ข้อจำกัดในการตั้งชื่อ

ข้อจำกัดในการตั้งชื่อต่อไปนี้มีผลกับตัวแปร Analytics ที่กำหนดเอง

  • ชื่อสามารถใช้อักขระต่อไปนี้: a-z, 0-9, _ (ขีดล่าง)
  • ชื่อต้องไม่มีการเว้นวรรค
  • ชื่อต้องไม่เป็น dsi, response_time, timekey หรือ timestamp
  • ระบบจะไม่พิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
  • คุณไม่สามารถใช้ชื่อของเมตริก มิติข้อมูล หรือตัวกรองของ Analytics ที่กำหนดไว้ล่วงหน้าใดๆ ที่แสดงอยู่ใน ข้อมูลอ้างอิงเมตริก มิติข้อมูล และตัวกรองของ Analytics
  • นอกเหนือจากที่กล่าวมาข้างต้น คีย์เวิร์ดที่แสดงในหน้าต่อไปนี้ไม่ อนุญาต:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
ไม่มี ต้องระบุ
อ้างอิง

ตัวแปรโฟลว์ที่คุณรวบรวมสถิติอยู่ ตัวแปรนี้สามารถเป็นโฟลว์ เป็นตัวแปรที่กำหนดไว้ล่วงหน้าโดย Apigee หรือตัวแปรที่กำหนดเองซึ่งคุณระบุไว้ในพร็อกซี API

แอตทริบิวต์อ้างอิงมักอ้างอิงตัวแปรที่กำหนดเองที่กำหนดโดยตัวแปรการดึงข้อมูล ดูตัวแปรการดึงข้อมูล นโยบายของเรา

ไม่มี ต้องระบุ
ประเภท

ระบุประเภทข้อมูลของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ค่าที่ใช้ได้มีดังนี้ string/integer/float/long/double/boolean.

สำหรับข้อมูลประเภทสตริง ให้อ้างอิงข้อมูลทางสถิติเป็นมิติข้อมูลในแอตทริบิวต์ รายงานที่กำหนดเอง สำหรับประเภทข้อมูลตัวเลข (จำนวนเต็ม/จำนวนลอย/ลองจิจูด/คู่) ให้อ้างอิงฟังก์ชัน ข้อมูลสถิติในรายงานที่กำหนดเองเป็นมิติข้อมูลหรือเมตริก ดูข้อมูลเพิ่มเติมได้ในจัดการรายงานที่กำหนดเอง

ค่าของ type สามารถละเว้นได้เฉพาะในกรณีที่ ref หมายถึงรายการที่กำหนดไว้ล่วงหน้า มีการประกาศตัวแปรโฟลว์ Apigee หรือประเภทในเพย์โหลด XML ของตัวแปรการดึงข้อมูล

สตริง ไม่บังคับ

ข้อมูลอ้างอิงข้อผิดพลาด

ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด

ข้อผิดพลาดเกี่ยวกับรันไทม์

ไม่มี

ข้อผิดพลาดในการทำให้ใช้งานได้

ชื่อข้อผิดพลาด สาเหตุ แก้ไข
UnsupportedDatatype หากระบบไม่รองรับประเภทของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติ จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ ประเภทข้อมูลที่รองรับ ได้แก่ string, integer, float, long, double และ boolean
InvalidName หากชื่อที่ใช้อ้างอิงข้อมูลที่รวบรวมสำหรับตัวแปรที่ระบุซึ่งกำหนดภายในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติขัดแย้งกับตัวแปรที่ระบบกำหนด การทำให้พร็อกซี API ใช้งานได้จะไม่สำเร็จ ตัวแปรที่กำหนดโดยระบบที่รู้จักบางรายการคือ organization และ environment
DatatypeMissing หากไม่มีประเภทของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติ จะทำให้ใช้งานพร็อกซี API ไม่สำเร็จ

ตัวแปรของข้อผิดพลาด

ไม่มี

สคีมา

นโยบายแต่ละประเภทจะกำหนดโดยสคีมา XML (.xsd) สคีมานโยบายสำหรับใช้อ้างอิง ที่มีอยู่ใน GitHub

หัวข้อที่เกี่ยวข้อง

ดูข้อมูลเพิ่มเติมได้ที่