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

כל לקוחות Edge for Private Cloud נדרשים לשלוח ל-Apigee נתונים סטטיסטיים לגבי התנועה בשרת proxy ל-API. 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"

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

  • השדה 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" ]
  }
}