סקירה כללית על Analytics API

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

במאמר הזה מוסבר על Edge API Analytics.

סרטון קצר: סקירה כללית של שירותי Analytics של Edge API

שיפור ה-API באמצעות ניתוח נתונים

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

בעזרת ניתוח הנתונים תוכלו לקבל תשובות לשאלות נפוצות, כמו:

  • מהי המגמה של התנועה ב-API לאורך זמן?
  • אילו שיטות API הכי פופולריות?
  • מי הם המפתחים המובילים שלי?
  • מתי זמני התגובה של ה-API הכי מהירים? הכי איטי?
  • מבחינה גיאוגרפית, מאיפה מגיעה הכי הרבה תנועה ל-API?

התשובות לשאלות כאלה עוזרות לכם לשפר את ממשקי ה-API, לפתור בעיות ולקבל החלטות עסקיות טובות יותר שקשורות לתוכנית ה-API שלכם.

ניתוח נתוני API עוזר לכולם להשתפר

באמצעות תהליך מתמשך של איסוף, ניתוח והמחשה של נתונים, Edge API Analytics עוזר לצוות ה-API לשפר את ממשקי ה-API שלו ולמפתחי האפליקציות לשפר את האפליקציות שלהם:

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

אילו סוגי נתונים נאספים ומנותחים?

‫Edge API Analytics אוסף ומנתח מגוון רחב של נתונים שזורמים דרך שרתי proxy של API, כמו:

  • זמן התגובה
  • זמן האחזור של הבקשה
  • גודל הבקשה
  • שגיאות שקשורות ליעד
  • שם מוצר ה-API
  • כתובת האימייל של המפתח
  • שם האפליקציה
  • רבים אחרים

רשימה מלאה של הנתונים שנאספים על ידי API Analytics זמינה במאמר Analytics metrics, dimensions, and filters reference.

איך אוספים נתוני ניתוח בהתאמה אישית?

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

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

ההבדלים בין נתוני Analytics לבין נתוני המעקב אחר API

בקטע הזה מפורטים כמה הבדלים קלים בין הנתונים שנאספים על ידי Edge Analytics לבין הנתונים שנאספים על ידי API Monitoring. מכיוון ש-API Monitoring ו-Analytics משתמשים בצינורות נתונים שונים, יכול להיות שתראו הבדלים קלים בין דוחות בהתאמה אישית שנוצרו על ידי Monitoring לבין דוחות שנוצרו על ידי Analytics. לדוגמה, יכול להיות שתראו הבדלים בתוצאות המדווחות של שגיאות שקשורות לפסק זמן – גם פסק זמן של קצה עורפי (קוד סטטוס HTTP‏ 504 בבקשה) וגם פסק זמן של לקוח (קוד סטטוס HTTP‏ 499). יכול להיות שהם יופיעו עם קוד סטטוס 200 בדוחות בהתאמה אישית ב-Analytics, אבל הם יופיעו עם קוד סטטוס 504 או 499 בדוחות בהתאמה אישית של ניטור.

מתי הנתונים של ניתוח הביצועים זמינים ולמשך כמה זמן הם נשמרים?

יש שני מרווחי זמן שקובעים מתי וכמה זמן אפשר לצפות בנתוני Analytics:

  • מרווח הזמן של עיכוב הנתונים – אחרי שמתבצעת קריאה ל-proxy ל-API, יכול לעבור עד 10 דקות עד שהנתונים יהיו זמינים להצגה או דרך קריאות ל-Management API.
  • שמירת נתונים – משך הזמן שבו נתוני Analytics נשמרים תלוי בתוכנית המינוי שלכם:
    • רגיל: 30 ימים
    • Enterprise: 3 חודשים
    • Enterprise Plus: 14 חודשים
    מידע נוסף זמין במאמר תמחור של ניהול API ב-Apigee.

איך ניגשים לנתוני הניתוח?

‫Edge API Analytics מספק כלים להצגה חזותית של נתונים שמוטמעים בממשק המשתמש של Edge. הכלים האלה כוללים לוחות בקרה מוגדרים מראש לניתוח נתונים ודוחות בהתאמה אישית שמציגים נתונים בתרשימים ובגרפים, ומאפשרים לכם להציג פירוט כדי לראות נתונים שמקובצים לפי מאפיינים שונים (למשל לפי proxy ל-API, כתובת IP או קוד סטטוס של HTTP).

בנוסף, אפשר להוריד נתוחי נתונים באמצעות Edge Management API. אחרי ההורדה, תוכלו לייבא את הנתונים האלה לכלי משלכם להצגת נתונים בתצוגה חזותית או למערכת ניתוח.

מרכזי בקרה של Analytics

ממשק המשתמש של Edge כולל קבוצה של מרכזי בקרה מוגדרים מראש שבהם אפשר לראות נתונים אנליטיים. לדוגמה, בתמונה הבאה מוצג מרכז הבקרה Proxy Performance:

לוח הבקרה הזה כולל תרשימים של:

  • Total Traffic (תעבורה כוללת) – המספר הכולל של בקשות API שהתקבלו על ידי Edge עבור סביבת API בארגון.
  • הצלחת התנועה – המספר הכולל של הבקשות שהובילו לתגובה מוצלחת. תשובות שגיאה לא נספרות.
  • שגיאות בתעבורה – המספר הכולל של כל בקשות ה-API שלא הצליחו, כלומר הבקשה לא מספקת תגובה. הספירה כוללת גם שגיאות של Proxy (בצד Apigee) וגם שגיאות של Target (שירותי ה-Backend).
  • ממוצע העסקאות לשנייה – המספר הממוצע של בקשות ה-API והתשובות שמתקבלות לשנייה.

