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

Edge for Private Cloud גרסה 4.17.05

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

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

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

גישה לנתונים שהועלו על ידי apigee-analytics-collector

אחרי שמעלים נתונים באמצעות הכלי apigee-analytics-collector, אפשר להציג אותו ב-Apigee 360.

כדי להציג את הנתונים, צריך להתחבר ל-Apigee 360 ולבחור באפשרות Usage. הדף שימוש מציג תרשים שימוש וטבלה של נתוני שימוש לכל אחד ארגוני קצה.

התקנה של 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. צפייה העלאת נתונים באופן ידני אל ב-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 כדי לקבל 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 <רשימת פריטים המופרדים בפסיקים>
  • -x, --exclusion_orgs <רשימת פריטים המופרדים בפסיקים>
  • -n, --include_envs <רשימת פריטים המופרדים בפסיקים>
  • -e, --exclusion_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

בדוגמה הזו, תאספו נתונים רק מסביבת 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:

פקודה

שימוש

-ח, --help

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

-D, --מאפיין &lt;dimension&gt;

מאפיין התנועה לאיסוף. מאפיינים חוקיים: apiproducts, devs, apps, apiproxy (ברירת מחדל)

-d, --ימים <days>

מספר הימים האחרונים, החל מהתאריך הנוכחי, של הנתונים לאיסוף. ברירת המחדל היא 3.

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

-m, --apigee_mgmt_api_uri &lt;apigee_mgmt_api_uri&gt;

כתובת URL לממשק ה-API של ניהול Edge.

-u, --apigee_mgmt_api_email &lt;apigee_mgmt_api_email&gt;

כתובת האימייל של חשבון עם גישה לממשק ה-API של /stats Edge. לעיתים קרובות זו תהיה האימייל של מנהל מערכת Edge או האימייל של מנהל החשבון הארגוני את ארגוני ההפקה שלך.

-p, --apigee_mgmt_api_password &lt;apigee_mgmt_api_password&gt;

הסיסמה שמשויכת לחשבון האימייל של Edge management API שצוינה ב--u.

-i, --include_orgs &lt;items&gt;

רשימה מופרדת בפסיקים של ארגונים שיש לכלול בפלט.

-x, --exclusion_orgs &lt;items&gt;

רשימה מופרדת בפסיקים של ארגונים שלא ייכללו בפלט.

-n, --include_envs &lt;items&gt;

רשימה מופרדת בפסיקים של הסביבות שייכללו בפלט.

-e, --exclusion_envs &lt;items&gt;

רשימה מופרדת בפסיקים של סביבות שיש לכלול מהפלט.

-o, --output &lt;path&gt;

נתיב ושם קובץ לשמירת הפלט.

-s, --time_range_start &lt;time_range_start&gt;

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

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

-z, --time_range_end &lt;time_range_end&gt;

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

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

-t, -time_unit &lt;time_unit&gt;

יחידת הזמן של נתוני התנועה. שבוע ברירת המחדל. יחידות ברירת מחדל לפי שעה. יחידות זמן חוקיות: שניות, דקה, שעה, יום, שבוע.

-S, --standard_output

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

-c, --apigee_analytics_client_id &lt;apigee_analytics_client_id&gt;

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

-r, --apigee_analytics_secret &lt;apigee_analytics_secret&gt;

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

-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.
  • &lt;ms_IP&gt; הוא כתובת ה-IP או שם ה-DNS של Edge שרת ניהול.
  • {org_name} ו-{org_name} מציינים את בארגון ובסביבה.
  • apiproxy הוא המאפיין שמקבצים מדדים לפי שרתי proxy ל-API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&amp;timeUnit=hour מציין טווח הזמן מחולק ליחידות הזמן של המדדים שרוצים לאסוף. שימו לב שפקודת ה-cURL משתמש בקוד ההקסדצימלי %20 בשביל הרווחים בטווח הזמן.

לדוגמה, כדי לאסוף ספירות של הודעות proxy ל-API לפי שעה בפרק זמן של 24 שעות, משתמשים בפונקציה עוקבים קריאה ל-API לניהול. טווח הזמן מכיל תווים בקידודי תווים שמתאימים לכתובות 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 שבהם השתמשתם כדי לאסוף נתונים סטטיסטיים למעלה.