Diagnosztikai beállítások létrehozása nagy méretekben az Azure-szabályzatok és kezdeményezések használatával

Az Azure-erőforrások monitorozásához diagnosztikai beállításokat kell létrehozni az egyes erőforrásokhoz. Ezt a folyamatot nehéz lehet kezelni, ha sok erőforrással rendelkezik. A diagnosztikai beállítások nagy léptékű létrehozásának és alkalmazásának egyszerűsítése érdekében az Azure Policy használatával automatikusan létrehozhat diagnosztikai beállításokat mind az új, mind a meglévő erőforrásokhoz.

Minden Azure-erőforrástípus egyedi kategóriákat sorol fel a diagnosztikai beállítások között. Ezért minden erőforrástípushoz külön szabályzatdefiníció szükséges. Egyes erőforrástípusok beépített szabályzatdefiníciókkal rendelkeznek, amelyeket módosítás nélkül rendelhet hozzá. Más erőforrástípusok esetén létrehozhat egy egyéni definíciót.

Naplókategória-csoportok

Naplókategória-csoportok, hasonló típusú naplók csoportosítása. A kategóriacsoportok segítségével egyszerűen hivatkozhat több naplóra egyetlen parancsban. Létezik egy allLogs kategóriacsoport, amely az összes naplót tartalmazza. Van egy naplózási kategóriacsoport is, amely tartalmazza az összes naplót. Egy kategóriacsoport használatával meghatározhat egy olyan szabályzatot, amely dinamikusan frissül, amikor új naplókategóriákat ad hozzá a csoporthoz.

Beépített szabályzatdefiníciók az Azure Monitorhoz

Az egyes erőforrástípusokhoz általában három beépített szabályzatdefiníció tartozik, amelyek a következő három célhelynek felelnek meg:

  • Log Analytics-munkaterületek
  • Azure Storage-fiókok
  • Event Hubs

Rendelje hozzá az erőforrástípus szabályzatait a szükséges célhelyekhez.

A naplózási naplókategória-csoportokon alapuló szabályzatok és kezdeményezések készletét úgy fejlesztettük ki, hogy csak néhány lépéssel segítsük a diagnosztikai beállítások alkalmazását. További információ: Diagnosztikai beállítások engedélyezése kategóriacsoportonként beépített szabályzatok használatával.

Az Azure Monitor beépített szabályzatainak teljes listáját az Azure Monitor beépített Azure Policy-definícióiban találja .

Egyéni szabályzatdefiníciók

A beépített szabályzattal nem rendelkező erőforrástípusokhoz egyéni szabályzatdefiníciót kell létrehoznia. Létrehozhat manuálisan egy új szabályzatot az Azure Portalon egy meglévő beépített szabályzat másolásával, majd az erőforrástípus módosításával. Másik lehetőségként a szabályzatot programozott módon is létrehozhatja egy szkript használatával a PowerShell-galéria.

A Create-AzDiagPolicy szkript szabályzatfájlokat hoz létre egy adott erőforrástípushoz, amelyet a PowerShell vagy az Azure CLI használatával telepíthet. A diagnosztikai beállításokhoz az alábbi eljárással hozhat létre egyéni szabályzatdefiníciót:

  1. Győződjön meg arról, hogy telepítve van az Azure PowerShell .

  2. Telepítse a szkriptet a következő paranccsal:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Futtassa a szkriptet a paraméterek használatával a naplók elküldéséhez. A rendszer kérni fogja, hogy adjon meg egy előfizetést és egy erőforrástípust.

    Ha például olyan szabályzatdefiníciót szeretne létrehozni, amely naplókat küld egy Log Analytics-munkaterületre és egy eseményközpontba, használja a következő parancsot:

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

    Másik lehetőségként megadhat egy előfizetést és egy erőforrástípust a parancsban. Ha például olyan szabályzatdefiníciót szeretne létrehozni, amely naplókat küld egy Log Analytics-munkaterületre és egy SQL Server-adatbázisok eseményközpontjába, használja a következő parancsot:

    Create-AzDiagPolicy.ps1 -SubscriptionID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. A szkript külön mappákat hoz létre az egyes szabályzatdefiníciókhoz. Mindegyik mappa három azurepolicy.json, azurepolicy.rules.json és azurepolicy.parameters.json nevű fájlt tartalmaz. Ha manuálisan szeretné létrehozni a szabályzatot az Azure Portalon, másolja és illessze be az azurepolicy.json tartalmát, mert az tartalmazza a teljes szabályzatdefiníciót. A másik két fájl a PowerShell vagy az Azure CLI használatával hozza létre a szabályzatdefiníciót egy parancssorból.

    Az alábbi példák bemutatják, hogyan telepíthető a szabályzatdefiníció a PowerShellből és az Azure CLI-ből is. Az egyes példák metaadatokat tartalmaznak, hogy megadják a Figyelés kategóriát az új szabályzatdefiníció és a beépített szabályzatdefiníciók csoportosításához.

    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
    

Kezdeményezés

