ביצועים בזמן אמת עם StatMan בשרתי Skype for Business

אם אתה אחראי על תחום Lync\Skype for Business בארגון שלך המאמר הבא יעזור לך לעקוב אחר ביצועי השרתים בסביבה שלך ולקבל תמונת מצב עדכנית.

בתקופה האחרונה יצא כלי רשמי לשרתי Skype for Business שמציג את ביצועי המערכת ומאפשר לדגום בזמן אמת: עומסי שרת, כמויות של העברת מסרים, בעיות במשאבי מערכת ועוד.
עד לפרסום הכלי עבדנו עם כלים וממשקים אחרים, כגון: Perfmon, Lync Monitor, KHI Counters ועוד רבים וטובים שנתנו לנו מידע אך עדיין לא כלי גרפי שהציג את הרכיבים החשובים בזמן אמת.

כיום יש לנו כלי שנקרא Skype for Business Server Real-Time Statistics Manager או בקצרה StatMan, הכלי מציג לנו ביצועים וכן בריאות מערכת בזמן אמת בסביבת השרתים שלנו. בממשק החדש ניתן להציג בין היתר את האפשרויות הבאות:

  • כמות משתמשים שהתחברו
  • העברת מסרים בין משתמשים
  • הצגת כמויות משתמשים שעובדים מול רכיבי MCU
  • שרתים עם בעיות משאבים
  • מצב בריאות המערכת
  • ממשקים לפי אתרים, שרתים או Pool
  • השוואת נתונים/מידע בין שרתים שונים
  • הצגת מדדים לכל Counter

ארכיטקטורה

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

רכיבים

  • Redis – רכיב מבוסס קוד פתוח אשר שומר את כל המידע אל הזיכרון בתבנית של מאגר ומבנה נתונים ממש כמו בסיס נתונים רגיל. צורת העבודה של מבנה הנתונים מאפשרת לו לשמור נתונים מסוג: strings, hash, lists, sets ועוד.
  • המידע שנאסף נשמר אל תוך הזיכרון בלבד ואינו נשמר או מאוחסן מקומית בשרת בצורה כלשהיא, המידע לאחר מכן מוצג בממשק.
  • Agent – רכיב שמותקן על כל שרת שמבצעים עליו ניטור ואיסוף מידע, כל המידע שנאסף נשלח את השרת הראשי
  • Listener – הרכיב שמקבל ואוסף כת כל המידע מתוך השרתים שמותקן עליהם Agent
  • Web – הרכיב שמאפשר את הצגת כל המידע והנתונים שנאספו מתוך השרתים
  • HUB – רץ ביחד עם רכיבWeb ומאפשר Client API מול השרתים שמותקנים עם Agent ונותן לנו מידע בזמן אמת

היישום שונה בין שרת אחד או כמה שרתי Skype for Business ובסביבה של מספר שרתים אנו מגדירים רק שרת אחד שמבצע את כל איסוף המידע והצגה של המידע (HUB\WEB) ובשאר השרתים מותקן רק Agent.

בתצורה כזאת אנו מתקינים Agent על שרת שאנו רוצים לקבל ממנו מידע, כולל שרתים שמוגדרים עם תפקידים על שרת ייעודי, כגון: Mediation, Monitor, Edge.

הערה: ניתן להגדיר בנוסף שרתי דואר ולאסוף מידע שיוצג בממשק StatMan.


מתוך אתר TechNet

אבטחת מידע

הפורטים שעובדים עם הרכיבים השונים הם:

  • 8443 – פורט מול רכיב Listener שעל גביו נאסף המידע מתוך Agent אל שרת HUB
  • 8080 – פורט מול רכיב Web המאפשר הצגה של כל המידע (ניתן להחליף את הפורט)
  • 6379 – פורט לשימוש של רכיב Redis מול שרתי Listener, בד"כ רכיב Redis ורכיב Listener מותקנים על אותו שרת ולכן אין צורך לפתוח פורט בין השרתים

