Çalışma kitaplarını program aracılığıyla yönetme
Kaynak sahipleri, Azure Resource Manager şablonları (ARM şablonları) aracılığıyla program aracılığıyla çalışma kitaplarını oluşturabilir ve yönetebilir.
Bu özellik aşağıdaki gibi senaryolarda yararlı olabilir:
- Kuruluşa veya etki alanına özgü analiz raporlarını ve kaynak dağıtımlarını dağıtma. Örneğin, yeni uygulamalarınız veya sanal makineleriniz için kuruluşa özgü performans ve hata çalışma kitaplarını dağıtabilirsiniz.
- Mevcut kaynaklar için çalışma kitaplarını kullanarak standart raporlar veya panolar dağıtma.
Çalışma kitabı, istenen alt/kaynak grubunda ve ARM şablonlarında belirtilen içerikle oluşturulur.
program aracılığıyla iki tür çalışma kitabı kaynağı yönetilebilir:
Çalışma kitabı şablonu dağıtmak için ARM şablonu
Program aracılığıyla dağıtmak istediğiniz çalışma kitabını açın.
Düzenle'yi seçerek çalışma kitabını düzenleme moduna geçirin.
Araç çubuğundaki /> düğmesini kullanarak <Gelişmiş Düzenleyici açın.
Galeri Şablonu sekmesinde olduğunuzdan emin olun.
Galeri şablonundaki JSON dosyasını panoya kopyalayın.
Aşağıdaki örnek ARM şablonu, Azure İzleyici çalışma kitabı galerisine bir çalışma kitabı şablonu dağıtır. Yerine kopyaladığınız JSON'ı
<PASTE-COPIED-WORKBOOK_TEMPLATE_HERE>
yapıştırın. Çalışma kitabı şablonu oluşturan bir başvuru ARM şablonu için bu GitHub deposuna bakın.{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "resourceName": { "type": "string", "defaultValue": "my-workbook-template", "metadata": { "description": "The unique name for this workbook template instance" } } }, "resources": [ { "name": "[parameters('resourceName')]", "type": "microsoft.insights/workbooktemplates", "location": "[resourceGroup().location]", "apiVersion": "2019-10-17-preview", "dependsOn": [], "properties": { "galleries": [ { "name": "A Workbook Template", "category": "Deployed Templates", "order": 100, "type": "workbook", "resourceType": "Azure Monitor" } ], "templateData": <PASTE-COPIED-WORKBOOK_TEMPLATE_HERE> } } ] }
nesnesinde
galleries
vecategory
tuşlarını değerlerinizle doldurunname
. Sonraki bölümde parametreler hakkında daha fazla bilgi edinin.Azure portalını, komut satırı arabirimini veya PowerShell'i kullanarak bu ARM şablonunu dağıtın.
Azure portalını açın ve ARM şablonunda seçilen çalışma kitabı galerisine gidin. Örnek şablonda Azure İzleyici çalışma kitabı galerisine gidin:
- Azure portalını açın ve Azure İzleyici'ye gidin.
- İçindekiler tablosundan açın
Workbooks
. - Galeride şablonunuzu kategorisinin
Deployed Templates
altında bulun. (Mor öğelerden biri olacaktır.)
Parametreler
Parametreler | Açıklama |
---|---|
name |
Azure Resource Manager'daki çalışma kitabı şablon kaynağının adı. |
type |
Her zaman microsoft.insights/workbooktemplates. |
location |
Çalışma kitabının oluşturulacağı Azure konumu. |
apiVersion |
2019-10-17 önizlemesi. |
type |
Her zaman microsoft.insights/workbooktemplates. |
galleries |
Bu çalışma kitabı şablonunun gösterildiği galeri kümesi. |
gallery.name |
Galerideki çalışma kitabı şablonunun kolay adı. |
gallery.category |
Galeride şablonun yerleştirildiği grup. |
gallery.order |
Şablonu galerideki bir kategori içinde gösterme sırasına karar veren bir sayı. Düşük sıra, daha yüksek öncelik anlamına gelir. |
gallery.resourceType |
Galeriye karşılık gelen kaynak türü. Bu tür genellikle kaynağa karşılık gelen kaynak türü dizesidir (örneğin, microsoft.operationalinsights/workspaces). |
gallery.type |
Çalışma kitabı türü olarak adlandırılır. Bu benzersiz anahtar, bir kaynak türü içindeki galeriyi ayırt eder. Örneğin Application Insights' ın türleri ve tsg farklı çalışma kitabı galerilerine karşılık gelen türleri workbook vardır. |
Galeriler
Galeri | Kaynak türü | Çalışma kitabı türü |
---|---|---|
Azure İzleyici'deki çalışma kitapları | Azure Monitor |
workbook |
Azure İzleyici'de VM İçgörüleri | Azure Monitor |
vm-insights |
Log Analytics çalışma alanında çalışma kitapları | microsoft.operationalinsights/workspaces |
workbook |
Application Insights'ta Çalışma Kitapları | microsoft.insights/components |
workbook |
Application Insights'ta sorun giderme kılavuzları | microsoft.insights/components |
tsg |
Application Insights'ta kullanım | microsoft.insights/components |
usage |
Kubernetes hizmetinde çalışma kitapları | Microsoft.ContainerService/managedClusters |
workbook |
Kaynak gruplarındaki çalışma kitapları | microsoft.resources/subscriptions/resourcegroups |
workbook |
Microsoft Entra Id'deki çalışma kitapları | microsoft.aadiam/tenant |
workbook |
Sanal makinelerde VM İçgörüleri | microsoft.compute/virtualmachines |
insights |
Sanal makine ölçek kümelerinde VM İçgörüleri | microsoft.compute/virtualmachinescalesets |
insights |
Çalışma kitabı örneğini dağıtmak için ARM şablonu
- Program aracılığıyla dağıtmak istediğiniz bir çalışma kitabını açın.
- Düzenle'yi seçerek çalışma kitabını düzenleme moduna geçirin.
- /> öğesini seçerek <Gelişmiş Düzenleyici açın.
- Düzenleyicide Şablon Türü'nü ARM şablonuna geçirin.
- Oluşturmak için ARM şablonu düzenleyicide gösterilir. İçeriği kopyalayın ve olduğu gibi kullanın veya hedef kaynağı da dağıtan daha büyük bir şablonla birleştirin.
Örnek ARM şablonu
Bu şablon, görüntülenen Hello World!
bir çalışma kitabının nasıl dağıtıldığını gösterir.
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workbookDisplayName": {
"type":"string",
"defaultValue": "My Workbook",
"metadata": {
"description": "The friendly name for the workbook that is used in the Gallery or Saved List. Needs to be unique in the scope of the resource group and source"
}
},
"workbookType": {
"type":"string",
"defaultValue": "tsg",
"metadata": {
"description": "The gallery that the workbook will be shown under. Supported values include workbook, `tsg`, Azure Monitor, etc."
}
},
"workbookSourceId": {
"type":"string",
"defaultValue": "<insert-your-resource-id-here>",
"metadata": {
"description": "The id of resource instance to which the workbook will be associated"
}
},
"workbookId": {
"type":"string",
"defaultValue": "[newGuid()]",
"metadata": {
"description": "The unique guid for this workbook instance"
}
}
},
"resources": [
{
"name": "[parameters('workbookId')]",
"type": "Microsoft.Insights/workbooks",
"location": "[resourceGroup().location]",
"kind": "shared",
"apiVersion": "2018-06-17-preview",
"dependsOn": [],
"properties": {
"displayName": "[parameters('workbookDisplayName')]",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\\\"json\\\":\\\"Hello World!\\\"}\",\"conditionalVisibility\":null}],\"isLocked\":false}",
"version": "1.0",
"sourceId": "[parameters('workbookSourceId')]",
"category": "[parameters('workbookType')]"
}
}
],
"outputs": {
"workbookId": {
"type": "string",
"value": "[resourceId( 'Microsoft.Insights/workbooks', parameters('workbookId'))]"
}
}
}
Şablon parametreleri
Parametre | Açıklama |
---|---|
workbookDisplayName |
Galeri veya Kaydedilmiş Liste'de kullanılan çalışma kitabının kolay adı. Kaynak grubu ve kaynak kapsamında benzersiz olması gerekir. |
workbookType |
Çalışma kitabının görüntülendiği galeri. Desteklenen değerler çalışma kitabı, tsg ve Azure İzleyici'yi içerir. |
workbookSourceId |
Çalışma kitabının ilişkilendirileceği kaynak örneğinin kimliği. Yeni çalışma kitabı, bu kaynak örneğiyle ilgili olarak, örneğin, kaynağın çalışma kitabı altındaki içindekiler tablosunda gösterilir. Çalışma kitabınızın Azure İzleyici'deki Çalışma Kitapları galerisinde gösterilmesini istiyorsanız kaynak kimliği yerine Azure İzleyici dizesini kullanın. |
workbookId |
Bu çalışma kitabı örneği için benzersiz guid. Otomatik olarak yeni bir guid oluşturmak için kullanın [newGuid()] . |
kind |
Oluşturulan çalışma kitabının paylaşılıp paylaşılmadığını belirtmek için kullanılır. Tüm yeni çalışma kitapları paylaşılan değeri kullanır. |
location |
Çalışma kitabının oluşturulacağı Azure konumu. Kaynak grubuyla aynı konumda oluşturmak için kullanın [resourceGroup().location] . |
serializedData |
Çalışma kitabında kullanılacak içeriği veya yükü içerir. Değeri almak için çalışma kitapları kullanıcı arabirimindeki ARM şablonunu kullanın. |
Çalışma kitabı türleri
Çalışma kitabı türleri, yeni çalışma kitabı örneğinin görüntülendiği çalışma kitabı galerisi türünü belirtir. Seçenekler arasında bulunanlar:
Tür | Galeri konumu |
---|---|
workbook |
Application Insights çalışma kitapları galerisi ve Azure İzleyici dahil olmak üzere çoğu raporda kullanılan varsayılan değerdir. |
tsg |
Application Insights'taki Sorun Giderme Kılavuzları galerisi. |
usage |
Application Insights'ta Kullanım altındaki Diğer galerisi. |
SerializedData şablon parametresinde JSON biçimli çalışma kitabı verileriyle çalışma
Bir Azure çalışma kitabı için ARM şablonunu dışarı aktardığınızda, genellikle dışarı aktarılan serializedData
şablon parametresine eklenmiş sabit kaynak bağlantıları vardır. Bu bağlantılar abonelik kimliği ve kaynak grubu adı gibi hassas olabilecek değerleri ve diğer kaynak kimlik türlerini içerir.
Aşağıdaki örnekte, dize işlemeye başvurmadan dışarı aktarılan bir çalışma kitabı ARM şablonunun özelleştirilmesi gösterilmektedir. Bu örnekte gösterilen desen, Azure portalından dışarı aktarılmış şekilde değiştirilmemiş verilerle çalışmak üzere tasarlanmıştır. Ayrıca, çalışma kitaplarını program aracılığıyla yönetirken eklenmiş hassas değerleri maskelemek de en iyi yöntemdir. Bu nedenle abonelik kimliği ve kaynak grubu burada maskelenmiştir. Ham gelen serializedData
değerde başka değişiklik yapılmadı.
{
"contentVersion": "1.0.0.0",
"parameters": {
"workbookDisplayName": {
"type": "string"
},
"workbookSourceId": {
"type": "string",
"defaultValue": "[resourceGroup().id]"
},
"workbookId": {
"type": "string",
"defaultValue": "[newGuid()]"
}
},
"variables": {
// serializedData from original exported Azure Resource Manager template
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"Replace with Title\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"data\\\":null,\\\"headers\\\":[],\\\"method\\\":\\\"GET\\\",\\\"path\\\":\\\"/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2019-06-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$..*\\\",\\\"columns\\\":[]}}]}\",\"size\":0,\"queryType\":12,\"visualization\":\"map\",\"tileSettings\":{\"showBorder\":false},\"graphSettings\":{\"type\":0},\"mapSettings\":{\"locInfo\":\"AzureLoc\",\"locInfoColumn\":\"location\",\"sizeSettings\":\"location\",\"sizeAggregation\":\"Count\",\"opacity\":0.5,\"legendAggregation\":\"Count\",\"itemColorSettings\":null}},\"name\":\"query - 1\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/XXXXXXX\"]}",
// parse the original into a JSON object, so that it can be manipulated
"parsedData": "[json(variables('serializedData'))]",
// create new JSON objects that represent only the items/properties to be modified
"updatedTitle": {
"content":{
"json": "[concat('Resource Group Regions in subscription \"', subscription().displayName, '\"')]"
}
},
"updatedMap": {
"content": {
"path": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups')]"
}
},
// the union function applies the updates to the original data
"updatedItems": [
"[union(variables('parsedData')['items'][0], variables('updatedTitle'))]",
"[union(variables('parsedData')['items'][1], variables('updatedMap'))]"
],
// copy to a new workbook object, with the updated items
"updatedWorkbookData": {
"version": "[variables('parsedData')['version']]",
"items": "[variables('updatedItems')]",
"isLocked": "[variables('parsedData')['isLocked']]",
"fallbackResourceIds": ["[parameters('workbookSourceId')]"]
},
// convert back to an encoded string
"reserializedData": "[string(variables('updatedWorkbookData'))]"
},
"resources": [
{
"name": "[parameters('workbookId')]",
"type": "microsoft.insights/workbooks",
"location": "[resourceGroup().location]",
"apiVersion": "2018-06-17-preview",
"dependsOn": [],
"kind": "shared",
"properties": {
"displayName": "[parameters('workbookDisplayName')]",
"serializedData": "[variables('reserializedData')]",
"version": "1.0",
"sourceId": "[parameters('workbookSourceId')]",
"category": "workbook"
}
}
],
"outputs": {
"workbookId": {
"type": "string",
"value": "[resourceId( 'microsoft.insights/workbooks', parameters('workbookId'))]"
}
},
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#"
}
Bu örnekte, aşağıdaki adımlar dışarı aktarılan ARM şablonunu özelleştirmeyi kolaylaştırır:
- Önceki bölümde açıklandığı gibi çalışma kitabını ARM şablonu olarak dışarı aktarın.
- Şablonun
variables
bölümünde:- Değeri bir JSON nesne değişkenine ayrıştırarak
serializedData
çalışma kitabının içeriğini temsil eden bir dizi öğe içeren bir JSON yapısı oluşturur. - Yalnızca değiştirilecek öğeleri/özellikleri temsil eden yeni JSON nesneleri oluşturun.
- Değişiklikleri özgün JSON öğelerine uygulamak için işlevini kullanarak
union()
yeni bir JSON içerik öğeleri kümesi (updatedItems
) yansıtın. - özgün ayrıştırılmış verilerden ve
version
isLocked
/düzeltilmiş bir kümesindenfallbackResourceIds
verileri içerenupdatedItems
yeni bir çalışma kitabı nesnesiupdatedWorkbookData
oluşturun. - Yeni JSON içeriğini yeniden yeni dize değişkeni olarak seri hale getirme.
reserializedData
- Değeri bir JSON nesne değişkenine ayrıştırarak
- Özgün
serializedData
özelliği yerine yenireserializedData
değişkeni kullanın. - Güncelleştirilmiş ARM şablonunu kullanarak yeni çalışma kitabı kaynağını dağıtın.
Sonraki adımlar
Yeni Depolama içgörüleri deneyimini desteklemek için çalışma kitaplarının nasıl kullanıldığını keşfedin.