פרטים למעקב

Edge for Private Cloud בגרסה 4.17.09

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

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

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

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

רכיב

בדיקות מערכת

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

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

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

ספציפי לרכיב

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

שרת ניהול

?

?

?

מעבד בקשות

?

?

?

?

שרת Qpid

?

?

?

שרת Postgres

?

?

?

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

Apache Cassandra

?

?

שומר בגן החיות אפאצ'י

?

?

OpenLDAP

?

?

מסד נתונים של PostgreSQL

?

?

Qpid

?

?

נתב Nginx

?

?

?

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

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

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

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

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

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

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

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