העברת המידע

כל המידע שעובר בין השרתים מוצפן על גבי פורט 8443, המידע שמוצפן הוא בין רכיב Agent לבין Listener.

הזיהוי בין רכיב Agent לבין רכיב Listener נעשה על גבי certificate thumbprint שמותקן על כל שרת ובין השרתים, לאחר שבוצע זיהוי נשלחת סיסמא לבצע אוטנטיקציה בכדי לאשר את הסשן בין השרתים, בסיום עובד המידע בין הרכיבים.

דרישות מערכת

ההמלצה היא שכלי StatMan יעבוד מול סביבת שרתי Windows Server 2012 R2 אך יכול לעבוד מול סביבת Windows Server 2008 R2 בנוסף.

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

  • Windows Server 2012 R2
  • IIS עם רכיבי ברירת מחדל
  • PSExec (מומלץ אך לא חובה)
  • .NET 4.5 – חובה לרכיבי HUB\Listener
  • .NET 4.0 – לרכיבי Agent

התקנה והגדרת Skype for Business Server Real-Time Statistics Manager

בכדי להתקין את הכלי Skype for Business Server Real-Time Statistics Manager צריך להוריד ולהתקין את הרכיבים והדרישות הבאות:

לאחר מכן נוודא שהדרישות הנוספות מותקנות בהתאם לדרישות המערכת המוזכרות לעיל

שלב 1 – התקנת Redis

שלב 2 – התקנת StatMan Listener

בחלון הבא יש לוודא את ההגדרות הבאות:

  • Service Password – סיסמא להזדהות בין Agent לבין Listener
  • Service Port – פורט להעברת המידע בין Agent לבין Listener, מומלץ להשאיר את הפורט ולא להחליף
  • Certificate Thumbprint – מזהה נוסף באוטנטיקציה של Agent לבין Listener

שלב 3 – התקנת רכיב Web

בחלון הבא נוודא את ההגדרה הבאה של Service Port, במידה וישנו IIS מוגדר עם פורט 80 יש להחליף את הפורט ולמנוע התנגשות עם פורט קיים.

שלב 4 – התקנת Agent

הערה: רכיב Agent מצריך התקנה והגדרה על כל שרת שממנו אנו רוצים לאסוף מידע.

בחלון הבא נוודא את ההגדרות בהתאם להגדרות Listener, חושב לשים דגש על שם שרת מלא בשדה Service URI.

שלב 5 – בדיקת התקנה

לאחר שסיימנו לבצע התקנה של כל הרכיבים נבצע מספר בדיקות:

תיקיות וקובצי Config

נוודא שהתיקיות הוגדרו ומכילות את קובצי Config עם הגדרות פורטים, Service URI וכו'.

בדיקת תקינות רכיב Listener – נוודא שרכיב Listener הותקן ללא בעיה ועונה לכתובת https://server:8443/healthcheck

בדיקת רכיב Web – נוודא שרכיב Web עובד בצורה תקינה מול כתובת http://server:8081/healthcheck

הגדרת שרתים בממשק

בסיום נבצע פעולה נוספת שתגדיר את כל השרתים שיש לנו באותו Pool ע"י הפעולות הבאות:

  1. נייצא את המידע לגבי POOL קיים באמצעות הפקודה Get-CsPool | Export-Clixml -Path PoolInfo.xml
  2. עדכון שרתים בממשק בנמצעות הפקודה .\Update-StatsManServerInfo.ps1 -CsPoolFile PoolInfo.xml (את הפקודה יש להריץ מתוך הספריה C:\Program Files\Skype for Business Server StatsMan Listener)

בסיום כל ההתקנות, הגדרות והבדיקות נוכל להיכנס לממשק StatMan ולעקוב אחר ביצועי המערכת ובריאות המערכת

מה דעתך?

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