על מה לעקוב?

Edge for Private Cloud גרסה 4.18.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) שהמערכת משתמשת בו.
  • זיכרון פנוי/משומש: ההגדרה קובעת את השימוש בזיכרון המערכת כבייטים. לדוגמה, הזיכרון הפיזי שבו המערכת משתמשת.
  • שימוש בשטח הדיסק: מציין את המידע של מערכת הקבצים על סמך השימוש הנוכחי בכונן. לדוגמה, נפח אחסון בכונן הקשיח שמשמש את המערכת.
  • ממוצע עומס: מציין את מספר התהליכים שממתינים להרצה.
  • סטטיסטיקות רשת: חבילות רשת ו/או בייטים ששודרו והתקבלו, יחד עם שגיאות ההעברה של הרכיב שצוין.

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

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

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

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

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

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

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

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