Aracılığıyla paylaş


Azure İzleyici'de veri toplama kuralları (DCR) oluşturma

Azure İzleyici'de veri toplama kuralı (DCR) oluşturmak için birden çok yöntem vardır. Bazı durumlarda Azure İzleyici, DCR'yi Azure portalında yapılandırdığınız ayarlara göre oluşturur ve yönetir. Bu durumların bazılarında DCR ile çalıştığınızı bile fark edemeyebilirsiniz. Ancak diğer senaryolar için kendi DCR'lerinizi oluşturmanız veya mevcut olanları doğrudan JSON'da tanımlarıyla çalışarak düzenlemeniz gerekebilir. Bu makalede, DCR oluşturmak için farklı yöntemler ve bunları düzenleme ve sorun giderme önerileri açıklanmaktadır.

Not

Bu makalede DCR'nin kendisini oluşturma ve düzenleme işlemleri açıklanır. Veri toplama kuralı ilişkilendirmeleri oluşturmak ve düzenlemek için bkz . Veri toplama kuralı ilişkilendirmelerini oluşturma ve yönetme.

İzinler

DCR'ler ve DCR ilişkilendirmeleri oluşturmak için aşağıdaki izinlere ihtiyacınız vardır:

Yerleşik rol Kapsamlar Nedeni
İzleme Katkıda Bulunanı
  • Abonelik ve/veya
  • Kaynak grubu ve/veya
  • Mevcut bir DCR
DCR'ler oluşturun veya düzenleyin, makineye kurallar atayın, ilişkileri dağıtın.
Sanal Makine Katılımcısı
Azure Bağlı Makine Kaynak Yöneticisi
  • Sanal makineler, sanal makine ölçek kümeleri
  • Azure Arc özellikli sunucular
VM'de aracı uzantılarını dağıtma (sanal makine).
Microsoft.Resources/deployments/ eylemini içeren herhangi bir rol*
  • Abonelik ve/veya
  • Kaynak grubu ve/veya
  • Mevcut bir DCR
Azure Resource Manager şablonlarını dağıtma.

Önemli

DCR'nizi hedef Log Analytics çalışma alanınızla veya Azure İzleyici çalışma alanınızla aynı bölgede oluşturun. DCR'yi kiracıdaki herhangi bir abonelikten veya kaynak grubundan makinelere veya kapsayıcılara ilişkilendirebilirsiniz. Kiracılar arasında veri göndermek için önce Azure Lighthouse'ı etkinleştirmeniz gerekir.

Azure portalını kullanarak DCR oluşturma veya düzenleme

Azure portalı, belirli senaryolar için DCR oluşturmaya yönelik basitleştirilmiş bir deneyim sağlar. Bu yöntemi kullanarak DCR'nin yapısını anlamanız gerekmez, ancak gerçekleştirebileceğiniz yapılandırmada sınırlı olabilirsiniz ve dönüştürme gibi gelişmiş bir özelliği uygulamak için daha sonra DCR tanımını düzenlemeniz gerekebilir. Deneyim her senaryo için farklılık gösterir, bu nedenle aşağıdaki tabloda açıklandığı gibi üzerinde çalıştığınız belirli senaryonun belgelerine bakın.