Ahelyett, hogy minden szabályzatdefinícióhoz létrehozunk egy hozzárendelést, gyakori stratégia egy olyan kezdeményezés létrehozása, amely tartalmazza a szabályzatdefiníciókat az egyes Azure-szolgáltatások diagnosztikai beállításainak létrehozásához. A környezet kezelésétől függően hozzon létre hozzárendelést a kezdeményezés és egy felügyeleti csoport, előfizetés vagy erőforráscsoport között. Ez a stratégia a következő előnyöket kínálja:

  • Hozzon létre egyetlen hozzárendelést a kezdeményezéshez az egyes erőforrástípusokhoz tartozó több hozzárendelés helyett. Használja ugyanazt a kezdeményezést több monitorozási csoporthoz, előfizetéshez vagy erőforráscsoporthoz is.
  • Ha új erőforrástípust vagy célhelyet szeretne hozzáadni, módosítsa a kezdeményezést. Előfordulhat például, hogy a kezdeti követelmények az, hogy csak egy Log Analytics-munkaterületre küldje az adatokat, de később hozzá szeretne adni egy eseményközpontot. Módosítsa a kezdeményezést új hozzárendelések létrehozása helyett.

A kezdeményezés létrehozásával kapcsolatos részletekért lásd : Kezdeményezésdefiníció létrehozása és hozzárendelése. Consider the following recommendations:

  • A Kategória beállítása Monitorozás értékre a kapcsolódó beépített és egyéni szabályzatdefiníciókkal való csoportosításához.
  • A Log Analytics-munkaterület és a kezdeményezésben szereplő szabályzatdefiníciók eseményközpontjának részleteinek megadása helyett használjon egy közös kezdeményezési paramétert. Ez a paraméter lehetővé teszi, hogy egyszerűen meghatározzon egy közös értéket az összes szabályzatdefinícióhoz, és szükség esetén módosítsa azt.

Screenshot that shows settings for initiative definition.

Assignment

Rendelje hozzá a kezdeményezést egy Azure felügyeleti csoporthoz, előfizetéshez vagy erőforráscsoporthoz, attól függően, hogy milyen hatókörrel kell figyelnie az erőforrásokat. A felügyeleti csoportok hasznosak a hatókörkezelési szabályzatok esetében, különösen akkor, ha a szervezet több előfizetéssel rendelkezik.

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.

Kezdeményezési paraméterek használatával a kezdeményezésben szereplő összes szabályzatdefinícióhoz egyszer megadhatja a munkaterületet vagy bármely más részletet.

Screenshot that shows initiative parameters on the Parameters tab.

Szervizelés

A kezdeményezés a létrehozásukkor minden egyes virtuális gépre érvényes lesz. A szervizelési feladat üzembe helyezi a kezdeményezésben szereplő szabályzatdefiníciókat a meglévő erőforrásokon, így diagnosztikai beállításokat hozhat létre a már létrehozott erőforrásokhoz.

Ha a hozzárendelést az Azure Portal használatával hozza létre, lehetősége van egyszerre egy szervizelési feladat létrehozására. A szervizelés részleteiért lásd : Nem megfelelő erőforrások szervizelése az Azure Policyval .

Screenshot that shows initiative remediation for a Log Analytics workspace.

Hibaelhárítás

A metrikakategória nem támogatott

Diagnosztikai beállítás telepítésekor hibaüzenet jelenik meg, amely az xxxx metrikakategóriához hasonlóan nem támogatott. Ez a hiba akkor is előfordulhat, ha az előző üzembe helyezés sikeres volt.

A probléma Resource Manager-sablon, REST API, Azure CLI vagy Azure PowerShell használatakor jelentkezik. Az Azure Portalon létrehozott diagnosztikai beállításokra nincs hatással, mivel csak a támogatott kategórianevek jelennek meg.

A problémát a mögöttes API legutóbbi változása okozza. Az "AllMetrics" kivételével a metrikakategóriák nem támogatottak, és csak néhány konkrét Azure-szolgáltatásra vonatkoznak. Korábban a rendszer figyelmen kívül hagyta a többi kategórianevet egy diagnosztikai beállítás üzembe helyezésekor. Az Azure Monitor háttérrendszere átirányította ezeket a kategóriákat az "AllMetrics"-ra. 2021 februárjától a háttérrendszer frissült, hogy kifejezetten ellenőrizze, hogy a megadott metrikakategória pontos-e. Ez a módosítás néhány üzembe helyezés meghiúsulásához vezetett.

Ha ezt a hibát kapja, frissítse az üzemelő példányokat úgy, hogy a metrikakategóriák neveit az "AllMetrics" kifejezésre cserélje le a probléma megoldásához. Ha az üzembe helyezés korábban több kategóriát adott hozzá, csak az "AllMetrics" referenciával rendelkezőt kell megőrizni. Ha továbbra is fennáll a probléma, lépjen kapcsolatba Azure-támogatás az Azure Portalon.

A beállítás eltűnik a resourceID nem ASCII-karakterei miatt

A diagnosztikai beállítások nem támogatják a nem ASCII karakterekkel (például Preproducción) rendelkező resourceID-ket. Mivel az Azure-ban nem nevezheti át az erőforrásokat, az egyetlen lehetőség, ha nem ASCII-karakterek nélkül hoz létre új erőforrást. Ha a karakterek erőforráscsoportban vannak, áthelyezheti az alatta lévő erőforrásokat egy újba. Ellenkező esetben újra létre kell hoznia az erőforrást.

Következő lépések