העלאת נתוני תנועה לממשק API ל-Apigee – גרסת בטא

Edge for Private Cloud בגרסה 4.17.09

כל לקוחות Edge for Private Cloud נדרשים לשלוח ל-Apigee נתונים סטטיסטיים על תעבורת ה-API דרך שרת proxy. ב-Apigee מומלץ ללקוחות להעלות את המידע הזה פעם ביום, אפשר גם ליצור משימה ב-cron.

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

כדי לעזור בהעלאת הנתונים האלה, Apigee מספקת את גרסת הבטא של הכלי apigee-analytics-collector בשורת הפקודה. כלי השירות הזה שולח את דוח נפח הקריאות ל-API חזרה אל Apigee. כל התקנה של Edge for Private Cloud יכולה להשתמש בכלי הזה כדי לאחזר נתוני תנועה ולדווח עליהם ל-Apigee.

גישה לנתונים שהועלו על ידי apigee-analytics-collector

אחרי העלאת הנתונים באמצעות הכלי apigee-analytics-collector, תוכלו להציג אותם ב-Apigee 360.

כדי להציג את הנתונים, נכנסים ל-Apigee 360 ובוחרים באפשרות Usage. בדף Usage מוצג תרשים של שימוש וטבלה של נתוני שימוש לכל אחת מהארגונים שלכם ב-Edge.

התקנה של apigee-analytics-collector

הכלי apigee-analytics-collector הוא קובץ RPM שמתקינים באמצעות הכלי apigee-service.

איפה להתקין

הצומת שבו מתקינים את כלי השירות apigee-analytics-collector יכול להיות כל צומת שיכול לגשת ל-Edge management API בשרת ניהול הקצה. אפשר להתקין אותו ישירות בשרת הניהול, בצומת אחר של התקנת Edge או בצומת נפרד, כל עוד הצומת הזה יכול לשלוח בקשות API לשרת הניהול.

דרישות לגישה לאינטרנט

מתקינים את הכלי apigee-analytics-collector במכונה עם גישה חיצונית לאינטרנט. לאחר מכן, הכלי apigee-analytics-collector יכול להעלות נתונים ישירות ל-Apigee.

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

התקנה

משתמשים בפקודה הבאה כדי להתקין את הכלי apigee-analytics-collector. מכיוון שאתם מתקינים קובץ RPM, צריך להריץ את הפקודה הזו באמצעות משתמש root או משתמש עם הרשאת sudo מלאה. לגישה מלאה ל-sudo, המשמעות היא שלמשתמש יש גישה ל-sudo כדי לבצע את אותן פעולות כמו root.

> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install 

הפעלת apigee-analytics-collector

בקטע הזה מוסבר איך להריץ את הכלי apigee-analytics-collector.

הגדרת משתמש להרצת apigee-analytics-collector

צריך להריץ את apigee-analytics-collector כמשתמש שאינו Root. למשתמש הזה צריכה להיות גישה מלאה ל-sudo של המשתמש 'apigee'.

כדי להגדיר למשתמש גישת sudo מלאה למשתמש ה-apigee, משתמשים בפקודה visudo כדי לערוך את קובץ ה-sudoers ולהוסיף אותו:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

כאשר analyticsUser הוא שם המשתמש של מי שמפעיל את הכלי apigee-analytics-collector.

אחרי שתתקינו את הכלי apigee-analytics-collector ותגדירו את המשתמש, תוכלו לבדוק את הכלי על ידי הפעלת הפקודה help של הכלי apigee-analytics-collector:

> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help

המידע הנדרש להפעלת apigee-analytics-collector