מרכזי בקרה נוספים שהוגדרו מראש:

מידע נוסף על מרכזי הבקרה המוגדרים מראש זמין במאמר שימוש במרכזי הבקרה של Analytics.

דוחות בהתאמה אישית

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

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

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

  • עמודה – כל proxy ל-API מיוצג על ידי עמודה אחרת:

    תרשים עמודות בהתאמה אישית

  • קו – כל proxy ל-API מיוצג על ידי קו אחר:

    תרשים קו בהתאמה אישית

מידע נוסף זמין במאמר בנושא יצירה וניהול של דוחות בהתאמה אישית.

Analytics API

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

הנה דוגמה לקריאה ל-API כדי לאחזר נתוני ניתוח של שרתי proxy של API:

curl  https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \
-u email:password

הפונקציה הזו מחזירה:

  • סכום הבקשות (מספר ההודעות) לכל proxy ל-API
  • לתקופה של 24 שעות
  • הנתונים מקובצים לפי שעה

פרמטר השאילתה timeRange מציין את פרק הזמן בפורמט הבא:

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

שימו לב ל%20 לפני HH:MM. הפרמטר timeRange דורש תו רווח שעבר קידוד לכתובת URL לפני HH:MM, או את התו +, כמו בדוגמה הבאה: MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM.

מידע נוסף זמין במאמר שימוש בממשקי API של מדדים למדידת הביצועים של תוכנית ה-API.

ייצוא נתוני ניתוח ל-Google Cloud

אתם יכולים להשתמש ב-Edge management API כדי לייצא את כל נתוני הניתוח של יום שלם מ-Edge למאגר נתונים משלכם, כמו Google Cloud Storage או BigQuery. לאחר מכן תוכלו להשתמש ביכולות החזקות של שאילתות ולמידת מכונה שמוצעות על ידי Google Cloud BigQuery ו-TensorFlow כדי לבצע ניתוח נתונים משלכם.

מידע נוסף זמין במאמר ייצוא נתונים מ-Analytics.

איך משתפים נתונים עם מפתחי אפליקציות?

אם אתם רואים במפתחי אפליקציות את הלקוחות שלכם, אתם רוצים לוודא שיש להם את הכלים והמידע שזמינים להם כדי להפיק את המרב מה-API שלכם.

alt_text

מפתחי אפליקציות לא מתעניינים רק באיכות האפליקציות שלהם, אלא גם בממשקי ה-API שלכם. פורטלי המפתחים שמבוססים על Drupal כוללים דף אופציונלי בשם App Performance (ביצועי האפליקציה), שנועד לתת למפתחי אפליקציות גישה למדדים חשובים לגבי האפליקציות שלהם. בדף הזה מפתחים יכולים למצוא מידע על:

  • שגיאות: אילו שגיאות API מוצגות באפליקציה שלי?
  • ביצועים: האם ה-API איטי כרגע? אילו methods של API בדרך כלל איטיים או איטיים כרגע?
  • זמינות: האם ממשק ה-API פועל או לא פועל כרגע?
  • מכסה: האם יש מכסה ל-API? ואם אני מפתח אפליקציות, איך אני יכול לדעת מה מצב השימוש שלי ביחס למכסה?

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

בנוסף, אתם יכולים לשתף את ניתוח הנתונים עם המפתחים שלכם באופן הבא:

איך אפשר ליצור נתוני ניתוח מלאים?

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

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

  1. יוצרים מוצר API אחד או יותר, שהוא קבוצה של שרתי proxy ל-API יחד עם תוכנית שירות. מידע נוסף זמין במאמר בנושא ניהול מוצרי API.
  2. רישום מפתחי אפליקציות ב-Edge. איך רושמים מפתחי אפליקציות
  3. לרשום אפליקציות וליצור מפתחות API למפתחים. מידע נוסף זמין במאמר רישום אפליקציות וניהול מפתחות API.
  4. מוסיפים מדיניות אבטחה לפרוקסי של ה-API כדי לאמת מפתחות API או טוקנים של אבטחה. מומלץ לעיין בנושאים הבאים:מדיניות בנושא אימות מפתח API, מדיניות OAuthV2 ומדיניות בנושא אימות JWT.
  5. אם אתם משתמשים ב-Edge Microgateway, עליכם לוודא שהפעלתם את הפלאגין של Analytics (שמופעל כברירת מחדל). אם התוסף analytics מושבת, Edge Microgateway לא ישלח נתוני ניתוח ל-Edge analytics.

במדריכים הבאים מפורטים השלבים הנדרשים כדי לראות ניתוח נתונים למפתחים ולאפליקציות: אבטחת API באמצעות דרישה של מפתחות API ואבטחת API באמצעות OAuth.

השוואה בין API Analytics לבין API Monitoring

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

אחד ההבדלים העיקריים בין API Monitoring לבין API Analytics הוא מנגנון ההתראות שמוטמע ב-API Monitoring. באמצעות התראות, אתם יכולים לציין סף של קוד סטטוס של HTTP ‏ (2xx/4xx/5xx), חביון או קוד שגיאה, שאם הוא ייחצה, תופעל התראה לצוות התפעול. אפשר לשלוח התראות במגוון ערוצים, כמו אימייל, Slack, ביפר או וווב-הוקס, כדי שתוכלו להגיב לבעיות באופן מיידי.

כאן אפשר לקרוא השוואה מפורטת יותר בין השירותים האלה.

מידע נוסף