Öğretici: Azure Uygulaması Hizmeti'nde özel kapsayıcı için sepet kapsayıcısı yapılandırma (önizleme)
Bu öğreticide, OpenTelemetry toplayıcısını Azure Uygulaması Hizmeti'ndeki bir Linux özel kapsayıcı uygulamasına sepet kapsayıcısı olarak eklersiniz.
Azure Uygulaması Hizmeti'nde, her sepet etkin özel kapsayıcı uygulaması için en fazla 4 sepet kapsayıcısı ekleyebilirsiniz. Sepet kapsayıcıları, ana uygulama kapsayıcınızla sıkı bir şekilde bağlanmalarına gerek kalmadan kapsayıcı uygulamanıza ek hizmetler ve özellikler dağıtmanıza olanak sağlar. Örneğin izleme, günlüğe kaydetme, yapılandırma ve ağ hizmetlerini sepet kapsayıcıları olarak ekleyebilirsiniz. OpenTelemetry toplayıcısı sepet, bu tür bir izleme örneğidir.
Sepetler hakkında daha fazla bilgi için bkz . Sepet düzeni.
Not
Önizleme dönemi için, uygulama oluşturma sırasında sepet desteği etkinleştirilmelidir. Şu anda mevcut bir uygulama için sepet desteğini etkinleştirmenin bir yolu yoktur.
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
1. Gerekli kaynakları ayarlama
İlk olarak öğreticinin kullandığı kaynakları oluşturursunuz (daha fazla bilgi için bkz . Cloud Shell'e Genel Bakış). Bu senaryo için kullanılırlar ve genel olarak sepet kapsayıcıları için gerekli değildir.
Azure Cloud Shell'de aşağıdaki komutları çalıştırın:
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs cd app-service-sidecar-tutorial-prereqs azd provision
İstendiğinde, istediğiniz ortam adını, aboneliği ve bölgeyi sağlayın. Örneğin:
- Ortam adı: my-sidecar-env
- Abonelik: aboneliğiniz
- Bölge: (Avrupa) Batı Avrupa
Dağıtım tamamlandığında aşağıdaki çıkışı görmeniz gerekir:
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=... Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/.../resourceGroups/...
Kaynak grubu bağlantısını bir tarayıcı sekmesinde açın. daha sonra bağlantı dizesi kullanmanız gerekir.
Not
azd provision
aşağıdaki Azure kaynaklarını oluşturmak için dahil edilen şablonları kullanır:- Bir kaynak grubu
- İki görüntünün dağıtılacağı bir kapsayıcı kayıt defteri:
- OpenTelemetry modülüne sahip bir Nginx görüntüsü.
- Azure İzleyici'ye aktaracak şekilde yapılandırılmış bir OpenTelemetry toplayıcı görüntüsü.
- Log Analytics çalışma alanı
- Application Insights bileşeni
2. Sepet özellikli bir uygulama oluşturma
Kaynak grubunun yönetim sayfasında Oluştur'u seçin.
Web uygulamasını arayın, ardından Oluştur'da aşağı oku seçin ve Web Uygulaması'nı seçin.
Temel Bilgiler panelini aşağıdaki gibi yapılandırın:
- Ad: Benzersiz bir ad
- Yayımla: Kapsayıcı
- İşletim Sistemi: Linux
- Bölge: Seçtiğiniz bölgeyle aynı bölge
azd provision
- Linux Planı: Yeni bir App Service planı
Kapsayıcı'ya tıklayın. Kapsayıcı panelini aşağıdaki gibi yapılandırın:
- Sepet desteği: Etkin
- Görüntü Kaynağı: Azure Container Registry
- Kayıt Defteri: Tarafından oluşturulan kayıt defteri
azd provision
- Görüntü: nginx
- Etiket: en son
- Bağlantı noktası: 80
Not
Bu ayarlar sepet etkin uygulamalarda farklı yapılandırılır. Daha fazla bilgi için bkz . Sepet özellikli uygulamalar için farklılıklar.
Gözden Geçir + oluştur’u ve sonra da Oluştur’u seçin.
Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.
Yeni bir tarayıcı sekmesinde, öğesine gidin
https://<app-name>.azurewebsites.net
ve varsayılan Nginx sayfasına bakın.
3. Sepet kapsayıcısı ekleme
Bu bölümde, özel kapsayıcı uygulamanıza bir sepet kapsayıcısı eklersiniz.
Uygulamanın yönetim sayfasında, soldaki menüden Dağıtım Merkezi'ni seçin.
Dağıtım merkezi, uygulamadaki tüm kapsayıcıları gösterir. Şu anda yalnızca ana kapsayıcıya sahiptir.
Ekle'yi seçin ve yeni kapsayıcıyı aşağıdaki gibi yapılandırın:
- Ad: otel-collector
- Görüntü kaynağı: Azure Container Registry
- Kayıt Defteri: Tarafından oluşturulan kayıt defteri
azd provision
- Görüntü: otel-collector
- Etiket: en son
- Bağlantı noktası: 4317
4317 numaralı bağlantı noktası, örnek kapsayıcı tarafından OpenTelemetry verilerini almak için kullanılan varsayılan bağlantı noktasıdır. uygulamasındaki
localhost:4317
diğer tüm kapsayıcılardan erişilebilir. Nginx kapsayıcısı sepete tam olarak bu şekilde veri gönderir (örnek Nginx görüntüsü için OpenTelemetry modülü yapılandırmasına bakın).Uygula’yı seçin.
Şimdi dağıtım merkezinde iki kapsayıcı görmeniz gerekir. Ana kapsayıcı Main olarak işaretlenir ve sepet kapsayıcısı Sepet olarak işaretlenir. Her uygulamanın bir ana kapsayıcısı olmalıdır, ancak birden çok sepet kapsayıcısı olabilir.
4. Ortam değişkenlerini yapılandırma
Örnek senaryo için, otel-collector sepet OpenTelemetry verilerini Azure İzleyici'ye dışarı aktaracak şekilde yapılandırılmıştır, ancak ortam değişkeni olarak bağlantı dizesi gerekir (otel toplayıcı görüntüsü için OpenTelemetry yapılandırma dosyasına bakın).
Uygulama ayarlarını yapılandırarak herhangi bir App Service uygulaması gibi kapsayıcılar için ortam değişkenlerini yapılandırırsınız. Uygulama ayarlarına uygulamadaki tüm kapsayıcılar erişebilir.
Uygulamanın yönetim sayfasında, soldaki menüden Yapılandırma'yı seçin.
Yeni uygulama ayarı'ni seçerek bir uygulama ayarı ekleyin ve bunu aşağıdaki gibi yapılandırın:
- Ad: APPLICATIONINSIGHTS_CONNECTION_STRING
- Değer: çıkışındaki bağlantı dizesi
azd provision
Kaydet'i ve ardından Devam'ı seçin.
Not
Bazı uygulama ayarları sepet etkin uygulamalar için geçerli değildir. Daha fazla bilgi için bkz . Sepet özellikli uygulamalar için farklılıklar
5. Application Insights'ta doğrulama
Otel toplayıcısı sepet, verileri application insights'a aktarmalıdır.
için tarayıcı sekmesine geri dönün ve birkaç web isteği oluşturmak için
https://<app-name>.azurewebsites.net
sayfayı birkaç kez yenileyin.Kaynak grubuna genel bakış sayfasına dönün ve Application Insights kaynağını seçin. Şimdi varsayılan grafiklerde bazı veriler görmeniz gerekir.
Not
Bu çok yaygın izleme senaryosunda Application Insights, Jaeger, Prometheus ve Zipkin gibi kullanabileceğiniz OpenTelemetry hedeflerinden yalnızca biridir.
Kaynakları temizleme
Ortama artık ihtiyacınız kalmadığında kaynak grubunu, App service'i ve tüm ilgili kaynakları silebilirsiniz. Bu komutu Cloud Shell'de, kopyalanan depoda çalıştırmanız gerekir:
azd down
Sepet özellikli uygulamalar için farklılıklar
Sepet özellikli uygulamaları sepet etkin olmayan uygulamalardan farklı yapılandırabilirsiniz. Özellikle, ana kapsayıcıyı ve sepetleri uygulama ayarlarıyla değil, doğrudan kaynak özelliklerinde yapılandırırsınız. Bu uygulama ayarları sepet etkin uygulamalar için geçerli değildir:
- Kayıt defteri kimlik doğrulama ayarları:
DOCKER_REGISTRY_SERVER_URL
,DOCKER_REGISTRY_SERVER_USERNAME
veDOCKER_REGISTRY_SERVER_PASSWORD
. - Kapsayıcı bağlantı noktası:
WEBSITES_PORT