Azure hizmetlerini ve bulutta yerel araçları kullanarak Kubernetes kümelerini izleme
Bu makalede, Azure İzleyici ve ilgili Azure ve bulut yerel hizmetlerini kullanarak Kubernetes kümelerinizin ve bunlar üzerinde çalışan iş yüklerinin sistem durumunu ve performansını nasıl izleyeceğiniz açıklanmaktadır. Bu, Azure Kubernetes Service'te (AKS) veya AWS ve GCP gibi diğer bulutlarda çalışan kümeleri içerir. Genellikle kubernetes ortamını oluşturan benzersiz bileşenleri yöneten farklı roller için farklı kılavuz kümeleri sağlanır.
Önemli
Bu makale, Azure Kubernetes Service (AKS) veya diğer bulutlardaki Kubernetes kümelerini temel alarak Kubernetes ortamınızın farklı katmanlarını izleme konusunda eksiksiz rehberlik sağlar. AKS veya Azure İzleyici'yi kullanmaya yeni başlıyorsanız AKS kümesini izlemeye başlamaya yönelik temel bilgiler için bkz. AKS'yi izleme.
Kubernetes ortamının katmanları ve rolleri
Aşağıda, uygulamalar aracılığıyla altyapı katmanından başlayarak tipik bir Kubernetes ortamının ortak modelini gösteren bir çizim verilmiştir. Her katmanın farklı hizmetler tarafından ele alınan ve genellikle kuruluştaki farklı roller tarafından yönetilen ayrı izleme gereksinimleri vardır.
Kubernetes ortamının farklı katmanlarının ve buna bağlı olan uygulamaların sorumluluğu genellikle birden çok rol tarafından ele alınmaktadır. Kuruluşunuzun boyutuna bağlı olarak, bu roller farklı kişiler ve hatta farklı ekipler tarafından gerçekleştirilebilir. Aşağıdaki tabloda farklı roller açıklanırken, aşağıdaki bölümlerde her birinin genellikle karşılaşacağı izleme senaryoları sağlanır.
Roller | Veri Akışı Açıklaması |
---|---|
Geliştirici | Kümede çalışan uygulamayı geliştirin ve bakımını sağlayın. Uygulama performansı ve hataları da dahil olmak üzere uygulamaya özgü trafiklerden sorumludur. Uygulamanın güvenilirliğini SLA'lara göre korur. |
Platform mühendisi | Kubernetes kümesinden sorumludur. Geliştirici tarafından kullanılan platformu sağlar ve korur. |
Ağ mühendisi | İş yükleri ile kümedeki herhangi bir giriş/çıkış arasındaki trafiklerden sorumludur. Ağ trafiğini analiz eder ve tehdit analizi gerçekleştirir. |
İzleme araçları seçimi
Azure, Kubernetes altyapınızın farklı katmanlarının ve buna bağlı uygulamaların sistem durumunu ve performansını izlemek için Azure İzleyici'yi temel alan eksiksiz bir hizmet kümesi sağlar. Bu hizmetler birbiriyle birlikte çalışarak eksiksiz bir izleme çözümü sağlar ve hem AKS hem de diğer bulutlarda çalışan Kubernetes kümeleriniz için önerilir. Cloud Native Computing Foundation tarafından desteklenen buluta özel teknolojilere yönelik mevcut bir yatırımınız olabilir ve bu durumda Azure araçlarını mevcut ortamınızla tümleştirmeyi seçebilirsiniz.
Hangi araçları dağıtacağınız ve bunların yapılandırması, belirli bir ortamınızın gereksinimlerine bağlıdır. Örneğin, Prometheus ve Grafana için Azure'daki yönetilen teklifleri kullanabilir veya bu araçların mevcut yüklemesini Azure'daki Kubernetes kümelerinizle kullanmayı seçebilirsiniz. Kuruluşunuz, Splunk veya Datadog gibi Kubernetes günlüklerini toplamak ve analiz etmek için Kapsayıcı içgörülerine alternatif araçlar da kullanabilir.
Önemli
Kubernetes gibi karmaşık bir ortamı izlemek için önemli miktarda telemetri toplanması gerekir ve bu da büyük ölçüde maliyete neden olur. Gereksinimlerinizi karşılamak için yeterli miktarda veri toplamanız gerekir. Bu, toplanan veri miktarını, toplama sıklığını ve saklama süresini içerir. Maliyet konusunda çok bilinçliyseniz izleme harcamanızı azaltmak için tam işlevselliğin bir alt kümesini uygulamayı seçebilirsiniz.
Ağ mühendisi
Ağ Mühendisi, iş yükleri ile küme ile giriş/çıkış arasındaki trafiklerden sorumludur. Ağ trafiğini analiz ederler ve tehdit analizi gerçekleştirirler.
Ağ yöneticisi için Azure hizmetleri
Aşağıdaki tabloda, Kubernetes kümesini destekleyen ağın sistem durumunu ve performansını izlemek için ağ mühendisi tarafından yaygın olarak kullanılan hizmetler listelenmektedir.
Hizmet | Açıklama |
---|---|
Ağ İzleyicisi | Kubernetes kümeleriniz tarafından kullanılan sanal ağları izlemek ve algılanan sorunları tanılamak için Azure'daki araç paketi. |
Trafik analizi | Trafik akışıyla ilgili içgörüler sağlamak için akış günlüklerini analiz eden Ağ İzleyicisi özelliği. |
Ağ içgörüleri | Farklı ağ bileşenlerinin performansının ve sistem durumunun görsel bir gösterimini içeren ve Ağ İzleyicisi parçası olan ağ izleme araçlarına erişim sağlayan Azure İzleyici özelliği. |
Ağ içgörüleri varsayılan olarak etkindir ve yapılandırma gerektirmez. Ağ İzleyicisi genellikle her Azure bölgesinde varsayılan olarak etkinleştirilir.
İzleme düzeyi 1 - Ağ
Aşağıda ağı izlemeye yönelik yaygın senaryolar yer alır.
- Kümeniz tarafından kullanılan ağ güvenlik grupları aracılığıyla akan IP trafiği hakkındaki bilgileri günlüğe kaydetmek için akış günlükleri oluşturun ve ardından trafik analizini kullanarak bu verileri analiz edin ve bu veriler hakkında içgörüler sağlayın. Büyük olasılıkla, Kapsayıcı içgörüleri ve denetim düzlemi günlükleriniz için kullandığınız trafik analizi için aynı Log Analytics çalışma alanını kullanırsınız.
- Trafik analizini kullanarak, küme tarafından kullanılan beklenmeyen bağlantı noktalarına veya bağlantı noktalarından herhangi bir trafiğin akıp akmadığını ve kullanıma sunulmaması gereken genel IP'ler üzerinden trafik akışının olup olmadığını belirleyebilirsiniz. Ağ kurallarınızın değiştirilmesi gerekip gerekmediğini belirlemek için bu bilgileri kullanın.
- AKS kümelerinde, kümedeki hizmetler (doğu-batı trafiği) arasındaki erişimi izlemek ve gözlemlemek için AKS (önizleme) için Ağ Gözlemlenebilirliği eklentisini kullanın.
Platform mühendisi
Küme yöneticisi olarak da bilinen platform mühendisi, Kubernetes kümesinin kendisinden sorumludur. Geliştiriciler tarafından kullanılan platformu sağlar ve korur. Kümenin ve bileşenlerinin durumunu anlaması ve algılanan sorunları giderebilmesi gerekir. Ayrıca kümeyi çalıştırmanın maliyetini ve maliyetleri farklı ekiplere ayırabilme potansiyelini de anlamaları gerekir.
Büyük kuruluşların, platform mühendisine benzer ancak birden çok kümeden sorumlu olan bir filo mimarı da olabilir. Ortamın tamamında görünürlük sağlamaları ve yönetim görevlerini büyük ölçekte gerçekleştirmeleri gerekir. Ölçek düzeyinde öneriler aşağıdaki kılavuza eklenmiştir. Çok kümeli ve ölçekli senaryolar için Fleet kaynağı oluşturma hakkında ayrıntılı bilgi için bkz. Azure Kubernetes Fleet Manager nedir?
Platform mühendisi için Azure hizmetleri
Aşağıdaki tabloda, platform mühendisinin Kubernetes kümesinin ve bileşenlerinin sistem durumunu ve performansını izlemesi için Azure hizmetleri listelenmektedir.
Hizmet | Açıklama |
---|---|
Kapsayıcı İçgörüleri | Kümenizdeki her düğümden stdout/stderr günlüklerini, performans ölçümlerini ve Kubernetes olaylarını toplamak için Azure İzleyici aracısının kapsayıcılı sürümünü kullanan AKS ve Azure Arc özellikli Kubernetes kümeleri için Azure hizmeti. Verileri Azure portalında görüntüleyebilir veya Log Analytics'i kullanarak sorgulayabilirsiniz. Prometheus deneyimini, Prometheus verileriyle Kapsayıcı içgörüleri görünümlerini kullanacak şekilde yapılandırın. |
Prometheus için Azure İzleyici yönetilen hizmeti | Prometheus , Cloud Native Compute Foundation'ın buluta özel bir ölçüm çözümüdür ve Kubernetes kümelerinden ölçüm verilerini toplamak ve analiz etmek için kullanılan en yaygın araçtır. Prometheus için Azure İzleyici yönetilen hizmeti, Prometheus sorgu dili (PromQL) ve Prometheus uyarıları ile uyumlu olan ve görselleştirme için Azure Yönetilen Grafana ile tümleşen tam olarak yönetilen bir çözümdür. Bu hizmet, kendi Prometheus ortamınızı yönetmenin karmaşıklığı olmadan açık kaynak araçlarına yatırımınızı destekler. |
Azure Arc özellikli Kubernetes | Azure'da yönetebilmeniz ve yapılandırabilmeniz için diğer bulutlarda çalışan Kubernetes kümelerine eklemenize olanak tanır. Arc aracısı yüklendikten sonra Aks ve karma kümelerini container insights ve Prometheus gibi aynı yöntem ve araçları kullanarak birlikte izleyebilirsiniz. |
Azure Yönetilen Grafana | Prometheus ve diğer verileri sunmak için yaygın olarak kullanılan bir açık kaynak veri görselleştirme platformu olan Grafana'nın tam olarak yönetilen uygulaması. Kubernetes'i izlemek ve tam yığın sorunlarını gidermek için önceden tanımlanmış birden çok Grafana panosu mevcuttur. |
Platform mühendisi için izlemeyi yapılandırma
Aşağıdaki bölümler, yukarıdaki tabloda yer alan Azure hizmetlerini kullanarak Kubernetes ortamınızı tam olarak izleme adımlarını tanımlar. İşlevsellik ve tümleştirme seçenekleri, gereksinimlerinizi karşılamak için bu yapılandırmayı nerede değiştirmeniz gerekebileceğini belirlemenize yardımcı olmak için sağlanır.
Kapsayıcı içgörüleri ve Yönetilen Prometheus ekleme, Kubernetes kümeleri için izlemeyi etkinleştirme başlığı altında açıklanan deneyimin bir parçası olabilir. Aşağıdaki bölümlerde her biri için tüm ekleme ve yapılandırma seçeneklerinizi göz önünde bulundurabilmeniz için her biri ayrı ayrı açıklanmıştır.
Prometheus ölçümlerinin kazınmasını etkinleştirme
Önemli
Prometheus için Azure İzleyici yönetilen hizmetini kullanmak için bir Azure İzleyici çalışma alanınız olmalıdır. Çalışma alanı yapılandırmasıyla ilgili tasarım konuları hakkında bilgi için bkz . Azure İzleyici çalışma alanı mimarisi.
Aşağıdaki yöntemlerden birini kullanarak Prometheus için Azure İzleyici yönetilen hizmeti tarafından Prometheus ölçümlerinin kümenizden kazınmasını etkinleştirin:
- AKS kümesi oluştururken Prometheus ölçümlerini etkinleştir seçeneğini belirleyin.
- Mevcut AKS kümesinde veya Azure Arc özellikli Kubernetes kümesinde Kapsayıcı içgörülerini etkinleştirdiğinizde Prometheus ölçümlerini etkinleştir seçeneğini belirleyin.
- Mevcut AKS kümesi veya Arc özellikli Kubernetes kümesi için etkinleştirin.
AKS kümeleriniz için kullanmak istediğiniz bir Prometheus ortamınız zaten varsa, Prometheus için Azure İzleyici yönetilen hizmetini etkinleştirin ve ardından mevcut Prometheus ortamınıza veri göndermek için uzaktan yazma özelliğini kullanın. Ayrıca, mevcut kendi kendine yönetilen Prometheus ortamınızdan Prometheus için Azure İzleyici yönetilen hizmetine veri göndermek için uzaktan yazma özelliğini de kullanabilirsiniz.
Varsayılan olarak toplanan ölçümler ve bunların toplama sıklığı hakkında ayrıntılı bilgi için bkz . Azure İzleyici'de Varsayılan Prometheus ölçümleri yapılandırması. Yapılandırmayı özelleştirmek istiyorsanız bkz . Prometheus için Azure İzleyici yönetilen hizmetinde Prometheus ölçümlerinin kazınmasını özelleştirme.
Prometheus verilerinin analizi için Grafana'yı etkinleştirme
Not
Grafana'da mevcut bir yatırımınız varsa veya Prometheus verilerinizi analiz etmek için Kapsayıcı içgörüleri yerine Grafana panolarını kullanmayı tercih ediyorsanız Kubernetes ortamınızı izlemek için Grafana'yı kullanın. Grafana'yı kullanmak istemiyorsanız, Prometheus verilerinizle Kapsayıcı içgörüleri görünümlerini kullanabilmek için Kapsayıcı içgörülerinde Prometheus deneyimini etkinleştirin.
Bir Yönetilen Grafana örneği oluşturun ve Prometheus verilerinizi veri kaynağı olarak kullanabilmeniz için bunu Azure İzleyici çalışma alanınıza bağlayın. Ayrıca, prometheus için Azure İzleyici yönetilen hizmetini veri kaynağı olarak ekleyerek bu yapılandırmayı el ile de gerçekleştirebilirsiniz. Kubernetes kümelerini izlemek için Kapsayıcı içgörüleri görünümleri gibi benzer bilgiler sunan çeşitli önceden oluşturulmuş panolar mevcuttur.
Mevcut bir Grafana ortamınız varsa bunu kullanmaya devam edebilir ve Prometheus için Azure İzleyici yönetilen hizmetini veri kaynağı olarak ekleyebilirsiniz. Özel Grafana panolarında Kapsayıcı içgörüleri tarafından toplanan verileri kullanmak için Azure İzleyici veri kaynağını Grafana'ya da ekleyebilirsiniz. Kapsayıcı içgörüleri görünümlerini ve raporlarını kullanmak yerine Grafana panolarına odaklanmak istiyorsanız bu yapılandırmayı gerçekleştirin.
Günlüklerin toplanması için Container Insights'ın etkinleştirilmesi
Kubernetes kümeniz için Container Insights'ı etkinleştirdiğinizde, Azure İzleyici aracısının Azure İzleyici'deki log analytics çalışma alanına veri gönderen kapsayıcılı bir sürümünü dağıtır. Kapsayıcı içgörüleri kapsayıcı stdout/stderr, altyapı günlükleri ve performans verilerini toplar. Tüm günlük verileri, Kusto Sorgu Dili (KQL) kullanılarak analiz edilebilecekleri bir Log Analytics çalışma alanında depolanır.
Kubernetes kümelerinizi eklemeye yönelik önkoşullar ve yapılandırma seçenekleri için bkz . Kapsayıcı içgörülerini etkinleştirme. Tüm kümelerin tutarlı bir yapılandırmayı korumasını sağlamak için Azure İlkesi kullanarak ekleme.
Bir küme için Kapsayıcı içgörüleri etkinleştirildikten sonra, yüklemenizi iyileştirmek için aşağıdaki eylemleri gerçekleştirin.
- Kapsayıcı içgörüleri görünümlerini Prometheus verilerinizle kullanabilmek için Kapsayıcı içgörülerinde Prometheus deneyimini etkinleştirin.
- Kapsayıcı içgörüleri tarafından toplanan verilerle sorgu deneyiminizi geliştirmek ve toplama maliyetlerini azaltmak için her küme için ContainerLogV2 şemasını etkinleştirin. Günlükleri yalnızca ara sıra sorun giderme için kullanıyorsanız, bu tabloyu temel günlükler olarak yapılandırmayı göz önünde bulundurun.
- Toplanan veri miktarını azaltarak Kapsayıcı içgörüleri veri alımı maliyetlerinizi azaltmak için Kapsayıcı içgörülerinde maliyet iyileştirme ayarlarını etkinleştirme bölümünde açıklanan maliyet ön ayarlarını kullanın. Prometheus ile aynı ölçüm değerlerinin birçoğundan bu yana Kapsayıcı içgörülerini yalnızca Günlükleri ve olayları toplayacak şekilde yapılandırarak ölçümlerin toplanmasını devre dışı bırakın.
Günlüklerin toplanması için mevcut bir çözümünüz varsa bu aracın yönergelerini izleyin veya Kapsayıcı içgörülerini etkinleştirin ve Log Analytics çalışma alanının veri dışarı aktarma özelliğini kullanarak verileri Azure Event Hubs'a göndererek alternatif sisteme iletin.
AKS kümeleri için denetim düzlemi günlüklerini toplama
AKS denetim düzlemi bileşenlerinin günlükleri Azure'da kaynak günlükleri olarak uygulanır. Container Insights bu günlükleri kullanmaz, bu nedenle bunları görüntülemek ve analiz etmek için kendi günlük sorgularınızı oluşturmanız gerekir. Günlük yapısı ve sorguları hakkında ayrıntılı bilgi için bkz . Container Insights'tan günlükleri sorgulama.
Log Analytics çalışma alanına kaynak günlükleri göndermek için her AKS kümesi için bir tanılama ayarı oluşturun. Birden çok kümede tutarlı yapılandırma sağlamak için Azure İlkesi kullanın.
Kaynak günlüklerini çalışma alanına göndermenin bir maliyeti vardır, bu nedenle yalnızca kullanmayı planladığınız günlük kategorilerini toplamanız gerekir. AKS için kullanılabilen kategorilerin açıklaması için bkz . Kaynak günlükleri. En az sayıda kategori toplayarak başlayın ve ardından gereksinimleriniz arttıkça ve ilişkili maliyetlerinizi anladığınızda ek kategoriler toplamak için tanılama ayarını değiştirin. Uyumluluk nedeniyle bilgileri saklamanız gerekiyorsa maliyetleri azaltmak için günlükleri bir Azure depolama hesabına gönderebilirsiniz. Günlük verilerini alma ve saklama maliyeti hakkında ayrıntılı bilgi için bkz . Azure İzleyici Günlükleri fiyatlandırma ayrıntıları.
İlk olarak hangi kaynak günlüklerini etkinleştirebileceğinizden emin değilseniz, en yaygın müşteri gereksinimlerini temel alan aşağıdaki önerileri kullanın. Gerekirse daha sonra diğer kategorileri etkinleştirebilirsiniz.
Kategori | Etkinleştirmek? | Hedef |
---|---|---|
kube-api-server | Etkinleştir | Log Analytics çalışma alanı |
kube-audit | Etkinleştir | Azure depolama. Bu, maliyetleri en düşük düzeyde tutar ancak bir denetçi tarafından isteniyorsa denetim günlüklerini korur. |
kube-Denetim-yönetici | Etkinleştir | Log Analytics çalışma alanı |
Kube-sorumlu-yönetici | Etkinleştir | Log Analytics çalışma alanı |
kube-scheduler | Devre Dışı Bırak | |
küme otomatik ölçeklendiricisi | Otomatik ölçeklendirme etkinleştirildiyse etkinleştir | Log Analytics çalışma alanı |
nöbetçi | Microsoft Entra Id etkinse etkinleştir | Log Analytics çalışma alanı |
Tüm Ölçümler | Ölçümler Yönetilen Prometheus'ta toplandığından devre dışı bırak | Log Analytics çalışma alanı |
Günlüklerin toplanması için mevcut bir çözümünüz varsa bu aracın yönergelerini izleyin veya Kapsayıcı içgörüleri'ni etkinleştirin ve log analytics çalışma alanının veri dışarı aktarma özelliğini kullanarak azure olay hub'ına veri göndererek alternatif sisteme iletin.
AKS kümeleri için Etkinlik günlüğünü toplama
AKS kümelerinizde yapılan yapılandırma değişiklikleri Etkinlik günlüğünde depolanır. Bu verileri diğer izleme verileriyle analiz etmek üzere Log Analytics çalışma alanınıza göndermek için bir tanılama ayarı oluşturun. Bu veri toplamanın bir maliyeti yoktur ve Log Analytics'i kullanarak verileri analiz edebilir veya bunlarla ilgili uyarı alabilirsiniz.
İzleme düzeyi 2 - Küme düzeyi bileşenleri
Küme düzeyi aşağıdaki bileşenleri içerir:
Bileşen | İzleme gereksinimleri |
---|---|
Düğüm | Her düğüm için CPU, bellek, disk ve IP kullanımının hazır olma durumunu ve performansını anlayın ve iş yüklerini dağıtmadan önce bunların kullanım eğilimlerini proaktif olarak izleyin. |
Aşağıda, küme düzeyi bileşenlerini izlemeye yönelik yaygın senaryolar yer alır.
Kapsayıcı içgörüleri
- CPU ve bellek kullanımı dahil olmak üzere kümenizdeki düğümlerin performansını görmek için Küme görünümünü kullanın.
- Düğümler görünümünü kullanarak her düğümün durumunu ve üzerinde çalışan podların sistem durumunu ve performansını görebilirsiniz. Düğüm durumunu ve performansını analiz etme hakkında daha fazla bilgi için bkz . Container Insights ile Kubernetes kümenizin performansını izleme.
- Raporlar'ın altında, disk kapasitesini, disk GÇ'sini ve GPU kullanımını analiz etmek için Düğüm İzleme çalışma kitaplarını kullanın. Bu çalışma kitapları hakkında daha fazla bilgi için bkz . Düğüm İzleme çalışma kitapları.
- İzleme'nin altında Çalışma Kitapları'nı ve ardından Alt Ağ IP Kullanımı'nı seçerek seçilen bir zaman aralığı için her düğümde IP ayırma ve atamayı görebilirsiniz.
Grafana panoları
- Her birinin sistem durumunu ve performansını görmek için Kubelet için Yönetilen Grafana'da önceden oluşturulmuş panoyu kullanın.
- Ekli depolamayı izlemek için ve
windows_logical_disk_free_bytes
gibinode_disk_io_time_seconds_total
diskle ilgili Prometheus ölçüm değerlerine sahip Grafana panolarını kullanın. - Prometheus'ta depolanan verilere göre düğümlerinizin performansını ve durumunu görselleştiren birden çok Kubernetes panosu mevcuttur.
Log Analytics
- Container Insights tarafından doldurulan ContainerImageInventory tablosundan veri alan Görüntü envanter günlüğü sorgusu da dahil olmak üzere kümeniz için önceden oluşturulmuş günlük sorgularına erişmek için Log Analytics çalışma alanınızın sorgular iletişim kutusunda Kapsayıcılar kategorisini seçin.
Sorun giderme
- Sorun giderme senaryoları için, bakım veya hemen günlük toplama için düğümlere doğrudan erişmeniz gerekebilir. Güvenlik amacıyla AKS düğümleri İnternet'e sunulmaz, ancak AKS düğümlerine SSH yapmak için komutunu kullanabilirsiniz
kubectl debug
. Bu işlem hakkında daha fazla bilgi için bakım veya sorun giderme için bkz . SSH ile Azure Kubernetes Service (AKS) küme düğümlerine bağlanma.
Maliyet analizi
- Küme maliyetlerinizin analizini desteklemek için Kubernetes maliyetlerinizi anlamak için açık kaynak, satıcıdan bağımsız bir CNCF korumalı alan projesi olan OpenCost'ı yapılandırın. Ayrıntılı maliyetlendirme verilerini Azure depolamaya aktarır.
- OpenCost'taki verileri kullanarak kuruluşunuzdaki farklı ekipler tarafından kümenin göreli kullanımını kırın, böylece her biri arasında maliyet ayırabilirsiniz.
- Kümenin iş yüklerini yoğun bir şekilde paketleyerek düğümlerinin tam kapasitesini kullandığından emin olmak için OpenCost'tan verileri kullanın ve daha küçük düğümlerin aksine daha az büyük düğüm kullanın.
İzleme düzeyi 3 - Yönetilen Kubernetes bileşenleri
Yönetilen Kubernetes düzeyi aşağıdaki bileşenleri içerir:
Bileşen | İzleme |
---|---|
API Sunucusu | API sunucusunun durumunu izleyin ve hizmet çalışmıyorsa istek yükündeki artışları ve performans sorunlarını belirleyin. |
Kubelet | Pod yönetimi sorunlarını, podların başlatılmaması, düğümlerin hazır olmaması veya podların öldürülmesi sorunlarını gidermeye yardımcı olması için Kubelet'i izleyin. |
Yönetilen Kubernetes bileşenlerinizi izlemeye yönelik yaygın senaryolar aşağıdadır.
Kapsayıcı içgörüleri
- İzleme'nin altında Ölçümler'i seçerek Uçak İçi İstekler sayacını görüntüleyin.
- Raporlar'ın altında, her kubelet'in sistem durumunu ve performansını görmek için Kubelet çalışma kitabını kullanın. Bu çalışma kitapları hakkında daha fazla bilgi için bkz . Kaynak İzleme çalışma kitapları.
Grafana
- Her kubelet'in sistem durumunu ve performansını görmek için Kubelet için Yönetilen Grafana'da önceden oluşturulmuş panoyu kullanın.
- API sunucusu performansının tam görünümü için Kubernetes apiserver gibi bir pano kullanın. Bu, istek gecikme süresi ve işqueue işleme süresi gibi değerleri içerir.
Log Analytics
AKS bileşenleri tarafından oluşturulan denetim düzlemi günlüklerini analiz etmek için kaynak günlükleriyle günlük sorgularını kullanın.
AKS için tüm yapılandırma etkinlikleri Etkinlik günlüğüne kaydedilir. Etkinlik günlüğünü Log Analytics çalışma alanına gönderdiğinizde Log Analytics ile analiz edebilirsiniz. Örneğin, tüm AKS kümelerinizde başarılı bir yükseltmeyi tanımlayan kayıtları döndürmek için aşağıdaki örnek sorgu kullanılabilir.
AzureActivity | where CategoryValue == "Administrative" | where OperationNameValue == "MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/WRITE" | extend properties=parse_json(Properties_d) | where properties.message == "Upgrade Succeeded" | order by TimeGenerated desc
Sorun giderme
- Sorun giderme senaryoları için Azure Kubernetes Service (AKS) küme düğümlerinden kubelet günlüklerini alma bölümünde açıklanan işlemi kullanarak kubelet günlüklerine erişebilirsiniz.
İzleme düzeyi 4 - Kubernetes nesneleri ve iş yükleri
Kubernetes nesneleri ve iş yükleri düzeyi aşağıdaki bileşenleri içerir:
Bileşen | İzleme gereksinimleri |
---|---|
Dağıtımlar | Dağıtımın gerçek ve istenen durumunu ve üzerinde çalışan podların durumunu ve kaynak kullanımını izleyin. |
Podlar | AKS kümenizde çalışan podların CPU ve bellek dahil olmak üzere durumunu ve kaynak kullanımını izleyin. |
Kapsayıcılar | AKS kümenizde çalışan kapsayıcıların CPU ve bellek dahil olmak üzere kaynak kullanımını izleyin. |
Kubernetes nesnelerinizi ve iş yüklerinizi izlemeye yönelik yaygın senaryolar aşağıdadır.
Kapsayıcı içgörüleri
- Düğümler ve Denetleyiciler görünümlerini kullanarak üzerinde çalışan podların sistem durumunu ve performansını görün ve kapsayıcılarının sistem durumu ve performansına gidin.
- Kapsayıcıların sistem durumunu ve performansını görmek için Kapsayıcılar görünümünü kullanın. Kapsayıcı durumunu ve performansını analiz etme hakkında daha fazla bilgi için bkz . Container Insights ile Kubernetes kümenizin performansını izleme.
- Raporlar'ın altında Dağıtımlar çalışma kitabını kullanarak dağıtım ölçümlerini görüntüleyin. Daha fazla bilgi için bkz . Container Insights ile dağıtım ve HPA ölçümleri.
Grafana panoları
- Durumlarını ve performanslarını görüntülemek için Düğümler ve Podlar için Yönetilen Grafana'da önceden oluşturulmuş panoları kullanın.
- Prometheus'ta depolanan verilere göre düğümlerinizin performansını ve durumunu görselleştiren birden çok Kubernetes panosu mevcuttur.
Canlı veriler
- Sorun giderme senaryolarında Container Insights canlı AKS kapsayıcı günlüklerine (stdout/stderror), olaylara ve pod ölçümlerine erişim sağlar. Bu özellik hakkında daha fazla bilgi için bkz . Kubernetes günlüklerini, olaylarını ve pod ölçümlerini gerçek zamanlı olarak görüntüleme.
Platform mühendisi için uyarılar
Azure İzleyici'deki uyarılar, izleme verilerinizdeki ilginç veriler ve desenler hakkında sizi proaktif olarak bilgilendirir. Bu uyarılar, müşterileriniz bunları fark etmeden önce sisteminizdeki sorunları belirlemenize ve çözmenize olanak sağlar. Uyarı için mevcut bir ITSM çözümünüz varsa, bunu Azure İzleyici ile tümleştirebilirsiniz. Log Analytics çalışma alanınızdan geçerli uyarı çözümünüzü destekleyen başka bir konuma veri göndermek için çalışma alanı verilerini de dışarı aktarabilirsiniz.
Uyarı türleri
Aşağıdaki tabloda, yukarıda açıklanan hizmetler tarafından toplanan verilere göre oluşturabileceğiniz farklı özel uyarı kuralları türleri açıklanmaktadır.
Uyarı türü | Açıklama |
---|---|
Prometheus uyarıları | Prometheus uyarıları Prometheus Sorgu Dili'nde (Prom QL) yazılır ve Prometheus için Azure İzleyici yönetilen hizmetlerinde depolanan Prometheus ölçümlerine uygulanır. Önerilen uyarılar zaten en yaygın Prometheus uyarılarını içerir ve gerektiğinde ek uyarı kuralları oluşturabilirsiniz. |
Ölçüm uyarı kuralları | Ölçüm uyarı kuralları, Ölçüm gezginiyle aynı ölçüm değerlerini kullanır. Aslında, analiz etmekte olduğunuz verilerle doğrudan ölçüm gezgininden bir uyarı kuralı oluşturabilirsiniz. Ölçüm uyarı kuralları, AKS veri başvurusu ölçümlerindeki değerlerden herhangi birini kullanarak AKS performansıyla ilgili uyarı vermek için yararlı olabilir. |
Günlük araması uyarı kuralları | Günlük sorgusunun sonuçlarından bir uyarı oluşturmak için günlük araması uyarı kurallarını kullanın. Daha fazla bilgi için bkz. Container Insights'tan günlük arama uyarıları oluşturma ve Container Insights'tan günlükleri sorgulama. |
Önerilen uyarılar
Kapsayıcı içgörülerinde (önizleme) Kubernetes kümesi için en yaygın uyarı koşullarını içeren Metrik uyarı kurallarından önerilen Prometheus uyarıları kümesiyle başlayın. Daha sonra ek uyarı koşullarını belirlerken daha fazla uyarı kuralı ekleyebilirsiniz.
Geliştirici
Geliştirici, uygulamayı geliştirmeye ek olarak kümede çalışan uygulamayı korur. Uygulama performansı ve hataları da dahil olmak üzere uygulamaya özgü trafiklerden sorumludurlar ve şirket tarafından tanımlanan SLA'lara göre uygulamanın güvenilirliğini korurlar.
Geliştirici için Azure hizmetleri
Aşağıdaki tabloda, kümede çalışan uygulamanın sistem durumunu ve performansını izlemek için geliştirici tarafından yaygın olarak kullanılan hizmetler listelenmektedir.
Hizmet | Açıklama |
---|---|
Application Insights | Geliştirmeden teste ve üretime kubernetes kümenizde çalışan uygulamaları izlemek için uygulama performansı izleme (APM) sağlayan Azure İzleyici özelliği. Dağıtılmış izlemeleri kullanarak gecikme süresi ve güvenilirlik sorunlarını hızla belirleyin ve azaltın. Satıcıdan bağımsız izleme için OpenTelemetry'yi destekler. |
Kümenizde çalışan uygulamadan veri toplamayı yapılandırma seçenekleri ve özel gereksinimleriniz için en iyi yöntemle ilgili karar ölçütleri için bkz . Azure İzleyici Application Insights'ın Veri Toplama Temelleri .
İzleme düzeyi 5 - Uygulama
Aşağıda uygulamanızı izlemeye yönelik yaygın senaryolar yer alır.
Uygulama performansı
- Uygulamanızdaki farklı işlemlerin performansını görüntülemek için Application Insights'taki Performans görünümünü kullanın.
- Uygulamanızın performans izlemelerini yakalamak ve görüntülemek için Profiler'ı kullanın.
- Uygulama bileşenleriniz arasındaki bağımlılıkları görüntülemek ve performans sorunlarını belirlemek için Uygulama Haritası'nı kullanın.
- Hizmetler arasındaki etkileşimde daha iyi gözlemlenebilirlik elde etmek için bulut ve mikro hizmet mimarileri için çağrı yığınları gibi çalışan bir performans profili oluşturucu sağlayan dağıtılmış izlemeyi etkinleştirin.
Uygulama hataları
- Başarısız isteklerin sayısını ve en yaygın özel durumları görüntülemek için Application Insights'ın Hatalar sekmesini kullanın.
- Akıllı algılama ile tanımlanan hata anomalilerine yönelik uyarıların düzgün yapılandırıldığından emin olun.
Sistem Durumunu İzleme
- Uygulamanızın kullanılabilirliğini ve yanıt hızını izlemek üzere yinelenen bir test oluşturmak için Application Insights'ta bir Kullanılabilirlik testi oluşturun.
- Web testleri için SLA'yı hesaplamak ve raporlamak için SLA raporunu kullanın.
- Güncelleştirmeden sonraki performans değişikliklerini görsel olarak inceleyebilmeniz için yeni bir derlemenin ne zaman dağıtıldığını belirlemek için ek açıklamaları kullanın.
Uygulama günlükleri
- Kapsayıcı içgörüleri bir Log Analytics çalışma alanına stdout/stderr günlükleri gönderir. Farklı günlüklerin açıklaması için kaynak günlükleri ve her birinin gönderildiği tabloların listesi için Kubernetes Services bölümüne bakın.
Hizmet ağı
- AKS kümeleri için, mikro hizmet mimarinize gözlemlenebilirlik sağlayan Istio tabanlı hizmet ağı eklentisini dağıtın. Istio , mevcut dağıtılmış uygulamalara saydam bir şekilde katman oluşturan bir açık kaynak hizmet ağıdır. Eklenti, AKS için Istio dağıtımı ve yönetiminde yardımcı olur.
Ayrıca bkz.
- Azure Kubernetes Service'e (AKS) özgü izleme yönergeleri için bkz. AKS'yi izleme.