כדי להריץ את הפקודה apigee-analytics-collector וכדי להעביר את הנתונים ל-Apigee:

  • apigee_mgmt_api_uri: כתובת ה-URL הבסיסית של Edge API בשרת הניהול. לרוב, כתובת ה-URL הזו מופיעה בפורמט:
    http://ms_IP:8080/v1

    כאשר ms_IP היא כתובת ה-IP או שרת הניהול שלכם ו-8080 היא היציאה שבה נעשה שימוש ב-Edge API. אם יצרתם רשומת DNS ל-Edge API, כתובת ה-URL תהיה בפורמט:
    http://ms_DNS/v1

    אם מפעילים את TLS ב-Edge management API, כתובת ה-URL תהיה בפורמט:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: כתובת האימייל של חשבון עם גישה לממשקי ה-API של /stats ב-Edge. בדרך כלל זו תהיה כתובת האימייל של האדמין של מערכת Edge, או כתובת האימייל של האדמין הארגוני של הארגונים בסביבת הייצור.
  • apigee_mgmt_api_password: הסיסמה ל-Edge של החשבון שצוין ב-apigee_mgmt_api_email.
  • apigee_analytics_client_id ו-apigee_analytics_secret: פרטי הכניסה להעלאת נתונים ל-Apigee. צריך לשלוח פנייה לתמיכה של Apigee כדי לקבל את apigee_analytics_client_id ואת apigee_analytics_secret.

פקודות לדוגמה

בהמשך מופיעה דוגמה לפקודה לאחזור נתוני התנועה של כל הארגונים והסביבות בהתקנת Edge, ולהעלאת הנתונים האלה ל-Apigee. שימו לב איך משתמשים ב-apigee-service כדי להריץ את הפקודה apigee-analytics-collector:

>  /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

שימו לב שהפקודה מכילה את כל המידע הנדרש, כמו apigee_analytics_client_id ו-apigee_analytics_secret.

התוצאות אמורות להופיע בפורמט הבא:

[
  {
    "org": "myOrg",
    "env": "prod",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  },
  {
    "org": "VALIDATE",
    "env": "test",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  }
]

להשתמש באפשרויות של שורת הפקודה בפקודה כדי לשלוט בפעולות שלה. אפשר להשתמש באפשרויות הבאות כדי לציין את הארגונים והסביבות שרוצים לכלול בנתונים שנוצרים:

  • -i, --include_orgs <comma-separated list of items>
  • -x, --exclude_orgs <comma-separated list of items>
  • -n, --include_envs <comma-separated list of items>
  • -e, --exclusion_envs <רשימת פריטים מופרדים בפסיקים>

לדוגמה, כדי לציין רק את הארגונים והסביבות בסביבת הייצור, משתמשים באפשרויות -i (או -include_orgs) ו--n (או -include_envs):

>  /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

בדוגמה הזו אוספים נתונים רק מסביבת ה-prod של myOrg.

כדי להציג את הנתונים במסך ולבדוק אותם לפני ששולחים אותם ל-Apigee, משתמשים באפשרות -S:

>  /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

האפשרות -S משמיטה את העלאת הנתונים ל-Apigee. לאחר מכן, אפשר להריץ מחדש את הפקודה בלי האפשרות -S כדי לשלוח את הנתונים אל Apigee.

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

>  /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

צריך לכלול את האפשרות -v כדי לקבל פלט מפורט, ואת האפשרות -R כדי לראות את פקודות ה-curl שנוצרו על ידי apigee-analytics-collector:

 >  /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

הקטע הבא מכיל רשימה מלאה של אפשרויות שורת הפקודה.

פרמטרים של פקודה

בטבלה הבאה מפורטות כל האפשרויות של הכלי apigee-analytics-collector:

Command

שימוש

-h,‏ --help

פרטי השימוש בפלט

-D, --מאפיין <dimension>

מאפיין התנועה שרוצים לאסוף. מאפיינים חוקיים: apiproducts, devs, apps, apiproxy (ברירת מחדל)

-d, --days <days>

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

אם מציינים את הפרמטר -d, לא צריך לציין גם את הפרמטרים -s ו--z כדי להגדיר טווח זמן.

-m, --apigee_mgmt_api_uri &lt;apigee_mgmt_api_uri&gt;

כתובת ה-URL של ה-API לניהול של Edge.

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

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

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

הסיסמה שמשויכת לחשבון האימייל של ממשק ה-API לניהול של Edge שצוין באמצעות -u.

