ניטור אפליקציות באמצעות SCOM2012

12 במרץ 2012

תגיות: , ,
אין תגובות

Kobi Levy מאת: קובי לוי, קבוצת הייעוץ (MCS) מיקרוסופט ישראל

כשאנחנו מדברים על ניטור תשתיות בדרך כלל תעלה תמונה של ניטור ה"ברזלים", מערכות ההפעלה וחלק מרכיבי התשתית האפליקטיביים כמו Active directory או Exchange. עולם הניטור של הSystem Administrators יתרכז רובו בתחום התשתיתי ולא בעולם האפליקטיבי. ככל שאנחנו מתקדמים יותר בניהול התשתיות כך עולה הצורך של אנשי התשתיות ואחראי האפליקציות לקבל תמונה רחבה יותר על הקשר בין האפליקציה לתשתית.

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

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

מה חשוב לאנשי ה-IT ?

· ראיה רחבה וסטנדרטית על האפליקציות שקיימות בשרתים עליהם הם אחראים.

· מבט שיספק באופן מידי מידע לגבי בריאות התשתית והאפליקציה.

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

clip_image002

בתמונה – מצב בריאות האפליקציות

מה חשוב למפתחי האפליקציה?

אנשי הפיתוח לא יסתפקו בהסתכלות "צרה" שכזו, הם יהיו מעוניינים בראיה עמוקה יותר לגבי הבעיות שצפות. וגם פה, מה שיעניין אותם הן אותן בעיות קריטיות שמתרחשות אצל רוב המשתמשים ומפריעות לתפעולה התקין של האפליקציה.
מבחינתם זה לא יהיה יעיל לקבל קריאה על בעיה מסוימת, בדרך זו יהיה עליהם לנסות לאתר את הגורם על ידי ניתוח לוגים או שימוש ב- Profilers\Debuggers (היא כבר התרחשה, אז עכשיו צריך לנסות ותפוס אותה שוב?).

clip_image004

בתמונה – התראה המצביעה על בעיה בקוד

Application Performance Monitoring (APM) using Operations Manager 2012

השימוש ב-Operations Manager 2012 חוסך מאיתנו את הצורך בלימוד כלי חדש או בפריסה של תשתית חדשה, אנחנו מסוגלים לבצע את ניטור התשתיות והאפליקציות שלנו מאותו מקום, וחשוב יותר, באותה הדרך שאליה הורגלנו. המערכת מגיעה עם שלושה ממשקים שונים שמתאימים לצוותים השונים System Administrators, Application Owners & Application Developers.

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

חשובה עוד יותר היא ההבנה שהתהליך הזה יהיה זהה לכל אפליקציה מבוססת .Net והפעלתה תספק סט מטריצות קבועות שנאספות על כל אפליקציה ואפליקציה.

clip_image006

ניתוח ומיקוד בבעיות העיקריות באפליקציה

clip_image008

ניתוח הקשרים בין מרכיבי האפליקציה

 

אז איך זה עובד?

עם התקנתו של ה- SCOM Agent בשרת יותקן רכיב נוסף שיהיה במצב של Disabled (APM Agent), גם אם מדובר בשרת IIS שעליו אפליקציות רבות מבוססות .NET . עם הגדרת הצורך בניטור של אחת האפליקציות בשרת (שימוש ב-Wizard פשוט וקל) יועבר קובץ קונפיגורציה ל-Agent שיפעיל את הניטור.

סוגי הנתונים שנאספים מתחלקים ל-2:

Server-Side Monitoring – אחראי להקפצת אירועים הקשורים ל-Performance Events וכן ל-Exception Events

לדוגמה:

Performance Event – slow request detected -> break the SLA of the application.

Exception Events – handled or unhandled events -> .NET application critical exceptions

clip_image010

בתמונה – שגיאת .Net באפליקציה מבוססת web.

Client-Side monitoring – אחראי על איסוף הנתונים המתרחשים בצד המשתמש מרגע קבלת הבקשה ועד לרגע מתן התשובה. בדרך זו ניתן לספק נתונים על חווית המשתמש שקשורה בזמני הטעינה של דפים, זמני תגובה כתוצאה מביצועי רשת ו- client-side scripting errors.

הצעדים להשגת המטרה (5-6 צעדים פשוטים):

    1. יבא את חבילת הניטור של IIS 7 היא אחראית על גילוי האפליקציות, חכה עד שתגלה את כולן.
    2. הרץ את ה- .NET Application Performance Monitoring template ושמור את הנתונים בחבילה ייעודית. (Wizard שעוז להגדיר ניטור אפליקטיבי של אפליקציה מבוססת .Net)
    3. בחר באפליקציות אותן אתה רוצה לנטר.
    4. בחר (אופציונלי) על אילו קבוצת שרתים להריץ (יצור, טסט, QA)
    5. בחר ב-SLA הרצוי.
    6. במידה ותתבקש בצע Restart IIS או App pool Recycle.

לקריאה נוספת – http://technet.microsoft.com/en-us/library/hh543989.aspx

להתנסות – http://go.microsoft.com/?linkid=9792430

 

קובי לוי הוא ארכיטקט תשתיות בקבוצת הייעוץ (Microsoft Consulting Services – MCS) של מיקרוסופט ישראל ומתמחה במערכות שליטה, בקרה וניהול ומייעץ לפרויקטים בתחום.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *