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

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

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

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

נדרש: צריך לפנות לתמיכה של Apigee לפני העלאת הנתונים

לפני שמעלים נתונים ל-Apigee, צריך לפנות לתמיכה של Apigee Edge כדי להשלים את תהליך ההצטרפות תהליך האימות.

התקנת apigee-analytics-collector

apigee-analytics-collector היא הכנסה לאלף צפיות (RPM) שאתם מתקינים בעזרת הכלי apigee-service.

איפה להתקין

הצומת שבו מתקינים את הכלי 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 של Google. צפייה העלאת נתונים באופן ידני אל ב-Apigee אפשר למצוא עוד.

התקנה

משתמשים בפקודה הבאה כדי להתקין את כלי השירות apigee-analytics-collector. כי אתם מתקינים קובץ RPM, הפקודה הזו חייבת להיות מופעלת על ידי משתמש ברמה הבסיסית (root) או על ידי משתמש שיש לו גישת sudo מלאה. לגישת sudo מלאה, כלומר, למשתמש יש גישת sudo לביצוע פעולה זו פעולות ברמה הבסיסית (root).

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install

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

בקטע הזה מוסבר איך להפעיל את הכלי 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 הוא היציאה שבה משתמש ממשק ה-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 Edge כדי לקבל apigee_analytics_client_id וגם apigee_analytics_secret.

פקודות לדוגמה

למטה מוצגת פקודה לדוגמה לאחזור נתוני תנועה עבור כל הארגונים בהתקנת 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 comma-separated list of items
  • -x, --exclude_orgs comma-separated list of items
  • -n, --include_envs comma-separated list of items
  • -e, --exclude_envs comma-separated list of items

לדוגמה, כדי לציין רק את הארגונים והסביבות בסביבת הייצור, משתמשים -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

בדוגמה הזו, תאספו נתונים רק מסביבת prod 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 כדי לקבל פלט מפורט, והאפשרות -R כדי לראות את פקודות ה-curl שנוצרו על ידי apigee-analytics-collector:

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

פקודה תיאור
-h, --help

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

-D, --dimension dimension

מאפיין התנועה לאיסוף. הערכים החוקיים כוללים:

  • apiproducts
  • apiproxy (ברירת מחדל)
  • apps
  • devs
-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 של /stats של Edge. בדרך כלל האימייל של מנהל מערכת 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

טווח זמן להתחלת שאילתות על נתונים סטטיסטיים של תנועה, בצורה: "MM/DD/YYYY HH:MM".

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

-z, --time_range_end time_range_end

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

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

-t, --time_unit time_unit

יחידת הזמן של נתוני התנועה. ערך ברירת המחדל הוא hour. יחידות זמן חוקיות הן:

  • second
  • minute
  • hour (ברירת מחדל)
  • day
  • week

אם מגדירים את -t לערך week ואת -d לערך 365, לאחר מכן Apigee מחזירה כמות גדולה של נתונים שמקובצים ל-52 ערכים (אחד לכל שבוע).

-S, --standard_output

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

-c, --apigee_analytics_client_id apigee_analytics_client_id

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

-r, --apigee_analytics_secret apigee_analytics_secret

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

-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/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" ]
  }
}

כדי להעלות את הנתונים ל-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 שבהם השתמשתם כדי לאסוף נתונים סטטיסטיים למעלה.