שליחת נתונים סטטיסטיים של תנועה ב-API אל Apigee

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

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

שליחת הנתונים הסטטיסטיים של תנועת ה-API אל Apigee

כדי לשלוח את הנתונים הסטטיסטיים ל-Apigee:

  1. לאסוף את הנתונים באמצעות Edge management API.
  2. שליחת הנתונים באימייל לכתובת: 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"

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

  • apigee_mgmt_api_email:apigee_mgmt_api_password מציין את הערך כתובת האימייל של חשבון עם גישה לממשק ה-API של Edge /stats.
  • ms_IP הוא כתובת ה-IP או שם ה-DNS של הקצה שרת ניהול.
  • 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" ]
  }
}