Ağ İzleyicisi ölçümlerini ve günlüklerini kullanarak bir ağda sorun giderme

Tamamlandı

Bir sorunu hızlı bir şekilde tanılamak istiyorsanız, Azure Ağ İzleyicisi günlüklerinde bulunan bilgileri anlamanız gerekir.

Mühendislik şirketinizde, çalışanlarınızın herhangi bir ağ yapılandırması sorununu tanılamak ve çözmek için gereken süreyi en aza indirmesini istiyorsunuz. Hangi günlüklerde hangi bilgilerin olduğunu bilmelerini istiyorsunuz.

Bu modülde akış günlükleri, tanılama günlükleri ve trafik analizine odaklanacaksınız. Bu araçların Azure ağında sorun gidermeye nasıl yardımcı olabileceğini öğreneceksiniz.

Kullanım ve kotalar

Her Microsoft Azure kaynağını kotasına erişene kadar kullanabilirsiniz. Her aboneliğin ayrı kotaları bulunur ve kullanım, abonelik başına izlenir. Bir bölgedeki her abonelik için yalnızca bir Ağ İzleyicisi gereklidir. Bu örnek bir kotaya ulaşma riski altında olup olmadığınızı görebilmeniz için kullanım ve kotaların bir görünümünü sağlar.

Kullanım ve kota bilgilerini görüntülemek için Tüm Hizmetler>>Ağ İzleyicisi’ne gidip Kullanım ve kotalar seçeneğini belirleyin. Kullanım ve kaynak konumlarına göre ayrıntılı veriler görürsünüz. Aşağıdaki ölçümlere yönelik veriler yakalanır:

  • Ağ arabirimleri
  • Ağ güvenlik grupları (NSG)
  • Sanal ağlar
  • Genel IP adresleri

Portaldaki kullanım ve kotaları gösteren bir örnek aşağıda verilmiştir:

Screenshot showing usage and quotas by using Network Watcher.

Günlükler

Ağ tanılama günlükleri ayrıntılı veriler sağlar. Bağlantı ve performans sorunlarını daha iyi anlamak için bu verileri kullanacaksınız. Ağ İzleyicisi’nde üç günlük görüntüleme aracı bulunur:

  • NSG Akış günlükleri
  • Tanılama günlükleri
  • Trafik analizi

Bu araçların her birine sırayla göz atalım.

NSG Akış günlükleri

NSG akış günlüklerinde, ağ güvenlik gruplarında giriş ve çıkış IP trafiği hakkındaki bilgileri görüntüleyebilirsiniz. Akış günlükleri, akışın uyguladığı ağ bağdaştırıcısını temel alarak giden ve gelen akışları kural temelinde gösterir. NSG akış günlükleri, yakalanan 5 tanımlama grubu bilgisine göre trafiğe izin verilip verilmediğini gösterir. Bu bilgiler arasında şunlar yer alır:

  • Kaynak IP
  • Kaynak bağlantı noktası
  • Hedef IP
  • Hedef bağlantı noktası
  • Protokol

Bu diyagram NSG'nin izlediği iş akışını gösterir.

Screenshot showing the workflow that the NSG follows from inbound traffic to rule matches to allowing or denying a packet.

Akış günlükleri, verileri bir JSON dosyasında depolar. Özellikle Azure’da büyük bir altyapı dağıtımınız varsa günlük dosyalarını el ile arayarak bu veriler hakkında içgörüler edinmek zor olabilir. Bu sorunu çözmek için Power BI'ı kullanın.

Power BI'da NSG akış günlüklerini birçok şekilde görselleştirebilirsiniz. Örneğin:

  • Üst adresler (IP adresi)
  • Yöne göre akışlar (gelen ve giden)
  • Karara göre akışlar (izin verildi ve reddedildi)
  • Hedef bağlantı noktasına göre akışlar

Günlüklerinizi analiz etmek için Elastic Stack, Grafana ve Graylog gibi açık kaynak araçları da kullanabilirsiniz.

Dekont

