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

Edge for Private Cloud גרסה 4.16.09

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

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

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

למידע נוסף על תהליך העלאת נתוני תעבורת נתונים ל-Apigee, אפשר לעיין במאמר שאלות נפוצות

כדאי לצפות בסרטון קצר כדי לראות את הכלי בפעולה.

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

apigee-analytics-collector הוא מודול של Node.js שמתקינים באמצעות npm.

סוג הקיבוע דרישות

apigee-analytics-collector התשתיות דורש:

  • npm 2.x ואילך
  • Node.js 4.x.

איפה להתקין

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

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

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

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

התקנה

כדי להתקין את כלי השירות apigee-analytics-collector, משתמשים בפקודה הבאה:

> npm install apigee-analytics-collector -g

מתבצע איסוף של נתוני apigee-Analytics

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

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

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

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

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

    אם מפעילים TLS ב-Edge management API, הפורמט שלו הוא:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: כתובת האימייל של חשבון שיש לו גישה אל ממשקי API של Edge /stats. לעיתים קרובות זה יהיה כתובת האימייל של מנהל המערכת ב-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-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 <רשימת פריטים המופרדים בפסיקים>
  • -x, --exclusion_orgs <רשימת פריטים המופרדים בפסיקים>
  • -n, --include_envs <רשימת פריטים המופרדים בפסיקים>
  • -e, --exclusion_envs <רשימת פריטים המופרדים בפסיקים>

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

> 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:

> 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 מאפשרת להציג נתונים לגבי API. מוצרים, מפתחים, אפליקציות או שרתי proxy ל-API. הדוגמה הבאה משתמשת באפשרויות -D ו- -S כדי להציג נתוני מפתחים מקומית:

> 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:

 > 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-collect תוכנית שירות:

פקודה

שימוש

-ח, --help

מידע על השימוש בפלט

-D, --מאפיין &lt;dimension&gt;

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

-d, --ימים <days>

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

אם מציינים -d, צריך לא מציינים גם -s -z כדי להגדיר שעה טווח.

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

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

-u, --apigee_mgmt_api_email &lt;apigee_mgmt_api_email&gt;

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

-p, --apigee_mgmt_api_password &lt;apigee_mgmt_api_password&gt;

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

-i, --include_orgs &lt;items&gt;

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

-x, --exclusion_orgs &lt;items&gt;

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

-n, --include_envs &lt;items&gt;

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

-e, --exclusion_envs &lt;items&gt;

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

-o, --output &lt;path&gt;

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

-s, --time_range_start &lt;time_range_start&gt;

טווח זמן להתחלת שאילתות על נתונים סטטיסטיים של תנועה, בצורה: "01/03/2016 00:00".

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

-z, --time_range_end &lt;time_range_end&gt;

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

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

-t, -time_unit &lt;time_unit&gt;

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

-S, --standard_output

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

-c, --apigee_analytics_client_id &lt;apigee_analytics_client_id&gt;

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

-r, --apigee_analytics_secret &lt;apigee_analytics_secret&gt;

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

-R, --include_curl_commands

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

-v, --verbose

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

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

ההמלצה של 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"

הפקודה הזו משתמשת ב-Edge Get API לספירת הודעות. בפקודה הזו:

  • apigee_mgmt_api_email:apigee_mgmt_api_password מציין את כתובת האימייל של חשבון עם גישה לממשק ה-API של Edge /stats.
  • &lt;ms_IP&gt; הוא כתובת ה-IP או שם ה-DNS של Edge שרת ניהול.
  • {org_name} ו-{org_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 שבהם השתמשתם כדי לאסוף נתונים סטטיסטיים למעלה.