-i, --include_orgs <items>

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

-x, --exclude_orgs <items>

רשימה מופרדת בפסיקים של ארגונים להחרגה מהפלט.

-n, --include_envs <items>

רשימה מופרדת בפסיקים של סביבות שרוצים לכלול בפלט.

-e, --exclude_envs <items>

רשימה מופרדת בפסיקים של הסביבות שיש לכלול מהפלט.

-o, --output <path>

הנתיב ושם הקובץ לשמירת הפלט.

‎-s, --time_range_start <time_range_start>

טווח הזמן להפעלת השאילתה לגבי נתוני תנועה, בפורמט: '03/01/2016 00:00'.

אם אתם מציינים -d, אל תציינו גם -s ו-z כדי להגדיר את טווח הזמן.

‎-z, --time_range_end <time_range_end>

סיום טווח הזמן לשליחת שאילתות לגבי נתוני תנועה, בפורמט: '04/01/2016 24:00'.

אם מציינים את הפרמטר -d, אין לציין גם את הפרמטרים -s ו-z כדי להגדיר טווח זמן.

‎-t, --time_unit <time_unit>

יחידת הזמן של נתוני התנועה. שבוע ברירת המחדל. יחידות ברירת המחדל לפי שעה. יחידות זמן חוקיות: שנייה, דקה, שעה, יום, שבוע.

-S, --standard_output

כתבו את הפלט בטרמינל (stdout), במקום להעלות אותו ל-Apigee.

-c, --apigee_analytics_client_id <apigee_analytics_client_id>

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

-r, --apigee_analytics_secret <apigee_analytics_secret>

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

-R,‏ --include_curl_commands

כדי לנפות באגים, צריך לכלול את פקודות ה-cURL שנוצרו בפלט.

-v,‏ --verbose

הצגת פלט מפורט.

העלאה ידנית של נתונים ל-Apigee

מומלץ להתקין את הכלי apigee-analytics-collector במכונה עם גישה חיצונית לאינטרנט. לאחר מכן, הכלי apigee-analytics-collector יכול להעלות נתונים ישירות ל-Apigee.

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

אפשר להשתמש בפקודה הבאה של cURL כדי לאסוף נתוני תנועה של ארגון וסביבה ספציפיים בפרק זמן מסוים:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://<ms_IP>:8080/v1/organizations/{org_name}/environments/{env_name}/stats/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

בפקודה הזו נעשה שימוש ב-API של Edge Get API message count. בפקודה הזו:

  • apigee_mgmt_api_email:apigee_mgmt_api_password מציינת את כתובת האימייל של חשבון שיש לו גישה לממשקי ה-API של Edge‏ /stats.
  • ‎<ms_IP> היא כתובת ה-IP או שם ה-DNS של שרת הניהול של Edge.
  • {org_name} ו-{env_name} מציינים את הארגון והסביבה.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM מציין את טווח הזמן של הנתונים הסטטיסטיים שיאספו. שימו לב שבפקודת cURL נעשה שימוש בקוד הקסדצימלי %20 עבור הרווחים בטווח הזמן.

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

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"

אמורה להופיע תגובה בפורמט הבא:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values" : [ "42.0" ]
    } ],
    "name" : "prod"
  } ],
  "metaData" : {
    "errors" : [ ],
    "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ]
  }
}

כדי להעלות את הנתונים ל-Apigee ממכונה עם גישה לאינטרנט, משתמשים בפקודת cURL הבאה:

curl -X POST -H 'Content-Type:application/json' \
-u apigee_analytics_client_id:apigee_analytics_secret \
https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/{org_name}/apis -d '{"environments"...}'

כאשר:

  • apigee_analytics_client_id:apigee_analytics_secret מציינים את פרטי הכניסה להעלאת נתונים ל-Apigee, שקיבלתם מצוות התמיכה של Apigee.
  • {org_name} מציין את הארגון.
  • {"Environments"...} מכיל את התוצאות של פקודת ה-cURL שבה השתמשתם כדי לאסוף נתונים סטטיסטיים למעלה.