Microsoft Exchange Server ‘in çok fazla görevi olsa bile en temel amacı e-posta göndermek ve almaktır. Microsoft Exchange Server Role Konsolidasyon Sürecini tamamlamış ve sürekli olarak iyileşme ve günümüz iş ihtiyaçlarına cevap vermek üzere yenilenmektedir.

Geçirmiş olduğu bu süreçte E-posta alma ve e-posta gönderme süreçlerinde de bir çok değişiklik olmuştur. Exchange Server ‘in eski sürümlerinde e-posta alma ve gönderme güvenliği üçüncü taraf firmalara devredilirken artık bu iş gücünü Microsoft firması da yapmaya başlamış durumdadır. Microsoft Exchange Edge Role ile tanışmış olduğumuz günden beri Microsoft firması e-posta güvenliğinden de sorumlu olmuştur.

Bu makale konumuz Microsoft Exchange Server Transport Queue Length Counters değerleri. Yani bir Exchange Server Organizasyonunda bir e-posta gönderme ve alma işlemlerinde ki eşik değerlerimiz nelerdir. E-posta alma ve gönderme işlemleri ne kadar geç gidebilir, bir problem anında Microsoft Exchange Server Transport kuyruğunda bekleyen ileti sayısı ve boyutu ne olmalıdır, kaç dakika, kaç saat yada kaç gün e-posta trafiğinde ki probleme dayanabiliriz. Bu ve bunun gibi değerlerin eşik değerleri nedir, ne olmalıdır ve Microsoft Exchange Server Transport Queue değerlerini nasıl izleyebiliriz sorularına bu makalemiz içinde cevap vermeye çalıştık.

Exchange Message Queue Location Change

Exchange Message Queue Location Change

Microsoft Exchange Server Queue Database Mimarisi  ve Microsoft Exchange Server Queue Database Planlaması konu başlığı ile paylaşmış olduğumuz makaleleri incelemenizi önereceğim. Microsoft Exchange Server Transport Queue için sorulacak bir çok soruya bu makaleler içinde  detaylı olarak cevaplar verdik. Her bir yapılandırma işleminin her bir Exchange Server Organizasyonuna özel olarak yapılması gerektiğini ve tek düzey yapılandırma ayarlarının her Exchange Server organizasyonlarına uyumlu olmayacağını ve problemlere neden olacağını paylaşmıştık.

Yapılacak olan her bir işlem #Exchange Server Optimization işlemidir ve bu optimizasyon ve ince ayar çalışmaları kuruma özel olarak yapılandırılmalıdır.

1. Microsoft Exchange Server Transport Queue Length Counters

Microsoft Exchange Server Transport Queue Length Counters değerleri her bir Exchange server üzerinde bulunan kuyruk değerlerini bizlere söylemektedir. Bu değerler, Exchange organizasyon içinde ve dışında bulunan ve iletilen, iletilmek için bekleyen iletiler hakkında değerler vermektedir. Bir e-postanın gecikme nedenlerini, geç gönderilme ve gelme nedenlerini bu eşik değerleri ile gözlemleyebilir ve problemleri anlamlandırabiliriz.

Microsoft Exchange Server Transport Queue Length Counters değerleri için Exchange Server Transport Database ‘nin barınmış olduğu yer de çok önemlidir. Yavaş bir disk üzerinde barınması her zaman için problemlere neden olacaktır ve bu sebeple Exchange Server Transport Queue Length Counters değerlerini her zaman için barınmış olduğu disk üzerinde ki Logical Disk Average Performance değerleri ile bir incelemeliyiz.

Exchange Message Queue Mimarisi

Exchange Message Queue Mimarisi

Microsoft Exchange Server Role Konsolidasyon Süreci tamamlandıktan sonra izlenmesi gerekli olan bir den fazla eşik değeri bulunmaktadır. Exchange Server Organizasyon içinde tek bir Send Connector yada tek bir Receive Connector tanımlamış olsak bile bir ileti gönderilirken yada alınırken farklı servisler üzerinden işlenmektedir.

