Azure İlkeleri ve Girişimlerini kullanarak büyük ölçekte tanılama ayarları oluşturma

Azure kaynaklarını izlemek için her kaynak için tanılama ayarları oluşturmak gerekir. Çok fazla kaynağınız olduğunda bu işlemi yönetmek zor olabilir. Tanılama ayarlarını büyük ölçekte oluşturma ve uygulama işlemini basitleştirmek için Azure İlkesi kullanarak hem yeni hem de mevcut kaynaklar için tanılama ayarlarını otomatik olarak oluşturun.

Her Azure kaynak türü, tanılama ayarlarında listelenen benzersiz bir kategori kümesine sahiptir. Bu nedenle her kaynak türü ayrı bir ilke tanımı gerektirir. Bazı kaynak türleri, değişiklik yapmadan atayabileceğiniz yerleşik ilke tanımlarına sahiptir. Diğer kaynak türleri için özel bir tanım oluşturabilirsiniz.

Günlük kategorisi grupları

Günlük kategorisi grupları, benzer günlük türlerini birlikte gruplandırın. Kategori grupları, tek bir komutta birden çok günlüğe başvurmayı kolaylaştırır. Tüm günlükleri içeren bir allLogs kategori grubu vardır. Ayrıca tüm denetim günlüklerini içeren bir denetim kategorisi grubu da vardır. kullanarak bir kategori grubuna yeni günlük kategorileri eklendikçe dinamik olarak güncelleştirilen bir ilke tanımlayabilirsiniz.

Azure İzleyici için yerleşik ilke tanımları

Genellikle her kaynak türü için tanılama gönderilecek üç hedefe karşılık gelen üç yerleşik ilke tanımı vardır:

  • Log Analytics çalışma alanları
  • Azure Depolama hesapları
  • Olay hub’ları

İhtiyacınız olan hedeflere göre kaynak türü için ilkeleri atayın.

Yalnızca birkaç adımla tanılama ayarlarını uygulamanıza yardımcı olmak için denetim günlüğü kategori gruplarını temel alan yerleşik ilkeler ve girişimler kümesi geliştirilmiştir. Daha fazla bilgi için bkz . Yerleşik ilkeleri kullanarak kategori grubuna göre tanılama ayarlarını etkinleştirme.

Azure İzleyici'ye yönelik yerleşik ilkelerin tam listesi için bkz. Azure İzleyici için yerleşik tanımları Azure İlkesi

Özel ilke tanımları

Yerleşik ilkesi olmayan kaynak türleri için özel bir ilke tanımı oluşturmanız gerekir. Mevcut bir yerleşik ilkeyi kopyalayıp kaynak türünüz için değiştirerek Azure portalında el ile yeni bir ilke oluşturabilirsiniz. Alternatif olarak, PowerShell Galerisi bir betik kullanarak ilkeyi program aracılığıyla oluşturun.

Create-AzDiagPolicy betiği, PowerShell veya Azure CLI kullanarak yükleyebileceğiniz belirli bir kaynak türü için ilke dosyaları oluşturur. Tanılama ayarları için özel bir ilke tanımı oluşturmak için aşağıdaki yordamı kullanın:

  1. Azure PowerShell'in yüklü olduğundan emin olun.

  2. Aşağıdaki komutu kullanarak betiği yükleyin:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Günlüklerin nereye gönderileceğini belirtmek için parametreleri kullanarak betiği çalıştırın. Bir abonelik ve kaynak türü belirtmeniz istenir.

    Örneğin, Log Analytics çalışma alanına ve olay hub'ına günlük gönderen bir ilke tanımı oluşturmak için aşağıdaki komutu kullanın:

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    

    Alternatif olarak, komutunda bir abonelik ve kaynak türü belirtebilirsiniz. Örneğin, günlükleri Log Analytics çalışma alanına ve SQL Server veritabanları için olay hub'ına gönderen bir ilke tanımı oluşturmak için aşağıdaki komutu kullanın:

    Create-AzDiagPolicy.ps1 -SubscriptionID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. Betik, her ilke tanımı için ayrı klasörler oluşturur. Her klasör azurepolicy.json, azurepolicy.rules.json ve azurepolicy.parameters.json adlı üç dosya içerir. İlkeyi Azure portalında el ile oluşturmak istiyorsanız, ilke tanımının tamamını içerdiğinden azurepolicy.json dosyasının içeriğini kopyalayıp yapıştırabilirsiniz. İlke tanımını bir komut satırından oluşturmak için PowerShell veya Azure CLI ile diğer iki dosyayı kullanın.

    Aşağıdaki örneklerde hem PowerShell'den hem de Azure CLI'dan ilke tanımının nasıl yükleneceği gösterilmektedir. Her örnek, yeni ilke tanımını yerleşik ilke tanımlarıyla gruplandırmak için bir İzleme kategorisi belirtmek için meta veriler içerir.

    New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'
    
    az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace'  --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
    

Girişim

