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

מוצג המסמך של 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">

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

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

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

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

לא רלוונטי חובה
continueOnError

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

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

false אופציונלי
enabled

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

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

true אופציונלי
async

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

false הוצא משימוש

&lt;DisplayName&gt; רכיב

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

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

לא רלוונטי

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

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

&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 של משתני החילוץ המדיניות בנושא

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

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

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

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

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