Senaryo Açıklama
Sanal makine içgörülerini etkinleştirme VM'de VM İçgörüleri'ni etkinleştirdiğinizde Azure İzleyici aracısı yüklenir ve bir DCR oluşturulur ve sanal makineyle ilişkilendirilir. Bu DCR önceden tanımlanmış bir performans sayaçları kümesi toplar ve değiştirilmemelidir. Bkz. VM İçgörülerini Etkinleştirme.
VM'den istemci verileri toplama Bir VM'nin istemci işletim sisteminden farklı veri kaynaklarını seçmek için kılavuzlu bir arabirim kullanarak Azure portalında DCR oluşturun. Örnek olarak Windows olayları, Syslog olayları ve metin günlükleri verilebilir. Gerekirse Azure İzleyici aracısı otomatik olarak yüklenir ve DCR ile seçtiğiniz her VM arasında bir ilişkilendirme oluşturulur. Bkz. Azure İzleyici Aracısı ile veri toplama.
Ölçümleri dışarı aktarma Toplayacak farklı kaynak türlerinin ölçümlerini seçmek için kılavuzlu bir arabirim kullanarak Azure portalında bir DCR oluşturun. DCR ile seçtiğiniz her kaynak arasında bir ilişkilendirme oluşturulur. Ölçüm dışarı aktarma için bkz. Veri toplama kuralı (DCR) oluşturma.
Tablo oluşturma Azure portalını kullanarak Log Analytics çalışma alanında yeni bir tablo oluşturduğunuzda, Azure İzleyici'nin DCR oluşturmak için kullandığı günlük alımı API'si ile kullanılabilecek bir dönüştürme de dahil olmak üzere örnek verileri karşıya yüklersiniz. Bu DCR'yi Azure portalında değiştiremezsiniz ancak bu makalede açıklanan yöntemlerden herhangi birini kullanarak değiştirebilirsiniz. Bkz. Özel tablo oluşturma.
Kubernetes izleme Kubernetes kümesini izlemek için günlükler için Container Insights'ı ve ölçümler için Prometheus'ı etkinleştirirsiniz. Her biri için bir DCR oluşturulur ve kümedeki Azure İzleyici aracısının kapsayıcılı sürümüyle ilişkilendirilir. Kapsayıcı içgörüleri DCR'sini dönüştürme eklemek için değiştirmeniz gerekebilir. Bkz. Kapsayıcı içgörülerinde Kubernetes kümeleri ve Veri dönüştürmeleri için izlemeyi etkinleştirme.
Çalışma alanı dönüştürme DCR Çalışma alanı dönüştürme DCR'leri henüz DCR kullanmayan veri toplama senaryoları için dönüştürmeler sağlar. Belirli bir tablo için dönüştürme oluşturmak üzere Azure portalını kullanarak bu DCR'yi oluşturabilirsiniz. Bkz . Çalışma alanı dönüştürme DCR'lerini oluşturma.

DCR tanımı

Nasıl oluşturulduğundan bağımsız olarak, her DCR'nin standart bir JSON şemasını izleyen bir tanımı vardır. Azure portalı dışında bir yöntem kullanarak DCR oluşturmak veya düzenlemek için doğrudan JSON tanımıyla çalışmanız gerekir. Azure portalı DCR'yi gerektiği gibi yapılandırmak için bir yol sağlamadığından bazı senaryolarda JSON tanımıyla çalışmanız gerekir.

Genel Bakış menüsünde JSON görünümüne tıklayarak Azure portalında DCR için JSON görüntüleyebilirsiniz.

Azure portalında DCR için JSON görüntüleme seçeneğini gösteren ekran görüntüsü.

API sürümü açılan listesinde API'nin en son sürümünün seçili olduğunu doğrulayın. Aksi takdirde bazı JSON'lar görüntülenmeyebilir.

Azure portalında DCR için JSON'yi gösteren ekran görüntüsü.

DCR REST API'sini çağırarak DCR için JSON'yi de alabilirsiniz. Örneğin, aşağıdaki PowerShell betiği bir DCR için JSON'yi alır ve bir dosyaya kaydeder.

$ResourceId = "<ResourceId>" # Resource ID of the DCR to edit
$FilePath = "<FilePath>" # File to store DCR content
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File -FilePath $FilePath

Not

PowerShell'deki cmdlet'i veya az monitor data-collection rule show Azure CLI'daki komutu kullanarak Get-AzDataCollectionRule DCR'nin ayrıntılarını alabilirsiniz, ancak JSON'ı düzenlemek için gereken biçimde sağlamaz. Bunun yerine, örnekte gösterildiği gibi REST API'yi çağırmak için PowerShell veya CLI kullanın.

JSON kullanarak DCR oluşturma veya düzenleme

Mevcut bir DCR'yi düzenlemeye ek olarak, çeşitli yaygın senaryolar için JSON sağlayan örnek DCR'lerden birini kullanarak yeni bir tane oluşturabilirsiniz. Belirli ortamınız ve gereksinimleriniz için JSON dosyasını değiştirmek için Azure İzleyici'de veri toplama kuralının yapısı'ndaki bilgileri kullanın.

DCR'nizin tanımına sahip olduktan sonra Azure portalı, CLI, PowerShell, API veya ARM şablonlarını kullanarak Azure İzleyici'ye dağıtabilirsiniz.

CLI ile DCR oluşturma veya düzenleme

JSON dosyanızdan DCR oluşturmak için az monitor data-collection rule create komutunu kullanın. Mevcut bir DCR'yi güncelleştirmek için aynı komutu kullanabilirsiniz.

az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'

Not

DCR oluşturmak ve düzenlemek için PowerShell veya CLI komutlarını kullanmayı seçebilirsiniz ancak derleme hataları varsa API ve ARM yöntemleri daha ayrıntılı hata iletileri sağlar.