E-posta ‘nın kurum içinde mi alındı yada gönderildi, kurum dışından mı alındı yada gönderildi, e-posta alma ve gönderme işlemlerinde üçüncü Taraf bir SMTP Gateway kullanıldı mı yoksa Microsoft Edge Server üzerinden mi bu işlemler yapıldı, bir ileti gönderildi fakat alıcı Domain yada alıcı kullanıcı da hata var ve çok daha fazla sebep ve senaryo olduğu için bir den fazla eşik ve izleme sayacı bulunmaktadır.

Microsoft Exchange Server üzerinde ki Transport Queue Length Counters değerleri aşağıda sıralanmıştır.

  • \MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues) Microsoft Exchange server üzerinde bütün kuyruklarda bulunan ve teslim edilmek üzere kuyruğa alınan e-posta sayısını gösterir. Burada ki değer Transport Queue Length Counters Performans sayfasında en iyi değer için 3,000 az olması gerektiği en kötü değer için de 5,000 ve üzeri olması gerektiği belirtilmektedir. Bu sayıların bekleyen e-postalar olduğunu düşünürsek bu eşik değerlerinin her bir Exchange organizasyonuna göre kendi için de belirlenmesi gerektiğini önermekteyiz.
  • \MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length Microsoft Exchange server üzerinde Active Remote Delivery Queue ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 250 ‘den az olması önerilmektedir.
  • \MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length Microsoft Exchange server üzerinde Active Mailbox Delivery Queue ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 250 ‘den az olması önerilmektedir.
  • \MSExchangeTransport Queues(_total)\Submission Queue Length Microsoft Exchange server üzerinde Submission Queue ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 100 ‘den az olması önerilmektedir. Bu değer diğer Exchange Server Transport Queue değerlerine göre biraz daha hassas olup eğer bu değerler sürekli farklılık gösteriyorsa Active Directory Dizin yapısı ve Exchange server üzerinde ki diğer performans değerlerinin incelenmesi gerekmektedir.
  • \MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length Microsoft Exchange server üzerinde Active Non-Smtp Delivery Queue ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 250 ‘den az olması önerilmektedir.
  • \MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length Microsoft Exchange server üzerinde Retry Mailbox Delivery Queue Length ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 250 ‘den az olması önerilmektedir.
  • \MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length Microsoft Exchange server üzerinde Retry Non-Smtp Delivery Queue ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 250 ‘den az olması önerilmektedir.
  • \MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length Microsoft Exchange server üzerinde Retry Remote Delivery Queue Length ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 100 ‘den az olması önerilmektedir.
  • \MSExchangeTransport Queues(_total)\Unreachable Queue Length Microsoft Exchange server üzerinde Unreachable Queue Length ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 100 ‘den az olması önerilmektedir. Exchange Organizasyonu içinde eğer SMTP Gateway kullanılıyorsa bu eşik değeri Exchange Organizasyonuna özel olarak belirlenmelidir.
  • \MSExchangeTransport Queues(_total)\Largest Delivery Queue Length Microsoft Exchange server üzerinde Largest Delivery Queue Length ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 200 ‘den az olması önerilmektedir. Bu performans değeri Eğer Exchange Server organizasyonu için de Exchange Edge Rol kullanılıyorsa Edge Server ile birlikte incelenmelidir. Eğer Microsoft Edge Server haricinde üçüncü taraf bir SMTP Gateway kullanılıyorsa bu eşik değerinin değeri kullanılmakta olan SMTP Gateway ile birlikte incelenmelidir.
  • \MSExchangeTransport Queues(_total)\Poison Queue Length Microsoft Exchange server üzerinde Poison Queue Length ‘ de bulunan e-postaların sayısını gösterir. Bu değerin her zaman için 0 evet sıfır olması önerilmektedir

2. Azure Monitor ile Microsoft Exchange Server Transport Queue izleme

