Exchange Server Health Check

MS Exchange Server Health Check Scripti, performans sorunlarını, yapılandırma hatalarını, sistem işleyişini bozabilecek unsurları ve basit bir yapılandırma değişikliği sonucu oluşabilecek uzun süreli kesintileri tespit etmemize yardımcı olur.

Bu script, Exchange Server ortamınızın güncel durumunu detaylı bir şekilde kontrol etme imkanı sunar.

Exchange Server Health Check Tanımı ve İndirme

Eğer ortamınızda DAG yapılandırması yapmayı planlıyorsanız veya yeni bir Cluster eklemeyi düşünüyorsanız, bu işlemlere başlamadan önce mevcut ortamınızın sağlık durumunu Microsoft’un hazırlamış olduğu Exchange Server Health Check scripti ile değerlendirmeniz faydalı olacaktır.

Exchange Server Health Check Scripti, Microsoft tarafından %100 PowerShell tabanlı olarak geliştirilmiş olup, düzenli olarak güncellenmektedir. Scriptle ilgili geri bildirimlerinizi [email protected] adresine iletebilirsiniz.

Scripti indirmek için aşağıdaki linki kullanabilirsiniz:

Exchange Server Health Check Ön Gereksinimleri

Exchange Server Health Check Scriptini çalıştırabilmek için ilgili kullanıcı hesabının aşağıdaki yetkilere sahip olması gerekmektedir:

  • Organization Management
  • Domain Admins

Exchange Server Health Check Kullanımı

Exchange Server Health Check Scriptini çalıştırdığınız zaman, Scriptin bulunduğu klasör içerisinde 2 farklı türde dosya oluşmaktadır,

  • .txt dosyası: PowerShell penceresindeki çıktının metin olarak kaydedildiği dosya.
  • .xml dosyası: Raporun daha detaylı incelenebilmesi için oluşturulan dosya.

Exchange Server Health Check Scripti XML’den HTML Çevirme

Oluşturulan .xml raporunu .html formatına dönüştürebilirsiniz. Bunu yapmak için aşağıdaki komutu kullanabilirsiniz:

.\HealthChecker.ps1 -BuildHtmlServersReport -HtmlReportFile "CP-2019Report.html"

Rapor .html formatına dönüştürüldüğünde, bazı satırlar veya sütunlar renkli olarak görüntülenebilir. Bu renklendirme, hangi alanlara dikkat etmeniz gerektiğini kolaylaştırır.

Exchange Server Health Check HTML Raporu Renk Bilgisi

Rapor incelemesi sırasında dört farklı renk kullanılır:

  • Gri: Bilgilendirme amacı taşır.
  • Sarı: Uyarı verir, dikkatli olunmasını gerektirir.
  • Kırmızı: Performans sorunlarına yol açabilir.
  • Yeşil: Her şeyin düzgün ve stabil olduğunu gösterir.

Sunucu hakkında detaylı bilgilere rapordan ulaşabilirsiniz.

Exchange Server 2019 için önerilen 128GB RAM miktarı altında bir yapılandırma uyarısı alabilirsiniz. Aşağıdaki görselde Physical Memory bölümünde 128GB ram olmadığı için Sarı renkte uyarı verilmemektedir.

Exchange Server’ın çalıştığı sunucuda Power Plan High Performance seçeneği belirlenmemişse, Health Check raporu bu durumu kırmızı olarak işaretlemektedir. Aynı şekilde, PageFile düzgün bir şekilde yapılandırılmamışsa, bu da raporda kırmızı olarak gösterilir.

Aşağıdaki görselde, Power Plan’ın Exchange Server için High Performance olarak ayarlandığı görülebilir ve bu durum raporda yeşil renkle belirtilmiştir, bu da her şeyin normal ve stabil olduğunu gösterir. Ancak PageFile yapılandırması yapılmamış ve bu durum raporda kırmızı ile işaretlenmiştir, bu da ilgili yapılandırmanın yapılması gerektiğini gösterir. Bu raporlar, sunucu yapılandırmanızda düzeltmeler yapmanız gerektiğinde size yol gösterir ve olası performans sorunlarını önlemenize yardımcı olur.

