عينات قالب Resource Manager للوكلاء في Azure Monitor
تتضمن هذه المقالة قالباً من قوالب Azure Resource Manager لتوزيع وتكوين عامل Azure Monitorو عامل Log Analytics القديم وملحق التشخيص للأجهزة الظاهرية في Azure Monitor. يتضمن كل نموذج ملف قالب وملف معلمات مع قيم عينة لتوفيرها للقالب.
إشعار
راجع نماذج Azure Resource Manager ل Azure Monitor للحصول على قائمة بالعينات المتوفرة وإرشادات حول نشرها في اشتراك Azure الخاص بك.
عامل Azure Monitor
تقوم العينات الموجودة في هذا القسم بتثبيت عامل Azure Monitor على الأجهزة الظاهرية لنظامي التشغيل Windows وLinux والخوادم التي تدعم Azure Arc.
المتطلبات الأساسية
لاستخدام القوالب الموجود أدناه، ستحتاج إلى:
- لإنشاء هوية مدارة يعينها المستخدم و تعيين الهوية المُدارة يُعينها المستخدم، أو تمكين هوية مدارة يعينها النظام. يلزم وجود هوية مدارة لعامل Azure Monitor لجمع البيانات ونشرها. نوصى بشدة بالهويات المدارة التي يُعينها المستخدم عن الهويات المدارة التي يُعينها النظام نظرًا لسهولة إدارتها على نطاق واسع.
- لتكوين جمع البيانات لعامل Azure Monitor، يجب عليك أيضاً توزيع قواعد جمع بيانات قوالب إدارة الموارد والارتباطات.
الأذونات المطلوبة
دور مدمج | النطاق (نطاقات) | السبب |
---|---|---|
|
لتوزيع ملحق العامل | |
أي دور يتضمن الإجراء Microsoft.Resources/التوزيع /* |
|
لتوزيع قوالب ARM |
جهاز Azure Windows الظاهري الذي يعمل بنظام التشغيل Windows
يقوم النموذج التالي بتثبيت عامل Azure Monitor على جهاز Azure الظاهري الذي يعمل بنظام Windows. استخدم القالب المناسب أدناه استنادًا إلى طريقة المصادقة التي اخترتها.
الهوية المُدارة التي يُعينها المستخدم (مُوصى به)
param vmName string
param location string
param userAssignedManagedIdentity string
resource windowsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
name: '${vmName}/AzureMonitorWindowsAgent'
location: location
properties: {
publisher: 'Microsoft.Azure.Monitor'
type: 'AzureMonitorWindowsAgent'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
settings: {
authentication: {
managedIdentity: {
'identifier-name': 'mi_res_id'
'identifier-value': userAssignedManagedIdentity
}
}
}
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-windows-vm"
},
"location": {
"value": "eastus"
},
"userAssignedManagedIdentity": {
"value": "/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"
}
}
}
الهوية المُدارة التي يُعيّنها النظام
ملف القالب
param vmName string
param location string
resource windowsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
name: '${vmName}/AzureMonitorWindowsAgent'
location: location
properties: {
publisher: 'Microsoft.Azure.Monitor'
type: 'AzureMonitorWindowsAgent'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-windows-vm"
},
"location": {
"value": "eastus"
}
}
}
الأجهزة الظاهرية التي تعمل بنظام التشغيل Linux من Azure
يقوم النموذج التالي بتثبيت عامل Azure Monitor على جهاز Azure الظاهري الذي يعمل بنظام تشغيل Linux. استخدم القالب المناسب أدناه استنادًا إلى طريقة المصادقة التي اخترتها.
الهوية المُدارة التي يُعينها المستخدم (مُوصى به)
ملف القالب
param vmName string
param location string
param userAssignedManagedIdentity string
resource linuxAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
name: '${vmName}/AzureMonitorLinuxAgent'
location: location
properties: {
publisher: 'Microsoft.Azure.Monitor'
type: 'AzureMonitorLinuxAgent'
typeHandlerVersion: '1.21'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
settings: {
authentication: {
managedIdentity: {
'identifier-name': 'mi_res_id'
'identifier-value': userAssignedManagedIdentity
}
}
}
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-linux-vm"
},
"location": {
"value": "eastus"
},
"userAssignedManagedIdentity": {
"value": "/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"
}
}
}
الهوية المُدارة التي يُعيّنها النظام
ملف القالب
param vmName string
param location string
resource linuxAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
name: '${vmName}/AzureMonitorLinuxAgent'
location: location
properties: {
publisher: 'Microsoft.Azure.Monitor'
type: 'AzureMonitorLinuxAgent'
typeHandlerVersion: '1.21'
autoUpgradeMinorVersion: true
enableAutomaticUpgrade: true
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-linux-vm"
},
"location": {
"value": "eastus"
}
}
}
خادم ممكّن لـ Arc من Azure يعمل بنظام تشغيل Windows
يقوم النموذج التالي بتثبيت عامل Azure Monitor على خادم ممكّن لـ Arc من Azure يعمل بنظام تشغيل Windows.
ملف القالب
param vmName string
param location string
resource windowsAgent 'Microsoft.HybridCompute/machines/extensions@2021-12-10-preview' = {
name: '${vmName}/AzureMonitorWindowsAgent'
location: location
properties: {
publisher: 'Microsoft.Azure.Monitor'
type: 'AzureMonitorWindowsAgent'
autoUpgradeMinorVersion: true
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-windows-vm"
},
"location": {
"value": "eastus"
}
}
}
خادم مُمكّن لـ Arc من Azure يعمل بنظام تشغيل Linux
يقوم النموذج التالي بتثبيت عامل Azure Monitor على خادم مُمكن لـ Arc من Azure يعمل بنظام تشغيل Linux.
ملف القالب
param vmName string
param location string
resource linuxAgent 'Microsoft.HybridCompute/machines/extensions@2021-12-10-preview'= {
name: '${vmName}/AzureMonitorLinuxAgent'
location: location
properties: {
publisher: 'Microsoft.Azure.Monitor'
type: 'AzureMonitorLinuxAgent'
autoUpgradeMinorVersion: true
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-linux-vm"
},
"location": {
"value": "eastus"
}
}
}
وكيل تحليلات السجل
تقوم العينات الموجودة في هذا القسم بتثبيت عامل تحليلات السجل القديم على الأجهزة الظاهرية لنظامي التشغيل Windows وLinux في Azure وتوصيله بمساحة عمل Log Analytics.
Windows
يقوم النموذج التالي بتثبيت عامل Log Analytics على جهاز ظاهري Azure. يتم ذلك عن طريق تمكين ملحق الجهاز الظاهري Log Analytics لنظام التشغيل Windows.
ملف القالب
@description('Name of the virtual machine.')
param vmName string
@description('Location of the virtual machine')
param location string = resourceGroup().location
@description('Id of the workspace.')
param workspaceId string
@description('Primary or secondary workspace key.')
param workspaceKey string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
name: vmName
location: location
properties:{}
}
resource logAnalyticsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: 'Microsoft.Insights.LogAnalyticsAgent'
location: location
properties: {
publisher: 'Microsoft.EnterpriseCloud.Monitoring'
type: 'MicrosoftMonitoringAgent'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
settings: {
workspaceId: workspaceId
}
protectedSettings: {
workspaceKey: workspaceKey
}
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-windows-vm"
},
"location": {
"value": "westus"
},
"workspaceId": {
"value": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"workspaceKey": {
"value": "Tse-gj9CemT6A80urYa2hwtjvA5axv1xobXgKR17kbVdtacU6cEf+SNo2TdHGVKTsZHZd1W9QKRXfh+$fVY9dA=="
}
}
}
Linux
يقوم النموذج التالي بتثبيت وكيل Log Analytics على جهاز ظاهري Linux Azure. يتم ذلك عن طريق تمكين ملحق الجهاز الظاهري Log Analytics لنظام Linux.
ملف القالب
@description('Name of the virtual machine.')
param vmName string
@description('Location of the virtual machine')
param location string = resourceGroup().location
@description('Id of the workspace.')
param workspaceId string
@description('Primary or secondary workspace key.')
param workspaceKey string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
name: vmName
location: location
}
resource logAnalyticsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: 'Microsoft.Insights.LogAnalyticsAgent'
location: location
properties: {
publisher: 'Microsoft.EnterpriseCloud.Monitoring'
type: 'OmsAgentForLinux'
typeHandlerVersion: '1.7'
autoUpgradeMinorVersion: true
settings: {
workspaceId: workspaceId
}
protectedSettings: {
workspaceKey: workspaceKey
}
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-linux-vm"
},
"location": {
"value": "westus"
},
"workspaceId": {
"value": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"workspaceKey": {
"value": "Tse-gj9CemT6A80urYa2hwtjvA5axv1xobXgKR17kbVdtacU6cEf+SNo2TdHGVKTsZHZd1W9QKRXfh+$fVY9dA=="
}
}
}
تمديد التشخيص
تقوم العينات الموجودة في هذا القسم بتثبيت الامتداد التشخيصي على الأجهزة الظاهرية لنظامي التشغيل Windows وLinux في Azure وتكوينه لتجميع البيانات.
Windows
يقوم النموذج التالي بتمكين الملحق التشخيصي وتكوينه على جهاز Azure الظاهري. للحصول على تفاصيل حول التكوين، راجع مخطط ملحق تشخيصات Windows.
ملف القالب
@description('Name of the virtual machine.')
param vmName string
@description('Location for the virtual machine.')
param location string = resourceGroup().location
@description('Name of the storage account.')
param storageAccountName string
@description('Resource ID of the storage account.')
param storageAccountId string
@description('Resource ID of the workspace.')
param workspaceResourceId string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
name: vmName
location: location
}
resource vmDiagnosticsSettings 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: 'Microsoft.Insights.VMDiagnosticsSettings'
location: location
properties: {
publisher: 'Microsoft.Azure.Diagnostics'
type: 'IaaSDiagnostics'
typeHandlerVersion: '1.5'
autoUpgradeMinorVersion: true
settings: {
WadCfg: {
DiagnosticMonitorConfiguration: {
overallQuotaInMB: 10000
DiagnosticInfrastructureLogs: {
scheduledTransferLogLevelFilter: 'Error'
}
PerformanceCounters: {
scheduledTransferPeriod: 'PT1M'
sinks: 'AzureMonitorSink'
PerformanceCounterConfiguration: [
{
counterSpecifier: '\\Processor(_Total)\\% Processor Time'
sampleRate: 'PT1M'
unit: 'percent'
}
]
}
WindowsEventLog: {
scheduledTransferPeriod: 'PT5M'
DataSource: [
{
name: 'System!*[System[Provider[@Name=\'Microsoft Antimalware\']]]'
}
{
name: 'System!*[System[Provider[@Name=\'NTFS\'] and (EventID=55)]]'
}
{
name: 'System!*[System[Provider[@Name=\'disk\'] and (EventID=7 or EventID=52 or EventID=55)]]'
}
]
}
}
SinksConfig: {
Sink: [
{
name: 'AzureMonitorSink'
AzureMonitor: {
ResourceId: workspaceResourceId
}
}
]
}
}
storageAccount: storageAccountName
}
protectedSettings: {
storageAccountName: storageAccountName
storageAccountKey: listkeys(storageAccountId, '2021-08-01').key1
storageAccountEndPoint: 'https://${environment().suffixes.storage}'
}
}
}
resource managedIdentity 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: 'ManagedIdentityExtensionForWindows'
location: location
properties: {
publisher: 'Microsoft.ManagedIdentity'
type: 'ManagedIdentityExtensionForWindows'
typeHandlerVersion: '1.0'
autoUpgradeMinorVersion: true
settings: {
port: 50342
}
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-windows-vm"
},
"location": {
"value": "westus"
},
"storageAccountName": {
"value": "mystorageaccount"
},
"storageAccountId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/my-windows-vm"
},
"workspaceResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace"
}
}
}
Linux
يقوم النموذج التالي بتمكين الملحق التشخيصي وتكوينه على جهاز ظاهري Linux Azure. للحصول على تفاصيل حول التكوين، راجع مخطط ملحق تشخيصات Windows.
ملف القالب
@description('Name of the virtual machine.')
param vmName string
@description('Resource ID of the virtual machine.')
param vmId string
@description('Location for the virtual machine.')
param location string = resourceGroup().location
@description('Name of the storage account.')
param storageAccountName string
@description('Resource ID of the storage account.')
param storageSasToken string
@description('URL of the event hub.')
param eventHubUrl string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
name: vmName
location: location
}
resource vmDiagnosticsSettings 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: 'Microsoft.Insights.VMDiagnosticsSettings'
location: location
properties: {
publisher: 'Microsoft.Azure.Diagnostics'
type: 'LinuxDiagnostic'
typeHandlerVersion: '3.0'
autoUpgradeMinorVersion: true
settings: {
StorageAccount: storageAccountName
ladCfg: {
sampleRateInSeconds: 15
diagnosticMonitorConfiguration: {
performanceCounters: {
sinks: 'MyMetricEventHub,MyJsonMetricsBlob'
performanceCounterConfiguration: [
{
unit: 'Percent'
type: 'builtin'
counter: 'PercentProcessorTime'
counterSpecifier: '/builtin/Processor/PercentProcessorTime'
annotation: [
{
locale: 'en-us'
displayName: 'Aggregate CPU %utilization'
}
]
condition: 'IsAggregate=TRUE'
class: 'Processor'
}
{
unit: 'Bytes'
type: 'builtin'
counter: 'UsedSpace'
counterSpecifier: '/builtin/FileSystem/UsedSpace'
annotation: [
{
locale: 'en-us'
displayName: 'Used disk space on /'
}
]
condition: 'Name="/"'
class: 'Filesystem'
}
]
}
metrics: {
metricAggregation: [
{
scheduledTransferPeriod: 'PT1H'
}
{
scheduledTransferPeriod: 'PT1M'
}
]
resourceId: vmId
}
eventVolume: 'Large'
syslogEvents: {
sinks: 'MySyslogJsonBlob,MyLoggingEventHub'
syslogEventConfiguration: {
LOG_USER: 'LOG_INFO'
}
}
}
}
perfCfg: [
{
query: 'SELECT PercentProcessorTime, PercentIdleTime FROM SCX_ProcessorStatisticalInformation WHERE Name=\'_TOTAL\''
table: 'LinuxCpu'
frequency: 60
sinks: 'MyLinuxCpuJsonBlob,MyLinuxCpuEventHub'
}
]
fileLogs: [
{
file: '/var/log/myladtestlog'
table: 'MyLadTestLog'
sinks: 'MyFilelogJsonBlob,MyLoggingEventHub'
}
]
}
protectedSettings: {
storageAccountName: 'yourdiagstgacct'
storageAccountSasToken: storageSasToken
sinksConfig: {
sink: [
{
name: 'MySyslogJsonBlob'
type: 'JsonBlob'
}
{
name: 'MyFilelogJsonBlob'
type: 'JsonBlob'
}
{
name: 'MyLinuxCpuJsonBlob'
type: 'JsonBlob'
}
{
name: 'MyJsonMetricsBlob'
type: 'JsonBlob'
}
{
name: 'MyLinuxCpuEventHub'
type: 'EventHub'
sasURL: eventHubUrl
}
{
name: 'MyMetricEventHub'
type: 'EventHub'
sasURL: eventHubUrl
}
{
name: 'MyLoggingEventHub'
type: 'EventHub'
sasURL: eventHubUrl
}
]
}
}
}
}
ملف المعلمة
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-linux-vm"
},
"vmId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-linux-vm"
},
"location": {
"value": "westus"
},
"storageAccountName": {
"value": "mystorageaccount"
},
"storageSasToken": {
"value": "?sv=2019-10-10&ss=bfqt&srt=sco&sp=rwdlacupx&se=2020-04-26T23:06:44Z&st=2020-04-26T15:06:44Z&spr=https&sig=1QpoTvrrEW6VN2taweUq1BsaGkhDMnFGTfWakucZl4%3D"
},
"eventHubUrl": {
"value": "https://my-eventhub-namespace.servicebus.windows.net/my-eventhub?sr=my-eventhub-namespace.servicebus.windows.net%2fmy-eventhub&sig=4VEGPTg8jxUAbTcyeF2kwOr8XZdfgTdMWEQWnVaMSqw=&skn=manage"
}
}
}