Her ilke tanımı için bir atama oluşturmak yerine yaygın bir strateji, her Azure hizmeti için tanılama ayarları oluşturmak üzere ilke tanımlarını içeren bir girişim oluşturmaktır. Ortamınızı nasıl yönettiğinize bağlı olarak girişim ile yönetim grubu, abonelik veya kaynak grubu arasında bir atama oluşturun. Bu strateji aşağıdaki avantajları sunar:

  • Her kaynak türü için birden çok atama yerine girişim için tek bir atama oluşturun. Birden çok izleme grubu, abonelik veya kaynak grubu için aynı girişimi kullanın.
  • Yeni bir kaynak türü veya hedef eklemeniz gerektiğinde girişimi değiştirin. Örneğin, ilk gereksinimleriniz yalnızca Log Analytics çalışma alanına veri göndermek olabilir, ancak daha sonra bir olay hub'ı eklemek isteyebilirsiniz. Yeni atamalar oluşturmak yerine girişimi değiştirin.

Girişim oluşturma hakkında ayrıntılı bilgi için bkz . Girişim tanımı oluşturma ve atama. Aşağıdaki önerileri gözden geçirin:

  • Kategori'yi İzleme olarak ayarlayarak ilgili yerleşik ve özel ilke tanımlarıyla gruplandırma yapın.
  • Log Analytics çalışma alanının ayrıntılarını ve girişime dahil edilen ilke tanımları için olay hub'ını belirtmek yerine ortak bir girişim parametresi kullanın. Bu parametre, tüm ilke tanımları için kolayca ortak bir değer belirtmenize ve gerekirse bu değeri değiştirmenize olanak tanır.

Screenshot that shows settings for initiative definition.

Atama

İzlenecek kaynaklarınızın kapsamına bağlı olarak girişimi bir Azure yönetim grubuna, aboneliğe veya kaynak grubuna atayın. Yönetim grubu , özellikle kuruluşunuzun birden çok aboneliği varsa kapsam belirleme ilkesi için kullanışlıdır.

Screenshot of the settings for the Basics tab in the Assign initiative section of the Diagnostic settings to Log Analytics workspace in the Azure portal.

Girişim parametrelerini kullanarak, girişimdeki tüm ilke tanımları için çalışma alanını veya diğer ayrıntıları bir kez belirtebilirsiniz.

Screenshot that shows initiative parameters on the Parameters tab.

Düzeltme

Girişim, oluşturulduktan sonra her sanal makineye uygulanır. Düzeltme görevi girişimdeki ilke tanımlarını mevcut kaynaklara dağıtır, böylece önceden oluşturulmuş tüm kaynaklar için tanılama ayarları oluşturabilirsiniz.

Atamayı Azure portalını kullanarak oluşturduğunuzda, aynı anda bir düzeltme görevi oluşturma seçeneğiniz vardır. Düzeltmeyle ilgili ayrıntılar için bkz. uyumlu olmayan kaynakları Azure İlkesi ile düzeltme.

Screenshot that shows initiative remediation for a Log Analytics workspace.

Sorun giderme

Ölçüm kategorisi desteklenmiyor

Bir tanılama ayarı dağıtırken, 'xxxx' Ölçüm kategorisi desteklenmez gibi bir hata iletisi alırsınız. Önceki dağıtımınız başarılı olsa bile bu hatayı alabilirsiniz.

Sorun Resource Manager şablonu, REST API, Azure CLI veya Azure PowerShell kullanılırken oluşur. Azure portalı aracılığıyla oluşturulan tanılama ayarları, yalnızca desteklenen kategori adları sunulduğundan etkilenmez.

Sorun, temel alınan API'de yapılan son değişikliklerden kaynaklanır. 'AllMetrics' dışındaki ölçüm kategorileri desteklenmez ve belirli birkaç Azure hizmeti dışında hiçbir zaman desteklenmez. Geçmişte, bir tanılama ayarı dağıtılırken diğer kategori adları yoksayılırdı. Azure İzleyici arka ucu bu kategorileri 'AllMetrics' olarak yeniden yönlendirdi. Şubat 2021 itibarıyla arka uç, sağlanan ölçüm kategorisinin doğru olduğunu onaylayacak şekilde güncelleştirildi. Bu değişiklik bazı dağıtımların başarısız olmasına neden oldu.

Bu hatayı alırsanız, sorunu çözmek için dağıtımlarınızı güncelleştirerek tüm ölçüm kategorisi adlarını 'AllMetrics' ile değiştirin. Dağıtım daha önce birden çok kategori ekliyorsa, yalnızca 'AllMetrics' başvurusu olan bir tane tutulmalıdır. Sorun yaşamaya devam ederseniz Azure portalı üzerinden Azure desteği ile iletişime geçin.

ResourceID'de ASCII olmayan karakterler nedeniyle ayar kayboluyor

Tanılama ayarları, ASCII olmayan karakterler içeren kaynak kimliklerini desteklemez (örneğin, Preproducción). Azure'da kaynakları yeniden adlandıramazsınız, tek seçeneğiniz ASCII olmayan karakterler olmadan yeni bir kaynak oluşturmaktır. Karakterler bir kaynak grubundaysa, altındaki kaynakları yeni bir gruba taşıyabilirsiniz. Aksi takdirde kaynağı yeniden oluşturmanız gerekir.

Sonraki adımlar