כל הלקוחות של Edge for Private Cloud נדרשים לשלוח ל-Apigee נתונים סטטיסטיים על תנועת הנתונים בשרתי proxy ל-API. מומלץ להעלות את המידע הזה פעם ביום, למשל באמצעות יצירת משימת cron.
אתם צריכים לשלוח את הנתונים הסטטיסטיים של פריסות ה-API בסביבת הייצור, אבל לא של ממשקי API בסביבות פיתוח או בדיקה. ברוב ההתקנות של Edge, תגדירו ארגונים או סביבות ספציפיים לממשקי ה-API בסביבת הייצור. הנתונים הסטטיסטיים שאתם שולחים מיועדים רק לארגונים ולסביבות הייצור האלה.
שליחת הנתונים הסטטיסטיים של תנועת הנתונים ב-API אל Apigee
כדי לשלוח את הנתונים הסטטיסטיים ל-Apigee:
- אוספים את הנתונים באמצעות Edge management API.
- שולחים את הנתונים באימייל לכתובת: edge.apiops@google.com
צריך לחזור על התהליך הזה בכל ארגון וסביבה בסביבת הייצור של התקנת 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 שעות, משתמשים ב קריאה ל-API הבאה.
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&timeUnit=hour"
(שימו לב ש-timeRange מכיל תווים בקידוד URL).
אתם אמורים לראות תגובה בפורמט הבא:
{
"environments" : [ {
"dimensions" : [ {
"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"
} ],
"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" ]
}
}