Aşağıdaki örnekte DCR, hedef Log Analytics çalışma alanında mevcut olmayan bir tablo adı belirtir. PowerShell komutu genel bir hata iletisi döndürür, ancak API çağrısı tam hatayı belirten ayrıntılı bir hata iletisi döndürür.

PowerShell komutu kullanılırken DCR için hata iletisini gösteren ekran görüntüsü.

API kullanılırken DCR için hata iletisini gösteren ekran görüntüsü.

DCR'yi düzenleme ve test etme stratejileri

Bir DCR'yi JSON tanımını kullanarak oluşturduğunuzda veya düzenlediğinizde, istediğiniz işlevselliği elde etmek için genellikle birden çok güncelleştirme yapmanız gerekir. DCR'yi güncelleştirmek, beklediğiniz sonuçları alamıyorsanız sorunu gidermek ve ardından ek güncelleştirmeler yapmak için verimli bir yönteme ihtiyacınız vardır. Bu durum özellikle DCR'ye bir dönüşüm ekliyorsanız geçerlidir çünkü sorgunun beklendiği gibi çalıştığını doğrulamanız gerekir. JSON'ı doğrudan Azure portalında düzenleyemezseniz kullanabileceğiniz bazı stratejiler aşağıdadır.

DCR kaynağı olarak yerel dosyayı kullanma

Oluşturduğunuz ve düzenlediğiniz DCR'lerin kaynağı olarak yerel bir JSON dosyası kullanırsanız, her zaman DCR tanımının en son sürümüne erişiminiz olduğundan emin olursunuz. Değişikliklerinizi yönetmek için GitHub veya Azure DevOps gibi sürüm denetimi araçlarını kullanmak istiyorsanız bu idealdir. Ayrıca VS Code gibi bir düzenleyiciyi kullanarak DCR'de değişiklik yapabilir ve ardından komut satırı araçlarını kullanarak Azure İzleyici'de DCR'yi yukarıda açıklandığı gibi güncelleştirebilirsiniz.

Aşağıda, değişiklikleri bir kaynak dosyadan DCR'ye göndermek için kullanabileceğiniz örnek bir PowerShell betiği verilmiştir. Bu, kaynak dosyanın Azure İzleyici'ye göndermeden önce geçerli bir JSON olduğunu doğrular.

param (
    [Parameter(Mandatory = $true)][string]$ResourceId,  # Resource ID of the DCR
    [Parameter(Mandatory = $true)][string]$FilePath  # Path to the DCR JSON file to upload
)

# Read the DCR content from the file
Write-Host "Reading new DCR content from: $FilePath" -ForegroundColor Green
$DCRContent = Get-Content $FilePath -Raw

# Ensure the DCR content is valid JSON
try {
    $ParsedDCRContent = $DCRContent | ConvertFrom-Json
} catch {
    Write-Host "Invalid JSON content in file: $FilePath" -ForegroundColor Red
    exit 1
}

# Create or update the DCR in the specified resource group
Write-Host "Deploying DCR $ResourceId ..." -ForegroundColor Green
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent		

DCR içeriğini geçici dosyaya kaydetme

Yerel bir dosyada DCR tanımı yoksa, tanımı Azure İzleyici'den alabilir ve geçici bir dosyaya kaydedebilirsiniz. Ardından, güncelleştirmeleri Azure İzleyici'ye göndermeden önce VS Code gibi bir düzenleyici kullanarak dosyayı düzenleyebilirsiniz.

Aşağıda, Azure İzleyici'de mevcut bir DCR'yi düzenlemek için kullanabileceğiniz örnek bir PowerShell betiği verilmiştir. Betik, VS Code'ı başlatmadan önce DCR tanımını alır ve geçici bir dosyaya kaydeder. Betikte değişikliklerinizi kaydettiğinizi belirttikten sonra DCR yeni içerikle güncelleştirilir ve geçici dosya silinir.

param ([Parameter(Mandatory=$true)] $ResourceId)

# Get DCR content and save it to a local file
$FilePath = "temp.dcr"
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File $FilePath

# Open DCR in code editor
code $FilePath | Wait-Process

{ 
	#write DCR content back from the file
	$DCRContent = Get-Content $FilePath -Raw
	Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent		
}

#Delete temporary file
Remove-Item $FilePath

DCR'yi yerinde düzenlemek için ARM şablonu kullanma