NSG akış günlükleri, klasik Azure portalındaki depolama hesaplarını desteklemez.

Tanılama günlükleri

Tanılama günlükleri, Ağ İzleyicisi’nde Azure ağı kaynaklarını etkinleştirmek veya devre dışı bırakmak için merkezi bir yerdir. Bu kaynaklara NSG’ler, genel IP’ler, yük dengeleyicileri ve uygulama ağ geçitleri dahil olabilir. İlgilendiğiniz günlükleri etkinleştirdikten sonra, araçları kullanarak günlük girişlerini sorgulayabilir ve görüntüleyebilirsiniz.

Tanılama günlüklerini, analiz etmek üzere Power BI ve diğer araçlara aktarabilirsiniz.

Trafik analizi

Bulut ağlarınız genelinde kullanıcı ve uygulama etkinliğini araştırmak için trafik analizini kullanın.

Bu araç, abonelikler arasındaki ağ etkinliğine yönelik içgörüler sağlar. Açık bağlantı noktaları, bilinen hatalı ağlarla iletişim kuran VM'ler ve trafik akışı desenleri gibi güvenlik tehditlerini tanılayabilirsiniz. Trafik analizi, Azure bölgeleri ve abonelikleri genelinde NSG akış günlüklerini analiz eder. Bu verileri kullanarak ağ performansını iyileştirebilirsiniz.

Bu araç, Log Analytics gerektirir. Log Analytics çalışma alanı, desteklenen bir bölgede bulunmalıdır.

Kullanım örneği senaryoları

Şimdi Azure Ağ İzleyicisi ölçümlerinin ve günlüklerinin yararlı olabileceği bazı kullanım örneği senaryolarına göz atalım.

Müşterilerin yavaş performans raporları

Performans yavaşlamasını çözmek için sorunun kök nedenini belirlememiz gerekir:

  • Sunucunun kapasitesini azaltan çok fazla trafik mi var?
  • VM boyutu iş için uygun mu?
  • Ölçeklenebilirlik eşikleri uygun şekilde ayarlanmış mı?
  • Kötü amaçlı saldırılar gerçekleşiyor mu?
  • VM depolama yapılandırması doğru mu?

İlk olarak, VM boyutunun iş için uygun olup olmadığını denetleyin. Daha sonra, CPU kullanımı ve bellek kullanımı gibi belirli ölçümler için daha ayrıntılı veriler almak amacıyla sanal makinede Azure Tanılama özelliğini etkinleştirin. Portal üzerinden VM tanılamayı etkinleştirmek için VM'ye gidip Tanılama Ayarları’nı seçin ve ardından tanılamayı açın.

Düzgün çalışan bir sanal makinenizin olduğunu varsayalım. Ancak, VM'nin performansı yakın zamanda düştü. Kaynak performans sorunlarınızın olup olmadığını belirlemek için yakalanan verileri gözden geçirmeniz gerekir.

Performansın doğru bir görünümünü elde etmek için, bildirilen sorun öncesinde, sırasında ve sonrasında yakalanan verilerin zaman aralığı ile işe başlayın. Bu grafikler aynı dönemdeki farklı kaynak davranışlarına çapraz başvuruda bulunmak için de yararlı olabilir. Şunları denetleyeceksiniz:

  • CPU performans sorunları
  • Bellek performans sorunları
  • Disk performans sorunları

CPU performans sorunları

