Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, OpenTelemetry toplayıcısını Azure App Service'teki bir Linux özel kapsayıcı uygulamasına sepet kapsayıcısı olarak nasıl ekleyeceğiniz gösterilmektedir.
App Service'teki sepet kapsayıcıları, Linux uygulamalarınızı yerleşik veya özel ana kapsayıcıya sıkı bir şekilde bağlamadan ek hizmetler ve özellikler dağıtmanıza olanak sağlar. Yan konteynerler, aynı Uygulama Hizmet planında ana uygulama konteyneriyle birlikte çalışır.
App Service'te her Linux uygulaması için en fazla dokuz sepet kapsayıcısı ekleyebilirsiniz. Örneğin izleme, günlüğe kaydetme, yapılandırma ve ağ hizmetlerini sepet kapsayıcıları olarak ekleyebilirsiniz. OpenTelemetry kolektör yan arabası, izleme için bir örnektir.
Kendi kodunuzu getirme Linux uygulamaları için bkz. Öğretici: Azure Uygulaması Hizmeti'nde Linux uygulaması için sepet kapsayıcısı yapılandırma.
Önkoşullar
-
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Bu öğreticideki komutları, tarayıcınız aracılığıyla Azure hizmetleriyle çalışmak için kullandığınız etkileşimli bir kabuk olan Azure Cloud Shell'i kullanarak çalıştırabilirsiniz. Cloud Shell'i kullanmak için:
Aşağıdaki Cloud Shell'i Başlat düğmesini seçin veya tarayıcınızda Cloud Shell'i https://shell.azure.com açmaya gidin.
Gerekirse Azure'da oturum açın ve Cloud Shell'in Bash ortamında olduğunuzdan emin olun.
Herhangi bir kod bloğunda Kopyala'yı seçin, kodu Cloud Shell'e yapıştırın ve çalıştırın.
azdBu öğreticideki komutlar, Azure'da uygulama kaynaklarını sağlamayı ve dağıtmayı hızlandıran açık kaynak bir araç olan Azure Geliştirici CLI'sini kullanır.
1. Öğretici kaynaklarını ayarlama
Örnek depoyu kopyalamak ve bu öğreticinin kaynaklarını oluşturmak için Cloud Shell'de aşağıdaki komutları çalıştırın. İstendiğinde, kullanmak istediğiniz Azure aboneliğini ve Azure bölgesini seçin.
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision
komutu, azd provision aşağıdaki Azure kaynaklarını içeren adlı my-sidecar-env_group bir Azure kaynak grubu oluşturmak için dahil edilen şablonları kullanır:
- Aşağıdaki görüntülere sahip iki depoya sahip bir kapsayıcı kayıt defteri :
- Bir Log Analytics çalışma alanı.
- Application Insights bileşeni.
- adlı kullanıcı tarafından atanan
id-my-sidecar-env_group.
Dağıtım tamamlandığında aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:
Success!
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group
Bu öğreticinin ilerleyen bölümlerinde kullanmak üzere APPLICATIONINSIGHTS_CONNECTION_STRING değerini kopyalayın ve kaydedin.
Sağlanan kaynak grubunu Azure portalında açmak için Open resource group in the portal bağlantısını seçin.
2. Sepet özellikli bir uygulama oluşturma
Azure portalındaki kaynak grubunda sepet desteğine sahip bir Linux özel kapsayıcı uygulaması oluşturun ve ana kapsayıcıyı yapılandırın.
Kaynak grubunun Azure portalındaki sayfasında Oluştur'u seçin.
Market sayfasında web uygulamasını arayın, Web Uygulaması kutucuğunda Oluştur'un yanındaki aşağı oku seçin ve Web Uygulaması'nı seçin.
Web Uygulaması Oluştur sayfasının Temel Bilgiler sekmesinde aşağıdaki bilgileri sağlayın:
- Ad: Web uygulaması için benzersiz bir ad girin.
- Yayımla: Kapsayıcı'yı seçin.
- İşletim Sistemi: Linux'ı seçin.
-
Bölge: için
azd provisionseçtiğiniz bölgeyi seçin. - Linux Planı: Sağlanan (Yeni) App Service planını seçin.
Diğer ayarları olduğu gibi bırakın ve sayfanın üst kısmındaki Kapsayıcı sekmesini seçin.
Kapsayıcı sekmesinde aşağıdaki bilgileri sağlayın:
- Sepet desteği: Sepet desteği açıkken Gelişmiş yapılandırma olarak ayarlayın.
- Görüntü Kaynağı: Azure Container Registry'ü seçin.
- Ad: main öğesinin göründüğüne emin olun.
-
Kayıt Defteri: tarafından
azd provisionoluşturulan kayıt defterini seçin. - Kimlik doğrulaması: Yönetilen kimlik'i seçin.
-
Kimlik: tarafından
azd provisionoluşturulan yönetilen kimliği seçin. - Resim: nginx yazın.
- Etiket: En son değerini girin.
- Bağlantı noktası: Henüz ayarlanmadıysa 80 girin.
Not
Bu ayarlar sepet etkin uygulamalarda, sepetler için etkinleştirilmemiş uygulamalardan farklı yapılandırılır. Daha fazla bilgi için bkz. Sepet etkin özel kapsayıcılar arasındaki farklar nelerdir?
Gözden geçir ve oluştur'u seçin ve doğrulama başarılı olduğunda Oluştur'u seçin.
Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.
Uygulamanızın sayfasında, varsayılan nginx sayfasını görmek için yeni bir tarayıcı sekmesinde
https://<app-name>.azurewebsites.netöğesinin yanındaki URL'yi açın.
3. Uygulamaya sidecar konteyner ekleme
Linux özel kapsayıcı uygulamanıza sepet kapsayıcısı ekleyin.
Uygulamanın Azure portalındaki sayfasında, sol gezinti menüsünde Dağıtım'ın altında Dağıtım Merkezi'ni seçin. Dağıtım Merkezi sayfası, uygulamadaki tüm kapsayıcıları, şu anda yalnızca ana kapsayıcıyı gösterir.
Kapsayıcılar'ı seçin.
Özel kapsayıcı ekle'yi> seçin.
Kapsayıcı ekle bölmesinde aşağıdaki bilgileri tamamlayın:
- Ad: otel-collector girin.
- Görüntü kaynağı: Azure Container Registry'yi seçin.
-
Kayıt Defteri: tarafından
azd provisionoluşturulan kayıt defterini seçin. - Kimlik doğrulaması: Yönetilen Kimlik'i seçin.
-
Kimlik: Kullanıcı Tarafından Atanan bölümünün altında,
azd provisiontarafından oluşturulan yönetilen kimliği seçin. - Görüntü: Otel-collector girin.
- Resim etiketi: En son değerini girin.
- Bağlantı noktası: 4317 girin.
Uygula’yı seçin.
Dağıtım merkezinde artık Main ve Sidecar etiketli iki kapsayıcı vardır. Bir uygulamanın tek bir ana kapsayıcısı olmalıdır ve birden çok yan kapsayıcı olabilir.
4. Ortam değişkenlerini yapılandırma
Örnek senaryoda, otel-collector sidecar, OpenTelemetry verilerini bağlantı dizesini bir ortam değişkeni olarak kullanarak Azure Monitor'a aktarmak üzere yapılandırılacaktır. Daha fazla bilgi için otel-collector görüntüsüne ait OpenTelemetry yapılandırma dosyasına bakın.
Uygulamanın uygulama ayarlarını yapılandırarak kapsayıcı için ortam değişkenini yapılandırın. Uygulama ayarlarına uygulamadaki tüm kapsayıcıların erişimi vardır.
Uygulamanın Azure portalındaki sayfasında, sol gezinti menüsündeki Ayarlar'ın altında Ortam değişkenleri'ni seçin.
Ortam değişkenleri sayfasının Uygulama ayarları sekmesinde Ekle'yi seçin.
Uygulama ayarı ekle/düzenle bölmesinde aşağıdaki değerleri girin:
- Ad: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Değer:
APPLICATIONINSIGHTS_CONNECTION_STRINGçıktısındanazd provisiondeğeri. Bu değeri, kaynak grubunun Application Insight kaynağının Genel Bakış sayfasında Bağlantı Dizesi olarak da bulabilirsiniz.
Uygula'yı seçin, sonra yeniden Uygula'yı ve ardından Onayla'yı seçin. APPLICATIONINSIGHTS_CONNECTION_STRING uygulama ayarı artık Uygulama ayarları sekmesinde görünür.
Not
Bazı uygulama ayarları, sidecar özellikli uygulamalarda geçerli değildir. Daha fazla bilgi için bkz. Sepet etkin özel kapsayıcılar arasındaki farklar nelerdir?
5. Application Insights'ta doğrulama
Sidecar otel-collector artık verileri Application Insights'a ihraç etmelidir.
Yeni bir tarayıcı sekmesinde uygulamanıza gidin ve bazı web istekleri oluşturmak için sayfayı birkaç kez yenileyin.
Azure portalındaki kaynak grubu sayfasında Application Insights kaynağını seçin. Artık Application Insights'a Genel Bakış sayfasında varsayılan grafiklerde bazı veriler görmeniz gerekir.
Not
Bu yaygın izleme senaryosunda Application Insights, Jaeger, Prometheus ve Zipkin gibi kullanabileceğiniz OpenTelemetry hedeflerinden yalnızca biridir.
6. Kaynakları temizleme
Bu öğretici için oluşturduğunuz ortama artık ihtiyacınız kalmadığında, kaynak grubunu silip app service'i ve tüm ilgili kaynakları kaldırabilirsiniz. Cloud Shell'deki kopyalanmış depoda aşağıdaki komutu çalıştırın.
azd down