Düzenlemelerinizi tamamen Azure portalında gerçekleştirmek istiyorsanız, DCR için ARM şablonunu almak için Şablonu dışarı aktarma özelliğini kullanabilirsiniz. Ardından JSON'da tanımı değiştirebilir ve Azure portalında yeniden dağıtabilirsiniz.

  1. Azure portalında değiştirmek istediğiniz DCR'yi seçin ve şablonu dışarı aktar'ı seçin. Ardından, aynı şablonu yeniden dağıtmak için Dağıt'a tıklayın.

    Azure portalında veri toplama kuralı için Şablonu dışarı aktar seçeneğini gösteren ekran görüntüsü.

  2. DCR için JSON'un düzenlenebilir bir sürümünü açmak için Şablonu düzenle'ye tıklayın. Parametre değerlerini değiştirmeyin.

    Azure portalında veri toplama kuralı için Şablonu düzenle seçeneğini gösteren ekran görüntüsü.

  3. DCR'de gerekli değişiklikleri yapın ve kaydet'e tıklayın.

    Azure portalında bir veri toplama kuralı için düzenlenebilir JSON'ı gösteren ekran görüntüsü.

  4. Yeni bir DCR oluşturmak istiyorsanız name parametresini değiştirin. Aksi takdirde, parametreleri değiştirmeden bırakın. Değiştirilen şablonu dağıtmak için Gözden Geçir + oluştur'a ve yeni DCR'yi oluşturmak için Oluştur'a tıklayın.

    Azure portalında bir veri toplama kuralı için gözden geçirme + oluşturma seçeneğini gösteren ekran görüntüsü.

  5. DCR hatasız olarak geçerliyse dağıtım başarılı olur ve DCR yeni yapılandırmayla güncelleştirilir. Değiştirilen DCR'yi açmak için Kaynağa git'e tıklayın.

    Azure portalında veri toplama kuralı için başarılı bir dağıtımı gösteren ekran görüntüsü.

  6. DCR'de derleme hataları varsa dağıtımınızın başarısız olduğunu belirten bir ileti alırsınız. Hatanın ayrıntılarını görüntülemek için Hata ayrıntıları ve İşlem ayrıntıları'na tıklayın. DCR'de gerekli değişiklikleri yapmak için Yeniden Dağıt'a ve sonra şablonu yeniden düzenle'ye tıklayın ve sonra yeniden kaydedip dağıtın.

    Azure portalında veri toplama kuralı için başarısız dağıtımı gösteren ekran görüntüsü.

Veri toplamayı doğrulama ve sorun giderme

DCR'yi yükledikten sonra değişikliklerin etkili olması ve verilerin güncelleştirilmiş DCR ile toplanması birkaç dakika sürebilir. Herhangi bir verinin toplandığını görmüyorsanız, sorunun kök nedenini belirlemek zor olabilir. Sorun gidermeye yardımcı olmak için ölçümleri ve günlükleri içeren DCR izleme özelliklerini kullanın.

DCR ölçümleri tüm DCR'ler için otomatik olarak toplanır ve diğer Azure kaynakları için platform ölçümleri gibi ölçüm gezginini kullanarak bunları analiz edebilirsiniz. Veri işleme başarılı olmadığında ayrıntılı hata bilgilerini almak için DCR hata günlüklerini etkinleştirin.

Toplanan verileri görmüyorsanız sorunu gidermek için bu temel adımları izleyin.

  1. Verilerin Azure İzleyici'ye ulaştığından emin olmak için ve Logs Rows Received per Min gibi Logs Ingestion Bytes per Min ölçümleri denetleyin. Aksi takdirde, veri kaynağınızın verileri beklendiği gibi gönderdiğine emin olmak için veri kaynağınızı denetleyin.
  2. Herhangi bir satırın bırakılıp bırakılmadığını denetleyin Logs Rows Dropped per Min . Satırlar bir dönüştürme tarafından bırakılabildiğinden bu bir hata göstermeyebilir. Bırakılan satırlar ile aynıysa Logs Rows Dropped per Min , çalışma alanına veri alınmaz. Herhangi bir dönüştürme hatası olup olmadığını görmek için öğesini Logs Transformation Errors per Min inceleyin.
  3. Logs Transformation Errors per Min Gelen verilere uygulanan dönüştürmelerden herhangi bir hata olup olmadığını denetleyin. Bunun nedeni veri yapısındaki değişiklikler veya dönüşümün kendisi olabilir.
  4. Günlüğe DCRLogErrors kaydedilmiş olabilecek alım hataları için tabloyu denetleyin. Bu, sorunun kök nedenini belirleme konusunda ek ayrıntılar sağlayabilir.

Sonraki adımlar