Performans sorunlarına bakarken, sunucunuzu etkileyip etkilemediğini anlamak için eğilimleri inceleyebilirsiniz. Portalda eğilimleri belirlemek için izleme grafiklerini kullanın. İzleme grafiklerinde farklı türden desenler görebilirsiniz:

  • Yalıtılmış ani artışlar. Ani artış, zamanlanmış bir görev veya beklenen bir olayla ilişkili olabilir. Bu görevin ne olduğunu biliyorsanız, gerekli performans düzeyinde çalışıyor mu? Performans sorunu yoksa kapasiteyi artırmanız gerekmeyebilir.
  • Ani artış ve sabit. Bu eğilime yeni bir iş yükü neden olabilir. Yüke neden olan işlemleri bulmak için VM'de izlemeyi etkinleştirin. Artan tüketim, verimsiz koddan kaynaklanıyor olabilir veya yeni iş yükünün normal tüketimi olabilir. Tüketim normalse, işlem gerekli performans düzeyinde çalışıyor mu?
  • Sabit. Sanal makinenizin her zaman böyle miydi? Yanıtınız evet ise, en fazla kaynağı tüketen işlemleri belirlemeniz ve kapasite eklemeyi göz önünde bulundurmanız gerekir.
  • Sürekli artan. Tüketimde sabit bir artış mı görüyorsunuz? Öyleyse, bu eğilim verimsiz bir kodu veya daha fazla kullanıcı iş yükünü üstlenen bir işlemi gösterebilir.

Yüksek CPU kullanımı gözlemlerseniz şunlardan birini yapabilirsiniz:

  • Daha fazla çekirdek ile ölçeklendirmek için VM'nin boyutunu artırın.
  • Sorunu daha fazla araştırın. Uygulama ve işlemi bulup uygun şekilde sorunu giderin.

VM'nin ölçeğini artırırsanız ve CPU hala yüzde 95'in üzerinde çalışıyorsa, uygulama performansı daha mı iyi yoksa uygulama aktarım hızı kabul edilebilir bir düzeye mi çıkıyor? Elde edemiyorsanız, söz konusu uygulamanın sorunlarını giderin.

Bellek performans sorunları

VM’nin kullandığı bellek miktarını görüntüleyebilirsiniz. Günlükler, eğilimi ve sorun gördüğünüz zaman ile eşlenip eşlenmediğini anlamanıza yardımcı olur. Herhangi bir anda 100 MB'tan az kullanılabilir belleğe sahip olmamanız gerekir. Aşağıdaki eğilimlere dikkat edin:

  • Ani artış ve sabit tüketim. Hatalı performansın nedeni yüksek bellek kullanımı olmayabilir. İlişkisel veritabanı altyapıları gibi bazı uygulamalar tasarımı gereği yoğun bellek kullanır. Ama bellek kullanımı yüksek birden fazla uygulama varsa, bellek çekişmesi diskte kırpma ve sayfalamaya neden olduğu için kötü performans elde edebilirsiniz. Bu süreçler, olumsuz bir performans etkisine neden olur.
  • Sürekli artan tüketim. Bu eğilim, ısınan bir uygulama olabilir. Bu, veritabanı altyapıları başlatılırken yaygın olarak görülür. Öte yandan bu bir uygulamada bellek sızıntısı olduğuna da işaret ediyor olabilir.
  • Disk belleği veya takas dosyası kullanımı. /dev/sdb dizininde bulunan Windows Disk Belleği dosyasını veya Linux takas dosyasını yoğun bir şekilde kullanıp kullanmadığınızı denetleyin.

Yüksek bellek kullanımını çözümlemek için şu çözümleri göz önünde bulundurun:

  • Anında çözüm veya sayfa dosyası kullanımı için, belleğe eklenecek VM'nin boyutunu artırın ve ardından izleyin.
  • Sorunu daha fazla araştırın. Performans sorununa neden olan uygulamayı veya işlemi bulun ve sorun giderin. Uygulamayı biliyorsanız, bellek ayırmayı kısıtlayıp kısıtlayamadığınıza bakın.

Disk performans sorunları

