מדיניות בנושא סטטיסטיקות איסוף

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

מה

מאפשר לאסוף נתונים סטטיסטיים של נתונים בהודעה, כמו מזהה מוצר, מחיר, REST פעולה, כתובת URL של לקוח ויעד ואורך ההודעה. הנתונים יכולים להגיע ממשתני זרימה מוגדר מראש על ידי Apigee או משתנים מותאמים אישית שאתם מגדירים.

נתוני הנתונים הסטטיסטיים מועברים לשרת ניתוח הנתונים, שמנתח את הנתונים הסטטיסטיים יוצר דוחות. אפשר לצפות בדוחות באמצעות ממשק המשתמש של Edge management או 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>

בדוגמה הזו אתם אוספים מידע סטטיסטי על שני משתנים מותאמים אישית: product.id ו-product.price. בכל בקשה, המדיניות של אוסף הנתונים הסטטיסטיים כותבת את הערך של שני המשתנים האלה השרת.

הדוגמה הזו גם מגדירה ערך ברירת מחדל אופציונלי לכל משתנה, כאשר ברירת המחדל הערך של product.id הוא 999999 וערך ברירת המחדל product.price הוא 0. אם המשתנה לא מוגדר ולא מציינים ערך ברירת מחדל, נרשם עבור המשתנה. אם תציינו ערך ברירת מחדל, ערך ברירת המחדל הוא מתועד כשהמשתנה לא מוגדר.

אחרי שיצטברו נתונים סטטיסטיים, ניתן יהיה להשתמש ב-API או בממשק המשתמש של Edge management כדי לאחזר את הנתונים הסטטיסטיים. בעת אחזור נתונים סטטיסטיים, אתה מפנה לנתונים שנאספו עבור את המשתנים האלה כ-productID ו-price, בהתאמה.

גישה לנתונים סטטיסטיים

בדוגמה הזו, משתמשים ב-Edge management API כדי להציג את הנתונים הסטטיסטיים עבור בשם productID. הבקשה הזו יוצרת דוח מותאם אישית עבור מזהי המוצרים על סמך סך כל ההודעות שנשלחו לכל מזהה מוצר יום. מחליפים את שם הארגון במשתנה {org_name}. להחליף את כתובת האימייל והסיסמה של החשבון ב-Apigee Edge עבור email:password.

צריך להגדיר את הפרמטר timeRange כך שיכלול את מרווח הזמן שבו הנתונים היו שנאספו. כברירת מחדל, לא ניתן לגשת לנתונים מלפני יותר משישה חודשים מהתאריך הנוכחי. אם המיקום אם רוצים לגשת לנתונים מלפני יותר משישה חודשים, צריך לפנות לתמיכה של 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

בתשובה, יהיה שם. מכיל את מזהה המוצר והערך מציג את מספר הבקשות לכל יום:

