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 yapılandırma kılavuzu, yönetilen OpenTelemetry aracısını kullanarak günlükleri, izlemeleri ve ölçümleri Elastik'e iletmek için Azure Container Apps yapılandırmayı gösterir.
Yönetilen OpenTelemetry aracısı hakkında daha fazla bilgi için bkz. Azure Container Apps'teki OpenTelemetry aracıları.
Bu kılavuzda şunların nasıl yapıldığını öğrenirsiniz:
- Elastik alma belirteci oluşturun.
- Bicep veya Azure portalını kullanarak Elastik OTLP hedefini yapılandırın.
- Gerekli uygulama ortamı değişkenlerini yapılandırın.
- Yapılandırma güncelleştirmelerini mevcut Container Apps ortamınıza ve uygulamanıza uygulayın.
- Elastik'te telemetriyi denetleyin.
Prerequisites
- Azure aboneliği
- OTLP alımını kabul eden bir Elastic hesabı ve hedef dağıtım veya proje.
- Azure CLI'nin yüklü olması ve Azure hesabınızda oturum açılmış olması.
- Azure Container Apps CLI uzantısı yüklendi (Bicep için).
az extension add --name containerapp --upgrade
Elastic içe aktarma belirteci oluşturun
Hedef dağıtımınız için OpenTelemetry verilerini alabilen bir Elastik API anahtarı oluşturun.
Gerekli izinler, şu sinyaller için telemetri verilerinin yazılmasına izin vermelidir:
- Günlükler içe aktarma/yazma
- Alma/yazma izlemeleri
- Metrik alımı/yazımı
Belirteç izinleri ve API anahtarları hakkında sağlayıcı kılavuzu için bkz . Elastik API anahtarları.
OpenTelemetry hedeflerini yapılandırma
Container Apps ortamınızda Elastik'i OTel uç noktası olarak yapılandırmak için aşağıdaki seçeneklerden birini kullanın.
Important
Yönetilen bir OpenTelemetry hedefini yapılandırmak otomatik olarak telemetri üretmez. Uygulamanızın, OpenTelemetry SDK’sı kullanılarak izler, ölçümler ve günlükler üretecek şekilde zaten yapılandırılmış olması gerekir.
Dağıtım için CLI değişkenlerini ayarlayın:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Elastik OTLP temel uç nokta biçimini kullanın:
https://<YOUR_ELASTIC_ENDPOINT>:443
Yetkilendirme belirteci başlığı biçimini kullanın:
- Üst bilgi anahtarı:
Authorization - Üst bilgi değeri:
ApiKey <TOKEN>
Hedef yönlendirmeyi yapılandırmak için bu yönetilen ortam kaynak örneğini kullanın:
@secure()
param elasticApiKey string
param elasticOtlpEndpoint string = 'https://<YOUR_ELASTIC_ENDPOINT>:443'
var elasticDestinationName = 'elastic-otlp'
var elasticAuthHeaderValue = 'ApiKey ${elasticApiKey}'
resource environment 'Microsoft.App/managedEnvironments@2026-03-02-preview' = {
name: '<MANAGED_ENVIRONMENT_NAME>'
location: '<REGION>'
properties: {
openTelemetryConfiguration: {
destinationsConfiguration: {
otlpConfigurations: [
{
name: elasticDestinationName
endpoint: elasticOtlpEndpoint
protocol: 'http'
insecure: false
headers: [
{
key: 'Authorization'
value: elasticAuthHeaderValue
}
]
}
]
}
tracesConfiguration: {
destinations: [
elasticDestinationName
]
}
logsConfiguration: {
destinations: [
elasticDestinationName
]
}
metricsConfiguration: {
destinations: [
elasticDestinationName
]
}
}
}
}
Gerekli uygulama ortamı değişkenlerini ayarlamak için bu uygulama kaynağı örneğini kullanın:
resource app 'Microsoft.App/containerApps@2023-05-01' = {
name: '<CONTAINER_APP_NAME>'
location: '<REGION>'
properties: {
managedEnvironmentId: environment.id
template: {
containers: [
{
name: '<CONTAINER_NAME>'
image: '<IMAGE_NAME>'
env: [
{
name: 'OTEL_SERVICE_NAME'
value: '<SERVICE_NAME>'
}
{
name: 'OTEL_TRACES_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_METRICS_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_LOGS_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE'
value: 'cumulative'
}
]
}
]
}
}
}
Bicep yapılandırmanızı deponun kök dizininden uygulayın:
az deployment group create `
--resource-group $RESOURCE_GROUP `
--template-file infra/main.bicep `
--parameters @infra/main.parameters.json `
--parameters elasticOtlpEndpoint="$ELASTIC_OTLP_ENDPOINT" `
--parameters elasticApiKey="$ELASTIC_API_KEY"
Kapsayıcı Uygulamanız artık Elastik'e telemetri gönderecek şekilde yapılandırıldı.
Elastik'te telemetriyi denetleme
Yapılandırmadan sonra günlüklerin, izlemelerin ve ölçümlerin uygulamanızdan gelip gelmediğini denetleyin ve beklenen hizmet kimliğiyle eşleyin.
İş akışınıza uygun Elastik görünümleri kullanın.
Elastic'de keşif ve analiz hakkında daha fazla bilgi için Bkz. Elastik Gözlemlenebilirlik belgeleri.