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.

Uyarı

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:

Dahili rol Kapsamlar Nedeni
Katkı Sağlayıcıyı İzleme
  • Abonelik ve/veya
  • Kaynak grubu ve/veya
  • Mevcut bir DCR
DCR'ler oluşturun veya düzenleyin, makineye kurallar atayın, ilişkilerin kurulumunu gerçekleştirin.
Sanal Makine Katkı Sağlayıcı
Azure Bağlı Makine Kaynak Yöneticisi
  • Sanal makineler, sanal makine ölçek kümeleri
  • Azure Arc özellikli sunucular
Sanal makinelerde (VM) aracı uzantılarını dağıtın.
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ız veya Azure Monitor ç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
VM içgörülerini etkinleştir 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. Ayrıntılar için Veri toplama kuralı (DCR) oluşturma ve ölçüm dışarı aktarma başlıklı bölüme bakın.
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 ve bir dönüştürme yapmak için kullandığı örnek verileri karşıya yüklersiniz. Bu dönüştürme, Logs Ingestion API ile kullanılabilir. 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. Dönüştürme eklemek için Container Insights DCR'ı değiştirmeniz gerekebilir. Bkz Kubernetes kümeleri için izlemenin etkinleştirilmesi ve Kapsayıcı içgörülerinde veri dönüştürmeleri.
Çalışma alanı dönüşümü 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. Bakın Çalışma alanı dönüşüm DCR'si oluşturma.

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.

Uyarı

Azure portalını kullanarak mevcut bir veri toplama kuralını (DCR) düzenlerseniz, bu özellikler portalda desteklenmiyorsa doğrudan DCR'nin JSON'unu düzenleyerek yapılan değişikliklerin üzerine yazılır. Örneğin, bir veri kaynağı için DCR'ye portalda dönüştürme oluşturulmasına izin vermeyecek bir dönüştürme eklerseniz, portalda DCR'yi daha sonra düzenlerseniz bu dönüştürme kaldırılır. Bu durumda, JSON'ı doğrudan düzenleyerek DCR'de herhangi bir değişiklik yapmaya devam etmeniz gerekir.

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

Tavsiye

DCR'nin JSON tanımını görüntülemek için bkz. DCR tanımını görüntüleme.

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'

Uyarı

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 düğmesine 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 Logs Ingestion Bytes per Min ve Logs Rows Received per Min gibi ölçümleri kontrol edin. 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 düşüp düşmediğini kontrol etmek için Logs Rows Dropped per Min kontrol edin. Satırlar bir dönüşümle kaldırılmış olabileceğinden bu durum bir hata belirtisi olmayabilir. Bırakılan satırlar Logs Rows Dropped per Min ile aynıysa, çalışma alanına herhangi bir 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. Veri alımı sırasında günlüğe kaydedilen hatalar için DCRLogErrors tablosunu kontrol edin. Bu, sorunun kök nedenini belirleme konusunda ek ayrıntılar sağlayabilir.

Sonraki Adımlar