Ağ performansı, sanal makinenin depolama alt sistemiyle de ilgili olabilir. Portalda VM’nin depolama hesabını araştırabilirsiniz. Depolamayla ilgili sorunları belirlemek için, depolama hesabı tanılama ve VM tanılamalarından performans ölçümlerine bakın. Sorunlar belirli bir zaman aralığı içinde oluştuğunda önemli eğilimlere bakın.

  • Azure Depolama zaman aşımını denetlemek için ClientTimeOutError, ServerTimeOutError, AverageE2ELatency, AverageServerLatency ve TotalRequests ölçümlerini kullanın. TimeOutError ölçümlerinde değerler görürseniz G/Ç işlemi çok uzun sürdü ve zaman aşımına uğradı. TimeOutErrors ile aynı anda AverageServerLatency artışı görürseniz, bu bir platform sorunu olabilir. Microsoft teknik desteğine bir servis talebi gönderin.
  • Azure Depolama alanında kapasite azaltmasını denetlemek için, ThrottlingError depolama hesabı ölçümünü kullanın. Kapasite azalması görüyorsanız, hesabın IOPS limitine yaklaştığınız anlamına gelir. TotalRequests ölçümünü araştırarak bu sorunu denetleyebilirsiniz.

Yüksek disk kullanımı ve gecikme sorunlarını gidermek için:

  • VM G/Ç işlemini, geçmiş sanal sabit disk (VHD) limitlerini ölçeklendirecek şekilde iyileştirin.
  • Aktarım hızını artırıp gecikme süresini azaltın. Gecikme süresine duyarlı bir uygulamanız olduğunu ve yüksek aktarım hızı gerektirdiğini fark ederseniz, VHD'lerinizi Azure Premium Depolama’ya geçirin.

Trafiği engelleyen sanal makine güvenlik duvarı kuralları

Bir NSG akışı sorununu gidermek için Ağ İzleyicisi IP akışı doğrulama aracını ve NSG akış günlüğünü kullanarak trafik akışını engelleyen bir NSG veya Kullanıcı Tanımlı Yönlendirme (UDR) olup olmadığını saptayın.

IP akışı doğrulamayı çalıştırıp yerel VM ile uzak VM'yi belirtin. Denetle seçeneği belirlendikten sonra, Azure mevcut kurallar üzerinde bir mantıksal test çalıştırır. Erişime izin verildiği sonucu oluşuyorsa NSG akış günlüklerini kullanın.

Portalda NSG’lere gidin. Akış günlükleri ayarları bölümünde Açık seçeneğini belirleyin. Şimdi VM'ye bağlanmayı yeniden deneyin. Verileri görselleştirmek için Ağ İzleyicisi trafik analizini kullanın. Erişime izin verildiği sonucu oluşuyorsa trafiği engelleyen bir NSG kuralı yoktur.

Bu noktaya eriştiyseniz ve sorunu hala saptamadıysanız uzak VM ile ilgili bir sorun olabilir. Uzak VM'de güvenlik duvarını devre dışı bırakıp bağlantıyı yeniden sınayın. Güvenlik duvarı devre dışıyken uzak VM'ye bağlanabiliyorsanız, uzak güvenlik duvarı ayarlarını doğrulayın. Ardından güvenlik duvarını yeniden etkinleştirin.

Ön uç ve arka uç alt ağlarının iletişim kuramaması sorunu

Varsayılan olarak, tüm alt ağlar Azure'da iletişim kurabilir. İki alt ağ üzerindeki iki VM iletişim kuramıyorsa, iletişim bir yapılandırma tarafından engelleniyor olmalıdır. Akış günlüklerini denetlemeden önce, IP akışı doğrulama aracını ön uç VM'den arka uç VM'ye doğru çalıştırın. Bu araç, ağdaki kurallar üzerinde bir mantıksal test çalıştırır.

Sonuçta arka uç alt ağ üzerinde tüm iletişimi engelleyen bir NSG bulunursa bu NSG'yi yeniden yapılandırın. Güvenlik nedeniyle, ön uç genel İnternete açık olduğundan ön uç ile bazı iletişimleri engellemeniz gerekir.

Arka uç ile iletişimi engelleyerek, bir kötü amaçlı yazılım veya güvenlik saldırısı durumunda etkilenme miktarını sınırlarsınız. Ancak NSG her şeyi engelliyorsa yanlış yapılandırılmıştır. Belirli protokolleri ve gerekli olan bağlantı noktalarını etkinleştirin.