Mevcut Exchange Sunucunuz için rapor almak oldukça basittir. Yapmanız gereken sadece scripti özel bir bileşen belirtmeden çalıştırmaktır. Bu işlem, size bir .txt dosyası ve bir XML raporu sağlayacaktır:

.\HealthChecker.ps1

Eğer ortamınızda bulunan başka bir Exchange Server için Health Check raporu oluşturmak istiyorsanız, aşağıdaki komutu kullanabilirsiniz:

.\HealthChecker.ps1 -Server <Server Adı>

Tüm Exchange Server sunucularınızın raporlarını XML formatında aldıysanız ve bu raporları script dosyasının bulunduğu klasörde topladıysanız, bu dosyaları birleştirerek bir HTML raporu oluşturabilirsiniz:

.\HealthChecker.ps1 -BuildHtmlServersReport

Eğer tüm Exchange Server sunucularınızın XML raporlarını script dosyasının bulunmadığı başka bir klasöre topladıysanız, belirttiğiniz klasördeki XML dosyalarını HTML formatına dönüştürmek için aşağıdaki komutu kullanabilirsiniz:

.\HealthChecker.ps1 -BuildHtmlServersReport -XMLDirectoryPath C:\XMLReport

Tüm Exchange Server sunucularınızın Health Check raporlarını almak ve bunları HTML formatında incelemek istiyorsanız aşağıdaki komut setini kullanabilirsiniz:

Get-ExchangeServer | ?{$_.AdminDisplayVersion -Match "^Version 15"} | %{.\HealthChecker.ps1 -Server $_.Name}; .\HealthChecker.ps1 -BuildHtmlServersReport; .\ExchangeAllServersReport.html

Belirli bir sunucu üzerinde Posta Kutusu Raporu almak için kullanılacak komut ise şöyledir:

.\HealthChecker.ps1 -MailboxReport -Server CP-EXC

Exchange Server Health Check scripti ile kullanılabilen diğer parametreler;

PARAMETREAÇIKLAMA
ServerKomut dosyasını çalıştırmak istediğiniz sunucuyu belirtir. Bu parametre, -BuildHTMLServersReport veya LoadBalancingReport ile birlikte kullanılmaz. Varsayılan olarak localhost üzerinde çalışır.
OutputFilePathKomut dosyası tarafından oluşturulan günlük dosyalarının kaydedileceği yolu belirtir. Varsayılan olarak geçerli dizin kullanılır.
MailboxReportBelirtilen sunucu için bir Posta Kutusu Raporu üretir. Bu, sunucudaki posta kutularının detaylı analizini sağlar.
LoadBalancingReportSunucularda yük dengeleme durumunu raporlamak için kullanılır. Bu rapor, sunucular arasındaki yükü dengelemek için önemli bilgiler sağlar.
CasServerListLoadBalancing raporu için hangi istemci erişim sunucularının dahil edileceğini belirler. Bu parametre, LoadBalancingReport anahtarıyla birlikte kullanılır.
SiteNameKomut dosyasının hangi site içindeki sunuculara karşı çalıştırılacağını belirler. Bu parametre de LoadBalancingReport ile birlikte kullanılır.
XMLDirectoryPathHTML raporu oluştururken dahil edilmesini istediğiniz HealthChecker XML dosyalarının konumunu belirtir. Varsayılan olarak geçerli dizin kullanılır.
BuildHtmlServersReportKomut dosyasını, belirtilen XMLDirectoryPath konumundaki XML dosyalarından tüm sunucular için HTML raporu oluşturacak şekilde etkinleştirir.
HtmlReportFileBuildHtmlServersReport tarafından oluşturulan HTML çıktı dosyasının adını belirtir. Varsayılan değer ExchangeAllServersReport.html‘dir.
DCCoreRatioExchange – DC/GC Çekirdek oranını toplar ve sonuçları komut dosyasının çalıştığı geçerli sitede görüntüler.
AnalyzeDataOnlyMevcut HealthChecker XML dosyalarını analiz eder. Sonuçlar ekranda görüntülenir ve bir HTML raporu oluşturulur.
SkipVersionCheckBu anahtar kullanıldığında sürüm denetimi yapılmaz. Bu, belirli bir sürümün zorunlu olmadığı durumlar için yararlıdır.
SaveDebugLogKomut dosyasının hata ayıklama günlüğünü, komut dosyası başarılı bir şekilde çalıştırılsa bile kaydeder.
ScriptUpdateOnlyKomut dosyasının en son sürümünü denetler ve eğer daha yeni bir sürüm bulunursa otomatik olarak güncelleştirir. İnternet bağlantısı olan herhangi bir bilgisayarda çalıştırılabilir. Yükseltilmiş izinler veya Exchange Management Shell (EMS) gerekmez.

