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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מה

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

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

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

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

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

בתגובה, השדה 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

לאחר מכן אפשר להשתמש במדיניות 'סטטיסטיקות Collector' כדי לאסוף מידע על המשתנים, כפי שמוצג כאן:

<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 עבור המדיניות של StatStats Collector, אפשר לעיין במאמר ניתוח תוכן של הודעות בממשק ה-API באמצעות ניתוחי נתונים בהתאמה אישית.


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

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

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

למדריך מלא על השימוש במדיניות 'סטטיסטיקות Collector', ניתן לעיין במאמר ניתוח תוכן הודעות של API באמצעות ניתוח מותאם אישית.

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

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

תרחיש אחד שבו ייתכן שיהיו כמה כללי מדיניות של StatStats Collector בשרת proxy ל-API, כאשר יש מדיניות אחת בתהליך הבקשה או התגובה, ותרחיש אחר ב-handler לדיווח על כשל. אם מתרחשת תקלה בשרת ה-API של ממשק ה-API, הנתונים שנאספים יקובצו על ידי StatStats Collector ב-handler שב-handler. תוכלו להשתמש באספן הנתונים הסטטיסטיים כדי לתעד מידע על התקלה, או כדי לתעד כל מידע אחר שלדעתכם נחוץ. בורר הנתונים הסטטיסטיים (Stats Collector) ב-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>

מאפייני <StatisticsCollector>

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

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

מאפיין התיאור ברירת המחדל נוכחות
name

השם הפנימי של המדיניות. הערך של המאפיין name יכול להכיל אותיות, מספרים, רווחים, מקפים, קווים תחתונים ונקודות. הערך יכול להיות באורך של עד 255 תווים.

אפשר להשתמש באלמנט <DisplayName> כדי להוסיף למדיניות בכלי לעריכת שרת ה-proxy לניהול ממשק משתמש עם שם בשפה טבעית אחרת.

לא רלוונטי נדרש
continueOnError

צריך להגדיר את הערך false כדי להחזיר שגיאה במקרה של כישלון במדיניות. זו התנהגות צפויה ברוב כללי המדיניות.

צריך להגדיר את הערך true כדי להפעיל את התהליך גם אחרי כישלון במדיניות.

false אופציונלי
enabled

צריך להגדיר את הערך true כדי לאכוף את המדיניות.

צריך להגדיר את הערך false כדי להשבית את המדיניות. המדיניות לא תיאכף גם אם היא תישאר מצורפת לזרימה.

true אופציונלי
async

המאפיין הזה הוצא משימוש.

false הוצא משימוש

רכיב <DisplayName>

יש להשתמש במאפיין הזה בנוסף למאפיין name כדי להוסיף למדיניות בכלי לעריכת שרת ה-proxy לניהול ממשק משתמש עם שם אחר בשפה טבעית.

<DisplayName>Policy Display Name</DisplayName>
ברירת המחדל

לא רלוונטי

אם משמיטים את הרכיב הזה, המערכת משתמשת בערך של מאפיין name של המדיניות.

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

האלמנט <Statistics>/<Statistic>

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

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

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

הגבלות על שמות

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

לא רלוונטי נדרש
ר'

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

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

לא רלוונטי נדרש
סוג

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

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

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

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

הפניה לשגיאות

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

שגיאות בזמן ריצה

ללא.

שגיאות בפריסה

שם השגיאה סיבה תיקון
UnsupportedDatatype אם סוג המשתנה שצוין על ידי המאפיין ref ברכיב <Statistic> של מדיניות StatStats Collector (אוסף הנתונים הסטטיסטיים) לא נתמך, הפריסה של שרת ה-proxy של ה-API תיכשל. סוגי הנתונים הנתמכים הם string, integer, float, long, double ו-boolean.
InvalidName אם השם שמשמש להפניה לנתונים שנאספים עבור המשתנה שצוין, שהוגדר בתוך הרכיב <Statistic> של מדיניות StatStats Collector (אוסף הנתונים הסטטיסטיים) מתנגש עם משתנה שהוגדר על ידי המערכת, הפריסה של שרת ה-proxy של ה-API תיכשל. חלק מהמשתנים המוגדרים על ידי המערכת הם organization ו-environment.
DatatypeMissing אם סוג המשתנה שצוין על ידי המאפיין ref ברכיב <Statistic> של מדיניות StatStats Collector (אוסף הנתונים הסטטיסטיים), הפריסה של שרת ה-proxy של ה-API תיכשל.

משתני שבר

ללא.

סכימה

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

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

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