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.
Azure Container Apps dinamik oturumlarının sağladığı yerleşik kod yorumlayıcıya ek olarak, kendi oturum korumalı alanlarınızı tanımlamak için özel kapsayıcılar da kullanabilirsiniz.
Uyarı
Bu makale yalnızca özel kapsayıcı oturumu havuzları için geçerlidir. Aksi belirtilmediği sürece, burada açıklanan özellikler kod yorumlayıcı oturum havuzları için kullanılamaz.
Özel kapsayıcı oturumları için kullanımlar
Özel kapsayıcılar, ihtiyaçlarınıza uygun çözümler oluşturmanıza olanak sağlar. Hızlı ve kısa ömürlü ortamlarda kod veya uygulama çalıştırmanızı sağlar. Hyper-V ile güvenli, korumalı alanlar sunar. Ayrıca, isteğe bağlı ağ yalıtımı ile yapılandırılabilirler. Bazı Örnekler:
Kod yorumlayıcıları: Yerleşik yorumlayıcıda desteklenmeyen bir dil tarafından güvenli korumalı alanlarda güvenilmeyen kod çalıştırıyorsanız veya kod yorumlayıcı ortamı üzerinde tam denetime ihtiyacınız varsa kullanın.
Yalıtılmış yürütme: Uygulamaları, her kiracının veya kullanıcının kendi korumalı ortamına sahip olduğu saldırgan, çok kiracılı senaryolarda çalıştırıyorsanız kullanın. Bu ortamlar birbirinden ve konak uygulamasından yalıtılır. Bazı örnekler arasında kullanıcı tarafından sağlanan kodu çalıştıran uygulamalar, son kullanıcıya bulut tabanlı bir kabuk, yapay zeka aracıları ve geliştirme ortamlarına erişim sağlayan kod verilebilir.
Özel kapsayıcı oturumlarını kullanma
Özel kapsayıcı oturumlarını kullanmak için özel kapsayıcı görüntüsüyle bir oturum havuzu oluşturun. Azure Container Apps, sağlanan görüntüyü kullanarak kendi Hyper-V korumalı alanlarındaki kapsayıcıları otomatik olarak başlatır. Kapsayıcı başlatıldıktan sonra oturum havuzunda kullanılabilir.
Uygulamanız bir oturum istediğinde, havuzdan hemen bir oturum tahsis edilir. Oturum, boşta durumuna girene kadar etkin kalır ve bu durum otomatik olarak durdurulur ve yok edilir.
Oturum havuzları için kapsayıcı yoklamaları
Özel kapsayıcı oturum havuzları için sağlık kontrollerini yapılandırmak ve sağlıklı oturum örneklerini korumak için kapsayıcı yoklamalarını kullanın.
Uyarı
Kapsayıcı yoklamaları için API sürümünün 2025-02-02-preview veya daha üzeri olması gerekir.
Kapsayıcı yoklamaları, Azure Container Apps'teki sistem durumu yoklamalarına benzer şekilde oturum kapsayıcıları için sistem durumu denetimleri tanımlamanıza olanak sağlar. Yapılandırıldığında, oturum havuzu her oturum örneğini izler ve iyi durumda olmayan örnekleri kaldırır.
Oturum havuzu:
- Yoklamalara göre hazır oturum örneklerinin iyi durumda olmasını sağlar.
- İyi durumda olmayan oturum örneklerini otomatik olarak kaldırır.
- İyi durumdaki oturumlarla yapılandırılan
readySessionInstancessayıyı korumak için ölçeği büyütür.
Oturum havuzları Canlılık Kontrolü ve Başlatma Kontrolü yoklama türlerini destekler. Yoklamaların nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure Container Apps'te sistem durumu yoklamaları.
Konfigürasyon
Bir oturum havuzu oluşturduğunuzda veya güncelleştirdiğinizde, istek yükünüzün properties.customContainerTemplate.containers bölümünde yoklamalar belirtin.
TAM API belirtimi için bkz. SessionPools API'leri.
Example
{
"properties": {
"customContainerTemplate": {
"containers": [
{
"name": "my-session-container",
"image": "myregistry.azurecr.io/my-session-image:latest",
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080
},
"periodSeconds": 10,
"failureThreshold": 3
},
{
"type": "Startup",
"httpGet": {
"path": "/ready",
"port": 8080
},
"periodSeconds": 5,
"failureThreshold": 30
}
]
}
]
},
"dynamicPoolConfiguration": {
"readySessionInstances": 5
}
}
}
Sorun giderme
Oturum grubunuz beklenen sayıda sağlıklı durumda değilse, aşağıdaki düzeltmeleri göz önünde bulundurun:
- Kapsayıcı günlüklerini denetleyin. Yoklama uç noktaları veya kapsayıcı başlatma ile ilgili sorunları belirlemek için oturum kapsayıcısı günlüklerini gözden geçirin. Bkz. Özel kapsayıcı oturumu havuzları için günlükleri görüntüle.
- Prob düzeneğini doğrulayın. Yoklama yollarının, bağlantı noktalarının ve eşiklerin uygulamanız için doğru yapılandırıldığından emin olun.
- Kapsayıcı durumunu gözden geçirin. Kapsayıcınızın içinde yoklama uç noktalarının başarıyla yanıt vermesini engelleyen sorunları denetleyin.
Oturumu durdurma
Özel kapsayıcı oturumu havuzunda oturumu sonlandırmak için Oturumu Durdur API'sini kullanın.
Oturum havuzları, lifecycleConfiguration kullanarak yapılandırmanıza göre oturum yaşam döngüsünü işleyen otomatik oturum yönetimini destekler. Ancak, daha fazla denetime ihtiyacınız olabilecek senaryolar vardır.
Bir oturumu ayırdıktan sonra, istediğiniz zaman el ile sonlandırmak için bu API'yi çağırabilirsiniz. Bu yaklaşım aşağıdaki durumlarda kullanışlıdır:
- Oturumun yaşam süresine ulaşmadan önce, kaynakları temizlemeniz gerekir.
- Oturum havuzunuz eş zamanlı oturum sayısı üst sınırına ulaşır ve yeni oturumlar için kapasiteyi boşaltmanız gerekir.
- Oturum çalışmasını tamamlar ve kaynakları hemen serbest bırakmak istersiniz.
API referansı
İstek
POST <POOL_MANAGEMENT_ENDPOINT>/.management/stopSession?api-version=2025-02-02-preview&identifier=<SESSION_ID>
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
api-version |
String | Evet | Kullanılacak API sürümü (örneğin, 2025-02-02-preview). |
identifier |
String | Evet | Durdurulacak oturumun benzersiz tanımlayıcısı. |
Örnekler
İstek
POST https://<SESSION_POOL_NAME>.<ENVIRONMENT_ID>.<REGION>.azurecontainerapps.io/.management/stopSession?api-version=2025-02-02-preview&identifier=testSessionIdentifier
Yanıt
HTTP/1.1 200 OK
Content-Type: text/plain
Session testSessionIdentifier in session pool testSessionPool stopped.
Oturum bilgilerini alma
Oturum durumunu denetlemek, süre sonu ayrıntılarını almak ve tüm etkin oturumları listelemek için oturum havuzunuzu sorgulayabilirsiniz. Bu özellik oturum durumunu izlemek, kaynak kullanımını izlemek ve özel temizleme iş akışlarını uygulamak için kullanışlıdır.
Tek bir oturum al
Belirli bir oturumla ilgili ayrıntıları almak için uç noktayı kullanın getSession :
POST <POOL_MANAGEMENT_ENDPOINT>/.management/getSession?identifier=<SESSION_ID>&api-version=2025-02-02-preview
Authorization: Bearer <TOKEN>
Uç nokta getSession, oturum tanımlayıcısı, geçerli sona erme süresi ve oluşturulma zaman damgası dahil oturum meta verilerini döndürür.
SessionView yanıt şeması
| Veri Alanı | Türü | Zorunlu | Açıklama |
|---|---|---|---|
identifier |
String | Evet | Sağladığınız oturum tanımlayıcısı |
etag |
String | Evet | Oturum için opak sürüm tanımlayıcısı. Değişiklik algılama için bu tanımlayıcıyı kullanabilirsiniz. |
expiresAt |
DateTime | Evet | Oturumun sonlandırılacağı UTC zaman damgası |
createdAt |
DateTime | Hayır | Oturum oluşturulma tarih ve saati |
lastAccessedAt |
DateTime | Hayır | Bu oturuma yapılan son isteğin zaman damgası |
Örnek istek ve yanıt
curl -X POST "https://my-pool.env-id.westus2.azurecontainerapps.io/.management/getSession?identifier=user-123&api-version=2025-02-02-preview" \
-H "Authorization: Bearer $TOKEN"
Başarı yanıtı (HTTP 200):
{
"identifier": "user-123",
"etag": "a1b2c3d4",
"expiresAt": "2026-04-30T14:30:00Z",
"createdAt": "2026-04-30T13:30:00Z",
"lastAccessedAt": "2026-04-30T14:29:00Z"
}
Havuzdaki tüm oturumları listeleme
Oturum havuzunuzdaki tüm oturumların listesini almak için uç noktayı kullanın listSessions :
POST <POOL_MANAGEMENT_ENDPOINT>/.management/listSessions?skip=0&api-version=2025-02-02-preview
Authorization: Bearer <TOKEN>
Pagination
Liste uç noktası, atlama tabanlı sayfalandırmayı destekler. Varsayılan olarak, her sayfa en fazla 300 oturum döndürür. Sonuçlarda skip gezinmek için sorgu parametresini kullanın.
| Parametre | Açıklama |
|---|---|
skip |
Baştan atlanacak oturum sayısı (varsayılan: 0) |
nextLink |
Sonraki sonuç sayfası için tam URL (daha fazla sonuç olduğunda yanıta eklenir) |
ApiCollectionEnvelope yanıt şeması
| Veri Alanı | Türü | Açıklama |
|---|---|---|
value |
SessionView[] | Oturum nesneleri dizisi |
count |
integer | Geçerli sayfadaki oturum sayısı |
nextLink |
String | Sonraki sayfanın URL'si (başka sonuç yoksa null) |
Örnek sayfalandırma döngüsü
POOL_URL="https://my-pool.env-id.westus2.azurecontainerapps.io"
next_url="$POOL_URL/.management/listSessions?skip=0&api-version=2025-02-02-preview"
while [ -n "$next_url" ]; do
response=$(curl -s -X POST "$next_url" \
-H "Authorization: Bearer $TOKEN")
echo "$response" | jq '.value[] | {identifier, expiresAt}'
next_url=$(echo "$response" | jq -r '.nextLink // empty')
done
Örnek yanıt (HTTP 200):
{
"value": [
{
"identifier": "user-123",
"etag": "a1b2c3d4",
"expiresAt": "2026-04-30T14:30:00Z",
"createdAt": "2026-04-30T13:30:00Z",
"lastAccessedAt": "2026-04-30T14:29:00Z"
},
{
"identifier": "user-456",
"etag": "e5f6a7b8",
"expiresAt": "2026-04-30T14:30:00Z",
"createdAt": "2026-04-30T13:30:00Z",
"lastAccessedAt": "2026-04-30T14:29:00Z"
}
],
"count": 2,
"nextLink": "https://my-pool.env-id.westus2.azurecontainerapps.io/.management/listSessions?skip=300"
}
Kayıt
Özel kapsayıcı oturum havuzları Azure İzleyici ve Günlük Analitiği ile entegre edilir. Uygulama günlükleri yalnızca kapsayıcınız stdout veya stderr öğesine çıktı yazdığında yakalanır, bu nedenle uygulamanızın konsola günlük yazdığından emin olun.
Önkoşullar
- Özel oturum havuzlu bir Azure Container Apps ortamı
- Log Analytics çalışma alanı veya kurulum sırasında bir çalışma alanı oluşturun
Log kaydını yapılandırma
Azure İzleyici günlüğünü etkinleştirme
- Azure portalında Container Apps Ortamınıza gidin.
- İzleme'nin altında Günlük seçenekleri'ni seçin.
- Günlükler HedefiniAzure İzleyici olarak ayarlayın.
Tanılama ayarlarını yapılandırma
- Container Apps Ortamınızdaki İzleme'nin altında Tanılama ayarları'nı seçin.
- + Tanılama ayarı ekle’yi seçin.
- Tanılama ayarınız için bir ad belirtin.
- Günlükler'in altında, yakalamak istediğiniz oturumla ilgili günlük kategorilerini seçin.
- Hedef ayrıntıları'nın altında Log Analytics çalışma alanına gönder'i seçin.
- Log Analytics çalışma alanınızı seçin veya yeni bir çalışma alanı oluşturun.
- Kaydetseçeneğini seçin.
Log Analytics tabloları
| Günlük kategorisi | Log Analytics tablosu | Açıklama |
|---|---|---|
| Uygulama günlükleri | AppEnvSessionConsoleLogs |
Kapsayıcılı uygulama tarafından yayılan standart çıkış (stdout) ve standart hata (stderr). |
| Platform günlükleri |
AppEnvSessionLifecycleLogs, AppEnvSessionPoolEvents |
Oturum havuzu ayırma, yaşam döngüsü ve işletim durumuyla ilgili platform tarafından oluşturulan olaylar. |
Günlükler doğrudan Log Analytics'e gönderilirse, tablolar _CL sonekini kullanır, örneğin. AppEnvSessionConsoleLogs_CL Günlükler Azure İzleyici tanılama ayarları aracılığıyla yönlendirildiğinde, tablo adları _CL sonekini içermez.
Oturum günlüklerini görüntüleme
Tanılama ayarları yapılandırıldıktan sonra günlükler Log Analytics çalışma alanınıza gönderilir.
Log Analytics'te sorgu günlükleri
- Azure portalında Log Analytics çalışma alanınıza gidin.
- Soldaki menüde Günlükler'i seçin.
- Sorgu Basit moddaysaKQL modu'nu seçin.
- Oturum günlüklerini sorgulamak için Kusto Sorgu Dili'ni (KQL) kullanın.
Örnek sorgular
Oturumlardan son konsol günlüklerini görüntüleyin:
AppEnvSessionConsoleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
| take 100
Oturum yaşam döngüsü olaylarını görüntüleme:
AppEnvSessionLifecycleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
Oturum havuzu olaylarını görüntüleme:
AppEnvSessionPoolEvents
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
Metrics
Azure Container Apps, özel kapsayıcı oturumu havuzları için Azure İzleyici ölçümlerini yayar. Zaman içinde havuz kapasitesini ve etkinliğini izlemek için bu ölçümleri kullanın.
Desteklenen ölçümler
Listenin tamamı için bkz . Desteklenen ölçümler - Microsoft.App/sessionpools - Azure İzleyici.
| Ölçü birimi | REST API'de isim | Birim | Aggregation | Boyutlar | Zaman Granülleri | DS İhracat |
|---|---|---|---|---|---|---|
|
Oturum Sayısını Yürütme Oturum havuzundaki çalışan oturum podlarının sayısı |
PoolExecutingPodCount |
Sayı | Toplam (Toplam), Ortalama, Maksimum, Minimum | poolName |
PT1M | Evet |
|
Oturum Sayısı Oluşturma Oturum havuzunda oluşturulan oturum podlarının sayısı |
PoolPendingPodCount |
Sayı | Toplam (Toplam), Ortalama, Maksimum, Minimum | poolName |
PT1M | Evet |
|
Hazır Oturum Sayısı Oturum havuzundaki hazır oturum podlarının sayısı |
PoolReadyPodCount |
Sayı | Toplam (Toplam), Ortalama, Maksimum, Minimum | poolName |
PT1M | Evet |
Oturum ölçümlerini görüntüleme
Oturum tabanlı ölçümleri görüntülemek için Azure İzleyici veya Container Apps ortam ölçümlerini kullanabilirsiniz.
Azure İzleme Ölçümleri
- Azure İzleyici Ölçümleri sayfasını açın.
- Özel kapsayıcı oturum havuzunuzu seçmek için Scope'u kullanın.
- Görüntülenecek ölçümü ve toplamayı seçin.
Container Apps ortam ölçümleri
- Azure portalında Container Apps Ortamınızı açın.
- İzleme seçeneğinin altından Ölçümler’i seçin.
- Özel kapsayıcı oturum havuzunuzu seçmek için Scope'u kullanın.
- Görüntülenecek ölçümü ve toplamayı seçin.