Microsoft Exchange Server Transport Queue değerlerini izleme, eşik değerlerini görmek için #Azure Monitor kullanılabilmektedir. Azure Monitor ile bu değerleri incelemek için bir takım ön gereksinimler vardır ve bu ön gereksinimleri sırası ile aşağıda paylaşmaktayım.

  1. Azure Log Analytics Workspace Oluşturma işleminin Azure Tenant üzerinde yapılmış olması gerekmekte.
  2. Oluşturulan Azure Log Analytics Workspace üzerinde Azure Log Analytics Workspace Agents Configuration işlemlerinin tamamlanmış olması ve Azure Log Analytics Advanced settings bölümünde Microsoft Exchange Server Transport Queue değerlerinin tanımlanması gerekmektedir. Bunlar özel sorgular olduğu için bu sorguları istediğimizi Azure Monitor aracına öğretmemiz gerekmektedir.
  3. Exchange Server Organizasyonu içinde bulunan her bir Microsoft Exchange Server üzerine ve Exchange Server ‘in kullanmış olduğu Domain Controller sunucularına Azure Monitoring Agent Kurulum Adımları ‘nın tamamlanmış olması gerekmekte.
  4. Exchange Server Organizasyonu içinde bulunan her bir Microsoft Exchange Server üzerinde Exchange Server Diagnostics ve Health Manager Mimarisi ‘nin yapılandırılmış olması gerekmekte.
  5. Azure Monitor ile talep edilen sorguların sağlıklı olması için Exchange Server Daily Performance Logs Dizini Değiştirme işlemlerinin tamamlanmış olması gerekmekte.
  6. Azure Monitor ile talep edilen sorguların var olması dolayısı ile Exchange Server Log ve ETL Files Temizleme işleminin sorgu zamanları için hazır olması gerekmekte.

Yukarıda paylaşılan 6 temel gereksinim tamamlandıktan sonra Azure Monitor ile Microsoft Exchange Server Transport Queue değerlerini sorgulayabiliriz.

3. Microsoft Exchange Server Transport Queue Query

Azure Monitor için paylaşmış olduğum aşağıda ki Azure Monitor Microsoft Exchange Server Transport Queue sorguları son 12 saat içinde ki sorguları her 1 dakika aralıklarla çalıştırmak üzere paylaşılmıştır.

Bu sorguları ihtiyaçlarınız çerçevesinde özelleştirebilirsiniz.

3.1 MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Active Mailbox Delivery Queue Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Active Mailbox Delivery Queue

MSExchangeTransport Queues Active Mailbox Delivery Queue

3.2 MSExchangeTransport Queues(_total)\Submission Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Submission Queue Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Submission Queue Length

MSExchangeTransport Queues Submission Queue Length

3.3 MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Active Non-Smtp Delivery Queue e Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Active Non-Smtp Delivery Queue Length

MSExchangeTransport Queues Active Non-Smtp Delivery Queue Length

3.4 MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Retry Mailbox Delivery Queue Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Retry Mailbox Delivery Queue Length

MSExchangeTransport Queues Retry Mailbox Delivery Queue Length

3.5 MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Retry Non-Smtp Delivery Queue Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Retry Non-Smtp Delivery Queue Length

MSExchangeTransport Queues Retry Non-Smtp Delivery Queue Length

3.6 MSExchangeTransport Queues(_total)\Unreachable Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Unreachable Queue Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Unreachable Queue Length

MSExchangeTransport Queues Unreachable Queue Length

3.7 MSExchangeTransport Queues(_total)\Poison Queue Length

Aşağıda paylaşmış olduğum Azure Monitor Query ile Exchange Server üzerinde bulunan her bir Exchange Server için Poison Queue Length değerlerini görebilirsiniz.

Azure Monitor Query 1 Dakika içinde çalıştırılmak üzere hazırlanmıştır.

MSExchangeTransport Queues Poison Queue Length

MSExchangeTransport Queues Poison Queue Length