Gyakorlat – Bővítményerőforrások üzembe helyezése és meglévő erőforrások használata
Most, hogy befejezte az adatbázis létrehozását az R&D-csapat számára, meg kell győződnie arról, hogy az adatbázishoz való hozzáférés naplózva van. Van egy meglévő Log Analytics-munkaterülete, ahová el szeretné küldeni ezeket a naplókat. A naplókat az R&D-csapat tárfiókjából is el kell küldenie ugyanahhoz a Log Analytics-munkaterülethez. Ebben a gyakorlatban frissítenie kell a Bicep-fájlt, hogy megfeleljen ezeknek a követelményeknek.
A folyamat során a következőt fogja elvégezni:
- Egy Log Analytics-munkaterület létrehozása.
- Frissítse a Bicep-fájlt, hogy diagnosztikai beállításokat adjon hozzá Cosmos DB-fiókjához.
- Create a storage account.
- A Bicep-fájlban frissítse a tárfiók diagnosztikai beállításait.
- Helyezze üzembe a sablont, és ellenőrizze az eredményt.
Log Analytics-munkaterület létrehozása
Hozzon létre egy Log Analytics-munkaterületet, amellyel szimulálhatja, hogy már létrehozott egyet a szervezetében. Használja az Azure CLI-t a Bicep helyett.
A terminálban futtassa a következő Azure CLI-parancsot:
az monitor log-analytics workspace create \
--workspace-name ToyLogs \
--location eastus
Hozzon létre egy Log Analytics-munkaterületet, amellyel szimulálhatja, hogy már létrehozott egyet a szervezetében. Használja az Azure PowerShellt a Bicep helyett.
A terminálon futtassa a következő Azure PowerShell-parancsot:
New-AzOperationalInsightsWorkspace `
-Name ToyLogs `
-Location eastus
Megjegyzés:
Ebben a példában a Log Analytics-munkaterületet ugyanabban az előfizetésben és erőforráscsoportban helyezi üzembe, mint a többi erőforrást. A Log Analytics-munkaterületeket sok esetben olyan erőforráscsoportokban fogja tárolni, amelyek nem azonosak az alkalmazás erőforrásaival. Bicep továbbra is hivatkozhat rájuk.
Diagnosztikai beállítások hozzáadása az Azure Cosmos DB-hez
Az R&D-csapatnak minden kérést naplóznia kell az Azure Cosmos DB-fiókba. Úgy dönt, hogy az Azure Cosmos DB Azure Monitor-integrációja használatával gyűjti össze a DataPlaneRequests naplót, amely az Azure Cosmos DB-nek küldött kérésekkel kapcsolatos információkat tartalmazza.
Most, hogy létrehozta a szimulált, már meglévő Log Analytics-munkaterületet, hivatkozhat rá a Bicep-sablonból meglévő erőforrásként. Használhatja az Azure Cosmos DB-naplók célhelyeként.
Diagnosztikai beállítások hozzáadásához kövesse az alábbi lépéseket:
A Visual Studio Code-ban nyissa meg a main.bicep fájlt a szerkesztőben, majd a meglévő változódefiníciók alatt adja hozzá a következő kódot:
var logAnalyticsWorkspaceName = 'ToyLogs' var cosmosDBAccountDiagnosticSettingsName = 'route-logs-to-log-analytics'
A fájl alján, az erőforrás-definíciók alatt adja hozzá a következő kódot:
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-03-01-preview' existing = { name: logAnalyticsWorkspaceName }
Figyelje meg, hogy ez az erőforrásdefiníció a kulcsszót
existing
használja, és szándékosan kihagy más tulajdonságokat, amelyeket általában meg szeretne adni, ha a Log Analytics-munkaterületet ezen a Bicep-sablonon keresztül telepíti.Az imént hozzáadott kód alatt adja hozzá a következő kódot:
resource cosmosDBAccountDiagnostics 'Microsoft.Insights/diagnosticSettings@2017-05-01-preview' = { scope: cosmosDBAccount name: cosmosDBAccountDiagnosticSettingsName properties: { workspaceId: logAnalyticsWorkspace.id logs: [ { category: 'DataPlaneRequests' enabled: true } ] } }
Figyelje meg, hogy ez a kód egy bővítményerőforrást helyez üzembe. A kulcsszó használatával közli a
scope
Bicep-et, hogy az erőforrást az Azure Cosmos DB-fiókhoz kell csatolni. A kód aid
meglévő erőforrás tulajdonságát is használja, hogy azlogAnalyticsWorkspace
Azure megértse, hol küldje el az Azure Cosmos DB-naplókat.
Tárfiók létrehozása a toy design dokumentumokhoz
Hozzon létre egy Azure Storage-fiókot annak szimulálásához, hogy az R&D-csapat már létrehozott egyet a szervezetében. Használja az Azure CLI-t a Bicep helyett.
A terminálon futtassa a következő Azure CLI-parancsot. Cserélje le {storageaccountname}
egy olyan névre, amely valószínűleg egyedi. A névnek mind kisbetűsnek kell lennie, 24 vagy kevesebb karaktert kell tartalmaznia, és nem tartalmazhat szóközöket vagy speciális karaktereket. Jegyezze fel a későbbi használat nevét.
az storage account create \
--name {storageaccountname} \
--location eastus
Hozzon létre egy Azure Storage-fiókot annak szimulálásához, hogy az R&D-csapat már létrehozott egyet a szervezetében. Használja az Azure PowerShellt a Bicep helyett.
A terminálon futtassa a következő Azure PowerShell-parancsot. Cserélje le {storageaccountname}
egy olyan névre, amely valószínűleg egyedi. A névnek mind kisbetűsnek kell lennie, 24 vagy kevesebb karaktert kell tartalmaznia, és nem tartalmazhat szóközöket vagy speciális karaktereket.
New-AzStorageAccount `
-Name {storageaccountname} `
-Location eastus `
-SkuName Standard_LRS
Diagnosztikai beállítások hozzáadása tárfiókhoz
Az R&D csapata azt szeretné, hogy az összes sikeres kérést naplózza az általuk létrehozott tárfiókba. Ön úgy dönt, hogy az Azure Storage és az Azure Monitor-naplók integrálásával éri el ezt a célt. Úgy dönt, hogy naplózza az összes olvasási, írási és törlési tevékenységet a Blob Storage-on az R&D-csapat tárfiókjában.
Frissítenie kell a Bicep-sablont, hogy hivatkozzon az előző lépésben létrehozott tárfiókra.
A main.bicep fájl tetején, a paraméterdefiníciók alatt adja hozzá a következő paraméterdefiníciót:
param storageAccountName string
A változódefiníciók alatt adja hozzá a következő változódefiníciót:
var storageAccountBlobDiagnosticSettingsName = 'route-logs-to-log-analytics'
A fájl alján, az erőforrás-definíciók alatt adja hozzá a következő definíciót:
resource storageAccount 'Microsoft.Storage/storageAccounts@2019-06-01' existing = { name: storageAccountName resource blobService 'blobServices' existing = { name: 'default' } }
Figyelje meg, hogy mindkét erőforrás a kulcsszót
existing
használja.A fájl alján, az előző lépésben hozzáadott tárfiók-definíció alatt adja hozzá a következő kódot:
resource storageAccountBlobDiagnostics 'Microsoft.Insights/diagnosticSettings@2017-05-01-preview' = { scope: storageAccount::blobService name: storageAccountBlobDiagnosticSettingsName properties: { workspaceId: logAnalyticsWorkspace.id logs: [ { category: 'StorageRead' enabled: true } { category: 'StorageWrite' enabled: true } { category: 'StorageDelete' enabled: true } ] } }
Figyelje meg, hogy ez a bővítményerőforrás a beágyazott meglévő erőforrásra van
scope
állítva. A Bicep tisztában van azzal, hogy a bővítményerőforrást ablobServices
gyermekerőforráshoz kell csatolnia.Ha végzett, a teljes Bicep-sablonnak így kell kinéznie:
param cosmosDBAccountName string = 'toyrnd-${uniqueString(resourceGroup().id)}' param cosmosDBDatabaseThroughput int = 400 param location string = resourceGroup().location param storageAccountName string var cosmosDBDatabaseName = 'FlightTests' var cosmosDBContainerName = 'FlightTests' var cosmosDBContainerPartitionKey = '/droneId' var logAnalyticsWorkspaceName = 'ToyLogs' var cosmosDBAccountDiagnosticSettingsName = 'route-logs-to-log-analytics' var storageAccountBlobDiagnosticSettingsName = 'route-logs-to-log-analytics' resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2020-04-01' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } } resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2020-04-01' = { parent: cosmosDBAccount name: cosmosDBDatabaseName properties: { resource: { id: cosmosDBDatabaseName } options: { throughput: cosmosDBDatabaseThroughput } } resource container 'containers' = { name: cosmosDBContainerName properties: { resource: { id: cosmosDBContainerName partitionKey: { kind: 'Hash' paths: [ cosmosDBContainerPartitionKey ] } } options: {} } } } resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-03-01-preview' existing = { name: logAnalyticsWorkspaceName } resource cosmosDBAccountDiagnostics 'Microsoft.Insights/diagnosticSettings@2017-05-01-preview' = { scope: cosmosDBAccount name: cosmosDBAccountDiagnosticSettingsName properties: { workspaceId: logAnalyticsWorkspace.id logs: [ { category: 'DataPlaneRequests' enabled: true } ] } } resource storageAccount 'Microsoft.Storage/storageAccounts@2019-06-01' existing = { name: storageAccountName resource blobService 'blobServices' existing = { name: 'default' } } resource storageAccountBlobDiagnostics 'Microsoft.Insights/diagnosticSettings@2017-05-01-preview' = { scope: storageAccount::blobService name: storageAccountBlobDiagnosticSettingsName properties: { workspaceId: logAnalyticsWorkspace.id logs: [ { category: 'StorageRead' enabled: true } { category: 'StorageWrite' enabled: true } { category: 'StorageDelete' enabled: true } ] } }
Mentse a fájl módosításait.
A sablon üzembe helyezése az Azure-ban
A terminálon futtassa a következő Azure CLI-parancsot. Cserélje le {storageaccountname}
a gyakorlat során korábban létrehozott tárfiók nevére.
az deployment group create \
--template-file main.bicep \
--parameters storageAccountName={storageaccountname}
A terminálon futtassa a következő Azure PowerShell-parancsot. Cserélje le {storageaccountname}
a gyakorlat során korábban létrehozott tárfiók nevére.
New-AzResourceGroupDeployment `
-TemplateFile main.bicep `
-storageAccountName {storageaccountname}
Az üzemelő példány ellenőrzése
A böngészőben lépjen vissza az Azure Portalra. Lépjen az erőforráscsoportra. Továbbra is egy sikeres üzembe helyezést lát, mert az üzembe helyezés ugyanazt a nevet használta, mint az első üzembe helyezés.
Válassza az 1 sikeres hivatkozást.
Válassza ki a főként hívott üzembe helyezést, majd az Üzembe helyezés részletei elemre kattintva bontsa ki az üzembe helyezett erőforrások listáját.
Figyelje meg, hogy két erőforrás van felsorolva egy
Microsoft.Insights/diagnosticSettings
típussal. Ezek az erőforrások az üzembe helyezett bővítményerőforrások. Az egyik erőforrás a tárfiókhoz, a másik pedig az Azure Cosmos DB-fiókhoz lett csatolva. Most ellenőrizheti, hogy az Azure Cosmos DB diagnosztikai beállításai megfelelően vannak-e konfigurálva.Válassza ki az Azure Cosmos DB-fiók erőforrását. Megnyílik a portál az Azure Cosmos DB-fiókhoz.
A bal felső keresőmezőbe írja be a diagnosztikai beállításokat, és válassza a Diagnosztikai beállítások menüpontot.
Előfordulhat, hogy az Azure Portal kéri, hogy engedélyezze a teljes szöveges lekérdezések támogatását a naplózáshoz. Ehhez a gyakorlathoz nincs szüksége rá, ezért válassza a Nem most lehetőséget.
Figyelje meg, hogy van egy route-logs-to-log-analytics nevű diagnosztikai beállítás, amely úgy van konfigurálva, hogy a naplókat a ToyLogs munkaterületre irányozza.
Ha szeretné, azt is ellenőrizheti, hogy a tárfiók rendelkezik-e a blobtárolóhoz hasonló diagnosztikai beállítással.