Vytvoření nastavení diagnostiky ve velkém měřítku pomocí zásad a iniciativ Azure

Aby bylo možné monitorovat prostředky Azure, je potřeba pro každý prostředek vytvořit nastavení diagnostiky. Tento proces může být obtížné spravovat, pokud máte mnoho prostředků. Pokud chcete zjednodušit proces vytváření a používání nastavení diagnostiky ve velkém měřítku, použijte Azure Policy k automatickému generování nastavení diagnostiky pro nové i existující prostředky.

Každý typ prostředku Azure má jedinečnou sadu kategorií uvedených v nastavení diagnostiky. Každý typ prostředku proto vyžaduje samostatnou definici zásady. Některé typy prostředků mají předdefinované definice zásad, které můžete přiřadit bez úprav. Pro jiné typy prostředků můžete vytvořit vlastní definici.

Skupiny kategorií protokolu

Skupiny kategorií protokolů, seskupování podobných typů protokolů Skupiny kategorií usnadňují odkazování na více protokolů v jednom příkazu. Skupina kategorií allLogs existuje obsahující všechny protokoly. K dispozici je také skupina kategorií auditu , která obsahuje všechny protokoly auditu. Pomocí skupiny kategorií můžete definovat zásadu, která se dynamicky aktualizuje při přidání nových kategorií protokolů do skupiny.

Předdefinované definice zásad pro Azure Monitor

Pro každý typ prostředku jsou obecně tři předdefinované definice zásad, které odpovídají třem cílům pro odesílání diagnostiky:

  • Pracovní prostory služby Log Analytics
  • Účty úložiště Azure
  • Centrum událostí

Přiřaďte zásady pro typ prostředku podle toho, jaké cíle potřebujete.

Byla vyvinuta sada předdefinovaných zásad a iniciativ založených na skupinách kategorií protokolu auditu, které vám pomůžou použít nastavení diagnostiky jen s několika kroky. Další informace najdete v tématu Povolení nastavení diagnostiky podle skupiny kategorií pomocí předdefinovaných zásad.

Úplný seznam předdefinovaných zásad pro Azure Monitor najdete v tématu Předdefinované definice služby Azure Policy pro Azure Monitor.

Vlastní definice zásad

U typů prostředků, které nemají předdefinované zásady, je potřeba vytvořit vlastní definici zásad. Novou zásadu můžete vytvořit ručně na webu Azure Portal zkopírováním existující předdefinované zásady a následnou úpravou pro váš typ prostředku. Případně můžete zásadu vytvořit programově pomocí skriptu v Galerie prostředí PowerShell.

Skript Create-AzDiagPolicy vytvoří soubory zásad pro konkrétní typ prostředku, který můžete nainstalovat pomocí PowerShellu nebo Azure CLI. Pomocí následujícího postupu vytvořte vlastní definici zásad pro nastavení diagnostiky:

  1. Ujistěte se, že máte nainstalovaný Azure PowerShell .

  2. Nainstalujte skript pomocí následujícího příkazu:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Spusťte skript pomocí parametrů a určete, kam se mají protokoly odesílat. Zobrazí se výzva k zadání předplatného a typu prostředku.

    Pokud například chcete vytvořit definici zásady, která odesílá protokoly do pracovního prostoru služby Log Analytics a centra událostí, použijte následující příkaz:

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

    Alternativně můžete v příkazu zadat předplatné a typ prostředku. Pokud chcete například vytvořit definici zásady, která odesílá protokoly do pracovního prostoru služby Log Analytics a centra událostí pro databáze SQL Serveru, použijte následující příkaz:

    Create-AzDiagPolicy.ps1 -SubscriptionID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. Skript vytvoří samostatné složky pro každou definici zásad. Každá složka obsahuje tři soubory s názvem azurepolicy.json, azurepolicy.rules.json a azurepolicy.parameters.json. Pokud chcete zásadu vytvořit ručně na webu Azure Portal, můžete obsah azurepolicy.json zkopírovat a vložit, protože obsahuje celou definici zásad. Pomocí dalších dvou souborů pomocí PowerShellu nebo Azure CLI vytvořte definici zásad z příkazového řádku.

    Následující příklady ukazují, jak nainstalovat definici zásady z PowerShellu a Azure CLI. Každý příklad obsahuje metadata pro určení kategorie Monitorování pro seskupení nové definice zásad s integrovanými definicemi zásad.

    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
    

Iniciativa