{
  "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 או משתנים מותאמים אישית שאתם מגדירים.

בדוגמה הזו משתמשים במדיניות 'חילוץ משתנים' כדי לחלץ נתונים ממטען ייעודי (payload) של 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>

למדריך מלא שמראה איך לחלץ נתונים ממטען ייעודי (payload) של XML המדיניות בנושא אוסף הנתונים הסטטיסטיים זמינה במאמר ניתוח API תוכן של הודעות באמצעות ניתוח נתונים בהתאמה אישית.


מידע על המדיניות של אוסף הנתונים הסטטיסטיים

במהלך ההפעלה, המדיניות בנושא נתונים סטטיסטיים מתעדת את הערך הנוכחי של אחד או יותר משתנים. המשתנים האלה יכולים להיות משתני זרימה שהוגדרו מראש על ידי Apigee או משתנים מותאמים אישית שאתם מגדירים. הנתונים נכתבים לשרת הניתוח של Edge.

כדי לגשת לנתונים הסטטיסטיים שנאספו באמצעות המדיניות, משתמשים ב-Edge API או ב-Edge ממשק המשתמש לניהול. לדוגמה, אפשר להשתמש בממשק המשתמש של ניהול Edge כדי ליצור דוח בהתאמה אישית מציג את הנתונים שנאספו במגוון פורמטים.

למדריך המלא בנושא השימוש במדיניות של Statistics Collector (איסוף נתונים סטטיסטיים), ראו Analyze API" תוכן של הודעות באמצעות ניתוח נתונים בהתאמה אישית.

איפה להציב את המדיניות

אפשר להגדיר מדיניות לאיסוף נתונים סטטיסטיים בתהליך הבקשה או התגובה של API שרת proxy. עם זאת, אם מציבים בשרת proxy מספר כללי מדיניות של Statistics Collector, אחד ליישום קובע את הנתונים שנכתבו לשרת הניתוח ואת הנתונים שנכתבו על ידי כל המדיניות הקודמת של 'אוסף הנתונים הסטטיסטיים' אבד.

תרחיש אחד שבו עשויים להיות לכם כמה כללי מדיניות לאיסוף נתונים סטטיסטיים בשרת proxy ל-API הוא כשיש לכם קוד אחד בתהליך הבקשה או התגובה, וקובץ אחד נוסף ב-handler של תקלות. אם מדובר בתקלה מתבצע ב-proxy ל-API, ואז אוסף הנתונים הסטטיסטיים ב-handler של התקלות קובע את הנתונים שנאספו. ניתן להשתמש באוסף הנתונים הסטטיסטיים כדי לתעד מידע על התקלה, או כדי לתעד כל מידע אחר שלדעתכם צריך. אוסף הנתונים הסטטיסטיים באשמת ה-handler קובע אילו נתונים נאספו ללא קשר אם אוסף הנתונים הסטטיסטיים בבקשה/בתשובה שכבר בוצעה.

למידע נוסף, ראו טיפול פגמים.

הפניה לרכיב

בהפניה לרכיב מתארים את הרכיבים והתכונות של אוסף הנתונים הסטטיסטיים המדיניות בנושא

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

The following table describes attributes that are common to all policy parent elements:

Attribute Description Default Presence
name

The internal name of the policy. The value of the name attribute can contain letters, numbers, spaces, hyphens, underscores, and periods. This value cannot exceed 255 characters.

Optionally, use the <DisplayName> element to label the policy in the management UI proxy editor with a different, natural-language name.

N/A Required
continueOnError

Set to false to return an error when a policy fails. This is expected behavior for most policies.

Set to true to have flow execution continue even after a policy fails.

false Optional
enabled

Set to true to enforce the policy.

Set to false to turn off the policy. The policy will not be enforced even if it remains attached to a flow.

true Optional
async

This attribute is deprecated.

false Deprecated

<DisplayName> element

Use in addition to the name attribute to label the policy in the management UI proxy editor with a different, natural-language name.

<DisplayName>Policy Display Name</DisplayName>
Default

N/A

If you omit this element, the value of the policy's name attribute is used.

Presence Optional
Type String

&lt;Statistics&gt;/&lt;Statistic&gt; רכיב

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
מאפיין תיאור ברירת מחדל נוכחות
שם

השם שמשמש להתייחס לנתונים שנאספו עבור המשתנה שצוין. בזמן הצפייה ניתוח נתונים, השתמשו בשם הזה כדי להתייחס לנתונים שנאספו לגבי המשתנה מצוין על ידי ref .

אם המשתנה שצוין על ידי ref לא מוגדר בבקשה או תגובה, אז defaultStatValue מציין את הערך שנאספים עבור המשתנה. אם משמיטים את ערך ברירת המחדל, לא יאספו נתונים עבור כשהמשתנה לא מוגדר.

הגבלות על שם

ההגבלות הבאות על שמות חלות על משתנים מותאמים אישית של ניתוח נתונים:

לא רלוונטי חובה
אזכור

משתנה הזרימה שעבורו אתם אוספים נתונים סטטיסטיים. המשתנה הזה יכול להיות זרימה מוגדר מראש על ידי Apigee או משתנה מותאם אישית שאתם מגדירים בשרת ה-proxy ל-API.

מאפיין ref מפנה בדרך כלל למשתנה מותאם אישית שמוגדר על ידי משתני חילוץ המדיניות בנושא מידע נוסף זמין בקטע חילוץ משתנים .

לא רלוונטי חובה
סוג

מציין את סוג הנתונים של המשתנה שצוין באמצעות המאפיין ref. הערכים החוקיים הם: string/integer/float/long/double/boolean.

עבור נתונים מסוג מחרוזת, יש להפנות לנתונים הסטטיסטיים כמאפיין דוח בהתאמה אישית. לגבי סוגי נתונים מספריים (מספר שלם/צף/אורך/כפול), ציינו את נתונים סטטיסטיים בדוח מותאם אישית בתור מאפיין או כמדד. מידע נוסף זמין במאמר ניהול דוחות בהתאמה אישית.

הערך של type ניתן להשמיט רק אם ref מתייחס למאפיין מוגדר מראש משתנה הזרימה ב-Apigee או הסוג מוצהר במטען הייעודי (payload) של XML של משתני החילוץ המדיניות בנושא

מחרוזת אופציונלי

התייחסות לשגיאות

This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

None.

Deployment errors

Error name Cause Fix
UnsupportedDatatype If the type of the variable specified by the ref attribute in the <Statistic> element of the Statistics Collector policy is unsupported, then the deployment of the API proxy fails. The supported data types are string, integer, float, long, double, and boolean.
InvalidName If the name used to reference the data collected for the specified variable defined within the <Statistic> element of the Statistics Collector policy conflicts with a system-defined variable, then the deployment of the API proxy fails. Some of the known system-defined variables are organization and environment.
DatatypeMissing If the type of the variable specified by the ref attribute in the <Statistic> element of the Statistics Collector policy is missing, then the deployment of the API proxy fails.

Fault variables

None.

סכימה

כל סוג מדיניות מוגדר על ידי סכימת XML (.xsd). לידיעתך, סכימות של מדיניות זמינים ב-GitHub.

נושאים קשורים

מידע נוסף זמין בדפים הבאים: