ביצועים בזמן אמת עם 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

clip_image032

ארכיטקטורה

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

רכיבים

  • 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.

clip_image002
מתוך אתר 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

clip_image003

clip_image004

clip_image005

clip_image006

clip_image007

clip_image008

clip_image009

clip_image010

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

clip_image011

clip_image012

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

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

clip_image013

clip_image014

clip_image015

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

clip_image016

clip_image017

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

clip_image018

clip_image019

clip_image020

שלב 4 – התקנת Agent

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

clip_image021

clip_image022

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

clip_image023

clip_image024

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

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

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

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

clip_image025

clip_image028

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

clip_image026

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

clip_image029

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

בסיום נבצע פעולה נוספת שתגדיר את כל השרתים שיש לנו באותו 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)

clip_image031

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

clip_image032

clip_image033

clip_image034

ביצועים בזמן אמת עם 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

clip_image032

ארכיטקטורה

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

רכיבים

  • 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.

clip_image002
מתוך אתר 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

clip_image003

clip_image004

clip_image005

clip_image006

clip_image007

clip_image008

clip_image009

clip_image010

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

clip_image011

clip_image012

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

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

clip_image013

clip_image014

clip_image015

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

clip_image016

clip_image017

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

clip_image018

clip_image019

clip_image020

שלב 4 – התקנת Agent

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

clip_image021

clip_image022

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

clip_image023

clip_image024

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

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

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

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

clip_image025

clip_image028

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

clip_image026

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

clip_image029

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

בסיום נבצע פעולה נוספת שתגדיר את כל השרתים שיש לנו באותו 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)

clip_image031

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

clip_image032

clip_image033

clip_image034

You may also like...

השאר תגובה