Místo vytvoření přiřazení pro každou definici zásad je běžnou strategií vytvoření iniciativy, která obsahuje definice zásad pro vytvoření nastavení diagnostiky pro každou službu Azure. Vytvořte přiřazení mezi iniciativou a skupinou pro správu, předplatným nebo skupinou prostředků v závislosti na způsobu správy prostředí. Tato strategie nabízí následující výhody:

  • Vytvořte jedno přiřazení pro iniciativu místo více přiřazení pro každý typ zdroje. Stejnou iniciativu použijte pro více skupin monitorování, předplatných nebo skupin prostředků.
  • Upravte iniciativu, když potřebujete přidat nový typ prostředku nebo cíl. Vaše počáteční požadavky můžou například posílat data jenom do pracovního prostoru služby Log Analytics, ale později chcete přidat centrum událostí. Upravte iniciativu místo vytváření nových přiřazení.

Podrobnosti o vytvoření iniciativy najdete v tématu Vytvoření a přiřazení definice iniciativy. Zvažte následující doporučení:

  • Nastavte kategorii na Monitorování a seskupte ji pomocí souvisejících předdefinovaných a vlastních definic zásad.
  • Místo zadání podrobností pracovního prostoru služby Log Analytics a centra událostí pro definice zásad zahrnutých v iniciativě použijte společný parametr iniciativy. Tento parametr umožňuje snadno zadat společnou hodnotu pro všechny definice zásad a v případě potřeby tuto hodnotu změnit.

Snímek obrazovky znázorňující nastavení definice iniciativy

Přiřazení

Přiřaďte iniciativu skupině pro správu Azure, předplatnému nebo skupině prostředků v závislosti na rozsahu vašich prostředků, který chcete monitorovat. Skupina pro správu je užitečná pro zásady rozsahu, zejména pokud má vaše organizace více předplatných.

Snímek obrazovky s nastavením karty Základy v části Přiřadit nastavení iniciativy nastavení diagnostiky k pracovnímu prostoru Služby Log Analytics na webu Azure Portal

Pomocí parametrů iniciativy můžete zadat pracovní prostor nebo jakékoli další podrobnosti jednou pro všechny definice zásad v iniciativě.

Snímek obrazovky znázorňující parametry iniciativy na kartě Parametry

Náprava

Iniciativa se použije na každý virtuální počítač při jeho vytvoření. Úloha nápravy nasadí definice zásad v iniciativě do existujících prostředků, takže můžete vytvořit nastavení diagnostiky pro všechny prostředky, které už byly vytvořeny.

Při vytváření přiřazení pomocí webu Azure Portal máte možnost vytvořit současně úlohu nápravy. Podrobnosti o nápravě najdete v tématu Náprava nekompatibilních prostředků se službou Azure Policy .

Snímek obrazovky znázorňující nápravu iniciativy pro pracovní prostor služby Log Analytics

Řešení problému

Kategorie metrik není podporována.

Při nasazování nastavení diagnostiky se zobrazí chybová zpráva podobná kategorii metrik xxxx není podporována. Tato chyba se může zobrazit, i když vaše předchozí nasazení proběhlo úspěšně.

K tomuto problému dochází při použití šablony Resource Manageru, rozhraní REST API, Azure CLI nebo Azure PowerShellu. Nastavení diagnostiky vytvořené prostřednictvím webu Azure Portal nejsou ovlivněná, protože se zobrazují jenom podporované názvy kategorií.

Příčinou problému je nedávná změna základního rozhraní API. Jiné kategorie metrik než AllMetrics nejsou podporované a nikdy nebyly s výjimkou několika konkrétních služeb Azure. V minulosti se při nasazování nastavení diagnostiky ignorovaly jiné názvy kategorií. Back-end služby Azure Monitor tyto kategorie přesměroval na AllMetrics. Od února 2021 se back-end aktualizoval, aby konkrétně potvrdil, že je zadaná kategorie metrik přesné. Tato změna způsobila selhání některých nasazení.

Pokud se zobrazí tato chyba, aktualizujte nasazení tak, aby nahradila názvy kategorií metrik názvem AllMetrics, aby se problém vyřešil. Pokud nasazení dříve přidávalo více kategorií, měl by být zachován pouze jeden s odkazem AllMetrics. Pokud problém přetrvává, obraťte se na podpora Azure prostřednictvím webu Azure Portal.

Nastavení zmizí kvůli jiným znakům než ASCII v id prostředku

Nastavení diagnostiky nepodporují identifikátory resourceID s znaky bez ASCII (například Preproducción). Vzhledem k tomu, že nemůžete přejmenovat prostředky v Azure, jedinou možností je vytvořit nový prostředek bez znaků ASCII. Pokud jsou znaky ve skupině prostředků, můžete prostředky přesunout do nové. V opačném případě budete muset prostředek vytvořit znovu.

Další kroky