Exchange Server Health Check Raporunda Önemli Bölümler

Exchange Server ortamınızı analiz etmek için kullanılan Health Check Scripti, çeşitli önemli ayarları kontrol eder ve potansiyel sorunları belirler. İşte bu raporda özellikle dikkat edilmesi gereken önemli bölümler:

TCP/IP Settings Check

  • KeepAliveTime varsayılan değeri 2 saat olarak ayarlanmıştır. Microsoft, bu değerin daha düşük bir süreye (15 veya 30 dakika önerilir) ayarlanmasını önermektedir. Yanlış ayarlanmış bir KeepAliveTime, bağlantı ve performans sorunlarına yol açabilir. Özellikle yük dengeleme senaryolarında bu önemlidir. Sunucularınızın bu değeri tutarlı şekilde ayarlamak için PowerShell komutları kullanılabilir.

Exchange Server TCP Keep Alive Time – Cengiz YILMAZ

NET Framework Check

  • Exchange Server için kritik öneme sahip olan .NET Framework, kurulu sürümlere bağlı olarak değişiklik gösterebilir. Health Check raporu, sunucularınızda yüklü olan .NET Framework sürümlerini kontrol eder. Örneğin, Windows Server 2022 üzerinde çalışan Exchange Server 2019’da .NET Framework 4.8 yüklü olup, bu durum sorunsuz olarak yeşil olarak işaretlenir.

TLS Yapılandırması Kontrolü:

  • Sunucularınızın TLS yapılandırması, güvenlik ve bağlantı açısından hayati önem taşır. TLS 1.0 ve 1.2 arasındaki uyumsuzluklar, bağlantı ve güvenlik sorunlarına neden olabilir. Ayrıca, Free/Busy bilgilerinin doğru çalışmamasına da yol açabilir. .NET Framework ve Windows Schannel ile ilgili DisabledByDefault değerlerinin düzgün bir şekilde yapılandırılması gerekir.

Exchange Server TLS Yapılandırılması – Cengiz YILMAZ

Open Relay Alanı Kontrolü:

  • Eğer ortamınızda Open Relay ayarlı ise, bu durum güvenlik riskleri oluşturabilir ve raporda kırmızı olarak işaretlenir.

Sleepy NIC Kontrolü:

  • Network Interface Card (NIC) ayarlarında enerji yönetimi, paket kaybına neden olabileceğinden devre dışı bırakılması önerilir. Gerçek sunucu ortamlarında bu ayar, sunucunun aktive edilmeden önce yapılması gereken standart ayarlardan biridir.

Bu raporlar, sunucularınızın sağlığını ve performansını optimize etmek için değerli bilgiler sunar. Belirtilen önerilere uyarak, sisteminizin güvenli ve verimli bir şekilde çalışmasını sağlayabilirsiniz.

Yorum yapın