Dynatrace, Python ve “En İyi Pratik” Örneği
İzleme ve gözlemlenebilirlik, herhangi bir geliştirici, mimar veya Site Güvenilirliği Mühendisi (SRE) için önemli konulardır ve bu, tercih edilen dil veya çalışma süresinden bağımsız olarak geçerlidir.
CARY , Django Web Framework kullanan Python tabanlı bir uygulamadır. Aşağıdaki resim, CARY ekibi için oluşturulan ve temel iş ölçümlerinin yanı sıra altyapı sağlık ölçümlerini tek bir yerde gösteren bir Dynatrace kontrol paneline aittir. Tüm veriler, CARY’nin çalıştığı k8s kümelerinde konuşlandırılan Dynatrace OneAgent aracılığıyla yakalanır.
Projede Python Auto Instrumentation için açık kaynaklı OneAgent SDK’nın nasıl kullanılacağına ilişkin talimatlarını uygulayan ekip, artık CARY tarafından işlenen her istek için PurePath’leri alarak üretimde dağıtılmış izlemeyi otomatik hale getirdi. Bunların hepsi herhangi bir Python kod değişikliği olmadan yapıldı. Bu, sorunları gideren geliştiricileri için harikadır ve özellik kullanımı, en iyi kullanıcılar vb. gibi işletme ölçümlerinin kaynağıdır:
Dynatrace ile Python Uygulamalarını izlemek için pratik bir kılavuz:
1. Adım: OneAgent’ı yükleyin
Dynatrace ile her şey bir OneAgent kurulumuyla başlar. Bünyenizde barındırdığınız sunuculardan, VM’lerinize, PaaS’ınıza bir OneAgent yükleyebilir veya bir Operatör aracılığıyla OpenShift veya k8s kümelerinizde kullanıma sunabilirsiniz.
Adım 2: Python Kodunuzu Otomatik Olarak Enstruman Edin
Başlangıçta belirtildiği gibi, Python Otomatik Enstrümantasyon için OneAgent SDK, Python kodunuzun (autodynatrace 1.0.61 ile başlayarak) gerekli kod değişiklikleri olmadan otomatik enstrümantasyonunu sağlar. Python’un birçok Framework’u vardır. Birçoğu otomatik enstrümantasyonla desteklenir ve desteklenen teknolojiler altında listelenir. Django gibi bu Frameworkler, bazı ek ayarların otomatik olarak uygulanmasını gerektirir!
Herhangi bir Python için otomatik enstrümantasyonu etkinleştirmek için, AUTOWRAPT_BOOTSTRAP = autodynatrace ortam değişkenini ayarlayın. Hepsi bu kadar!
Bu size Flask, FastAPI veya Tornado gibi yaygın teknolojiler dahil Python kodunuzun tam olarak izlenmesini sağlar!
Özellikle Django için INSTALLED_APPS’e “autodynatrace.wrappers.django” eklemeniz yeterli.
Otomatik enstrümantasyonun nasıl çalıştığını kontrol eden ek ortam değişkenlerinin iyi bir listesi vardır, örneğin, AUTODYNATRACE_CAPTURE_HEADERS, Dynatrace OneAgent’ın gelen web isteklerinin tüm istek başlıklarını yakalamasını sağlar.
- AUTOWRAPT_BOOTSTRAP = autodynatrace (gerekli!)
- AUTODYNATRACE_FORKABLE = true (birden fazla çalışanı olan işlemler kullanıyorsanız)
- AUTODYNATRACE_CAPTURE_HEADERS = true
3. Adım: Verilerinizi analiz edin
Uygulamalarınızı dağıttığınızda ve bir OneAgent bu ortamı izlediğinde, otomatik ölçümler, izlemeler ve günlükler elde edersiniz. Uygulamanızın kullanıcıya dönük bir web arayüzü varsa, otomatikleştirilmiş son kullanıcı izleme yeteneklerine de sahip olursunuz.
4. Adım: SLO’ları yapılandırın
Dynatrace, herhangi bir metriğin bir SLO’ya dönüştürülebildiği, hizmetlerinizin operasyonel ve iş beklentilerinizle nasıl eşleştiği konusunda size kolay bir durum sağlayan yerleşik bir SLO özelliğine sahiptir. Veriler, yeni bir sürümü kullanıma sunmak için yeterli “hata payınız” olup olmadığı veya mevcut sistemin kararlılığını iyileştirmeye odaklanıp odaklanmayacağınız konusunda daha iyi kararlar almanızı sağlar.