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.
Existuje 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 pouze 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:
Ujistěte se, že máte nainstalovaný Azure PowerShell .
Nainstalujte skript pomocí následujícího příkazu:
Install-Script -Name Create-AzDiagPolicy
Spusťte skript pomocí parametrů a určete, kam se mají protokoly odesílat. Na příkazovém řádku zadejte předplatné a typ 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 <subscription id> -ResourceType Microsoft.Sql/servers/databases -ExportLA -ExportEH -ExportDir ".\PolicyFiles"
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.
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.
Pomocí parametrů iniciativy můžete zadat pracovní prostor nebo jakékoli další podrobnosti jednou pro všechny definice zásad v iniciativě.
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 .
Ř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í.
Jiné kategorie metrik než AllMetrics
nejsou podporované s výjimkou omezeného počtu služeb Azure. Dříve byly při nasazování nastavení diagnostiky ignorovány jiné názvy kategorií, které je přesměrovávají na AllMetrics
. Od února 2021 se ověří poskytnutá kategorie metrik. Tato změna způsobila selhání některých nasazení.
Pokud chcete tento problém vyřešit, aktualizujte nasazení tak, aby se odebraly jiné názvy kategorií metrik než AllMetrics
. Pokud nasazení přidá více kategorií, použijte pouze jednu AllMetrics
kategorii. 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 Preproduccón). Vzhledem k tomu, že nemůžete přejmenovat prostředky v Azure, musíte vytvořit nový prostředek bez znaků bez znaků ASCII. Pokud jsou znaky ve skupině prostředků, můžete prostředky přesunout do nové skupiny.