פרטים למעקב

Edge for Private Cloud גרסה 4.17.05

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

כדי להקל עליך, רכיבי Apigee מסווגים בעיקר לשתי קטגוריות:

  • שירותי Java ספציפיים ל-Apigee – אלה כוללים שרת ניהול, מעבד הודעות, Qpid Server ו-Postgres Server.
  • שירותי צד שלישי – שירותים אלה כוללים Nginx Router, Apache Cassandra, Apache יפעלו Keeper, OpenLDAP, PostgreSQL מסד נתונים ו-Qpid.

בפריסה מקומית של Apigee Edge, תוכלו למצוא בטבלה הבאה מבט מהיר על הפרמטרים שאחריהם אפשר לעקוב:

רכיב

בדיקות מערכת

נתונים סטטיסטיים ברמת התהליך

בדיקות ברמת ה-API

בדיקות של זרימת הודעות

ספציפי לרכיב

שירותי Java ספציפיים ל-Apigee

שרת ניהול

?

?

?

מעבד בקשות

?

?

?

?

שרת Qpid

?

?

?

שרת Postgres

?

?

?

שירותי צד שלישי

אפאצ'י קסנדרה

?

?

גן החיות אפאצ'י

?

?

OpenLDAP

?

?

מסד נתונים PostgreSQL

?

?

QPID

?

?

נתב Nginx

?

?

?

באופן כללי, אחרי שמתקינים את Apigee Edge, אפשר לבצע את משימות המעקב הבאות כדי לעקוב אחרי הביצועים של Apigee Edge להתקנה של ענן פרטי.

בדיקות תקינות של המערכת

חשוב מאוד למדוד את הפרמטרים של תקינות המערכת, כמו ניצול המעבד (CPU), ניצול הזיכרון וקישוריות היציאה ברמה גבוהה יותר. אפשר לעקוב אחרי הפרמטרים הבאים כדי לקבל מידע בסיסי על תקינות המערכת.

  • ניצול המעבד (CPU) – מציין את הנתונים הסטטיסטיים הבסיסיים (משתמש/מערכת/IO המתנה/לא פעיל) לגבי הניצול של המעבד. לדוגמה, סך המעבד (CPU) שהמערכת משתמשת בו.
  • זיכרון פנוי/משומש – המדיניות קובעת את השימוש בזיכרון המערכת כבייטים. לדוגמה, הזיכרון הפיזי שבו המערכת משתמשת.
  • שימוש בשטח הדיסק – מפרט את המידע של מערכת הקבצים על סמך השימוש הנוכחי בכונן. לדוגמה, נפח אחסון בכונן הקשיח שמשמש את המערכת.
  • עומס ממוצע – מציין את מספר התהליכים שממתינים להרצה.
  • סטטיסטיקות רשת – חבילות רשת ו/או בייטים ששודרו והתקבלו, יחד עם שגיאות ההעברה של הרכיב שצוין.

תהליכים/בדיקות בקשה

ברמת התהליך אפשר לראות מידע חשוב על כל התהליכים שפועלים. לדוגמה, הנתונים האלה כוללים סטטיסטיקות שימוש בזיכרון ובמעבד (CPU) שבהם משתמשים תהליך או אפליקציה. עבור תהליכים כמו qpidd, postgres postmaster, java וכו', תוכלו לעקוב אחר הפרטים הבאים:

  • זיהוי תהליך: זיהוי תהליך מסוים של Apigee. לדוגמה, אפשר לעקוב אחר קיומו של תהליך Java של שרת Apigee.
  • נתונים סטטיסטיים של שרשור: הצגת הדפוסים הבסיסיים של שרשורים שמשמשים לתהליך מסוים. לדוגמה, תוכלו לעקוב אחר מספר השיא של השרשורים והמספר של השרשורים בכל התהליכים.
  • ניצול זיכרון: הצגת השימוש בזיכרון עבור כל תהליכי Apigee. לדוגמה, אפשר לעקוב אחרי הפרמטרים כמו שימוש בזיכרון ערימה (heap זיכרון) ושימוש בזיכרון שאינו ערימה (heap) שהתהליך משתמש בו.

בדיקות ברמת ה-API

ברמת ה-API, אפשר לעקוב אם השרת פועל עבור קריאות ל-API שנמצאות בשימוש נפוץ, שמועברות דרך שרת proxy על ידי Apigee. לדוגמה, אפשר לבצע בדיקת API בשרת הניהול, בנתב ובמעבד ההודעות על ידי הפעלת פקודת ה-cURL הבאה:

curl http://<host>:<port>/v1/servers/self/up

כאשר <host> הוא כתובת ה-IP של הרכיב Apigee Edge. מספר <port> ספציפי לכל רכיב Edge. לדוגמה:

שרת ניהול: 8080

  • נתב: 8081
  • מעבד הודעות: 8082
  • וכו'

בקטעים שלמטה מפורט מידע על הפעלת הפקודה הזו בכל רכיב

הקריאה הזו מחזירה את הערכים "true" ו-"false". לקבלת התוצאות הטובות ביותר, אפשר גם להנפיק קריאות ל-API ישירות בקצה העורפי (שבאמצעותו פועלת תוכנת Apigee) כדי לקבוע במהירות אם קיימת שגיאה בסביבת התוכנה Apigee או בקצה העורפי.

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

בדיקות של תהליך העברת ההודעות

אפשר לאסוף נתונים מהנתבים וממעבדי ההודעות לגבי התבנית/הנתונים הסטטיסטיים של זרימת ההודעות. כך תוכלו לעקוב אחר הפרטים הבאים:

  • מספר הלקוחות הפעילים
  • מספר התגובות (10X, 20X, 30X, 40X ו-50X)
  • כשלים בהתחברות

כך ניתן לספק מרכזי בקרה לתהליך ההודעות ב-API. למידע נוסף:

בדיקת תקינות של הנתב של מעבד ההודעות

הנתב מטמיע מנגנון לבדיקת תקינות כדי לקבוע אילו מהמעבדים של ההודעות פועלים כצפוי. אם יזוהה שמעבד ההודעות הוא איטי או איטי, הנתב יכול להוציא את מעבד ההודעות באופן אוטומטי ממצב סיבוב. במקרה כזה, הנתב יכתוב את הודעת " Mark Down" לקובץ היומן של הנתב בכתובת /opt/apigee/var/log/edge-router/logs/system.log.

אפשר לעקוב אחרי ההודעות האלה בקובץ היומן של הנתב. לדוגמה, אם הנתב יצא מהסבב של מעבד הודעות, הוא יכתוב הודעה ביומן בטופס:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

כאשר /<MP_IP>:<PORT> הוא כתובת ה-IP ומספר היציאה של מעבד ההודעות.

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

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up