Edge for Private Cloud v4.18.01
כל הלקוחות של Edge for Private Cloud נדרשים לשלוח ל-Apigee נתונים סטטיסטיים על תנועת הנתונים בשרתי proxy ל-API. אנחנו ממליצים ללקוחות להעלות את המידע הזה פעם ביום, למשל באמצעות יצירת משימת 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 Management Server. אפשר להתקין אותו ישירות בשרת הניהול, בצומת אחר של התקנת Edge או בצומת נפרד, כל עוד הצומת הזה יכול לשלוח בקשות API לשרת הניהול.
דרישות לגבי גישה לאינטרנט
מתקינים את הכלי apigee-analytics-collector במכונה עם גישה לאינטרנט חיצונית. לאחר מכן, הכלי apigee-analytics-collector יכול להעלות נתונים ישירות ל-Apigee.
אם אין צומת עם גישה ל-Edge management API ב-Edge Management Server ועם גישה חיצונית לאינטרנט, אתם יכולים להשתמש ב-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 ומגדירים את המשתמש, אפשר לבדוק את הכלי על ידי הפעלת פקודת העזרה של הכלי 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 של Edge /stats. בדרך כלל זו תהיה כתובת האימייל של מנהל המערכת של Edge, או כתובת האימייל של מנהל חשבון ארגוני של הארגונים בסביבת הייצור.
- apigee_mgmt_api_password: הסיסמה ב-Edge לחשבון שצוין ב-apigee_mgmt_api_email.
- apigee_analytics_client_id ו-apigee_analytics_secret: פרטי הכניסה שלכם להעלאת נתונים ל-Apigee. כדי לקבל את apigee_analytics_client_id ואת apigee_analytics_secret, צריך לשלוח כרטיס תמיכה לתמיכה של Apigee.
פקודות לדוגמה
למטה מוצגת פקודה לדוגמה לאחזור נתוני תנועה לכל הארגונים והסביבות בהתקנת 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 <רשימה מופרדת בפסיקים של פריטים>
- -x, --exclude_orgs <רשימה מופרדת בפסיקים של פריטים>
- -n, --include_envs <רשימה מופרדת בפסיקים של פריטים>
- -e, --exclude_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
בדוגמה הזו, אתם אוספים נתונים רק מסביבת הייצור של 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 מאפשרת להציג נתונים על מוצרי API, מפתחים, אפליקציות או שרתי 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, וכדי לראות את פקודות ה-curl שנוצרו על ידי apigee-analytics-collector, צריך לכלול את האפשרות -R:
> /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 <dimension> |
מאפיין התנועה שרוצים לאסוף. מאפיינים תקינים: apiproducts, devs, apps, apiproxy (ברירת המחדל) |
|
-d, --days <days> |
מספר הימים האחרונים, החל מהתאריך הנוכחי, שמהם ייאספו נתונים. ערך ברירת המחדל הוא 3. אם מציינים את -d, לא מציינים גם את -s ואת -z כדי להגדיר טווח זמן. |
|
-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri> |
כתובת ה-URL של ממשק ה-API לניהול של Edge. |
|
-u, --apigee_mgmt_api_email <apigee_mgmt_api_email> |
כתובת האימייל של חשבון עם גישה לממשקי ה-API של Edge /stats. בדרך כלל זו תהיה כתובת האימייל של מנהל המערכת של Edge, או כתובת האימייל של מנהל הארגון של הארגונים בסביבת הייצור. |
|
-p, --apigee_mgmt_api_password <apigee_mgmt_api_password> |
הסיסמה שמשויכת לחשבון האימייל של Edge management API שצוין באמצעות -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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"הפקודה הזו משתמשת ב-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} מציינים את הארגון והסביבה.
- apiproxy הוא המאפיין שמקבץ מדדים לפי שרתי proxy ל-API.
- MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour מציין את טווח התאריכים מחולק ליחידות זמן של המדדים שצריך לאסוף. שימו לב שפקודת ה-cURL משתמשת בקוד ההקסדצימלי
%20לרווחים בטווח התאריכים.
לדוגמה, כדי לאסוף את מספר ההודעות של שרת proxy ל-API מדי שעה במשך 24 שעות, משתמשים ב קריאה הבאה ל-Management API. הפרמטר timeRange מכיל תווים בקידוד URL.
curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \ "http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00"
אתם אמורים לראות תגובה בפורמט הבא:
{
"environments" : [ {
"metrics" : [ {
"name" : "sum(message_count)",
"values": [
{
"timestamp": 1514847600000,
"value": "35.0"
},
{
"timestamp": 1514844000000,
"value": "19.0"
},
{
"timestamp": 1514840400000,
"value": "58.0"
},
{
"timestamp": 1514836800000,
"value": "28.0"
},
{
"timestamp": 1514833200000,
"value": "29.0"
},
{
"timestamp": 1514829600000,
"value": "33.0"
},
{
"timestamp": 1514826000000,
"value": "26.0"
},
{
"timestamp": 1514822400000,
"value": "57.0"
},
{
"timestamp": 1514818800000,
"value": "41.0"
},
{
"timestamp": 1514815200000,
"value": "27.0"
},
{
"timestamp": 1514811600000,
"value": "47.0"
},
{
"timestamp": 1514808000000,
"value": "66.0"
},
{
"timestamp": 1514804400000,
"value": "50.0"
},
{
"timestamp": 1514800800000,
"value": "41.0"
},
{
"timestamp": 1514797200000,
"value": "49.0"
},
{
"timestamp": 1514793600000,
"value": "35.0"
},
{
"timestamp": 1514790000000,
"value": "89.0"
},
{
"timestamp": 1514786400000,
"value": "42.0"
},
{
"timestamp": 1514782800000,
"value": "47.0"
},
{
"timestamp": 1514779200000,
"value": "21.0"
},
{
"timestamp": 1514775600000,
"value": "27.0"
},
{
"timestamp": 1514772000000,
"value": "20.0"
},
{
"timestamp": 1514768400000,
"value": "12.0"
},
{
"timestamp": 1514764800000,
"value": "7.0"
}
]
}
],
"name" : "proxy1"
} ],
"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 שבה השתמשתם כדי לאסוף את הנתונים הסטטיסטיים שלמעלה.