Как установить и настроить агент мониторинга Microsoft для использования со шлюзом OMS (Proxy) с помощью PowerShell - PullRequest
0 голосов
/ 20 сентября 2019

Как вы можете использовать Powershell для установки и настройки агента мониторинга Microsoft (MMA) для использования со шлюзом OMS? Ни один из автоматизированных примеров не говорит о том, как выполнить это для использования со шлюзом OMS.

Я нашел это в качестве пошагового руководства для этого вручную : http://azurepost.com/oms-gateway-ga-installation-configuration-walkthrough/

и это: https://docs.microsoft.com/en-us/azure/azure-monitor/platform/gateway

Автоматизация:

это для шаблонов ARM, , но не поддерживает OMS Gateway : Включение агента мониторинга Microsoft в шаблонах JSON Windows

это для Powershell, , но не поддерживает OMSШлюз oms-windows.md

Ни один из автоматизированных примеров не скажет, как выполнить это для использования со шлюзом OMS. Фактически из документациив Значения свойства это представляется невозможным.Только задокументированные свойства являются workspaceId и workspaceKey.Никаких других свойств (например, прокси, ИД пользователя, пароля), необходимых для настройки шлюза OMS, в списке нет.

1 Ответ

0 голосов
/ 20 сентября 2019

Решение: развернуть и настроить MMA для использования со шлюзом OMS через ARM или PS. Эти свойства работают как с ARM, так и с PS.PS обычно создает шаблон ARM под капотом. Полный набор свойств:

Документированные свойства расширения

  • workspaceId
  • workspaceKey

Свойства недокументированного расширения

Панель управления; приложение агента мониторинга Microsoft для определения значения большинства этих значений.

  • enableAutomaticManagement : эквивалент «Вкладка:« Operations Manager », Автоматические назначения групп управления обновлениями для AD DS»

  • proxyUri :эквивалент «Tab:« Настройки прокси », Proxy Server»

  • proxyUser : эквивалент «Tab:« Настройки прокси », Имя пользователя»
  • proxyPassword : # эквивалент «Tab:« Настройки прокси », пароль»
  • azureRegionId : Не уверен, но я думаю, что это может быть связано с тем, что Log Analyticsв другом регионе.Используйте Get-AzureRMLocation, Location для определения допустимых значений

  • stopOnMultipleConnections : ???

  • azureResourceId :???

Развертывание с помощью Powershell:

Import-Module Az.Compute
Connect-AzAccount 
Set-AzContext -Subscription  $subscriptionId

$settings = @{ `
    "workspaceId" = $workspaceId; `
    "proxyUri" = $proxyUri; `
    "azureRegionId" = $azureRegionId `
}
$protectedSettings = @{"workspaceKey" = $workspaceKey}

$extensions = Get-AzVMExtension `
    -ResourceGroupName $resourceGroupName `
    -VMName $vmName 

#If extension was already installed and the ExtensionName is not 'MicrosoftMonitoringAgent',
#re-install will fail. Therefore, we need to remove extension before proceeding.
foreach($extension in $extensions)
{
    if ($extension.ExtensionType -eq "MicrosoftMonitoringAgent")
    {
        Remove-AzVMExtension `
            -ResourceGroupName $resourceGroupName `
            -VMName $vmName `
            -Name $extension.Name `
            -Confirm:$false `
            -Force:$true
    }

}

#install MMA Extension
$guid = New-Guid 
Set-AzVMExtension `
    -ResourceGroupName $resourceGroupName `
    -VMName $vmName `
    -ExtensionType "MicrosoftMonitoringAgent" `
    -ExtensionName "MicrosoftMonitoringAgent" `
    -Publisher "Microsoft.EnterpriseCloud.Monitoring" `
    -TypeHandlerVersion 1.0 `
    -ForceRerun $guid `
    -Settings $settings `
    -ProtectedSettings $protectedSettings `
    -Location $azureRegionId 

(пожалуйста, кто-нибудь, скажите мне, что я потратил впустую свое время и есть «Расширение Interogate»"команда powershell где-то ...) Как я это выяснил?Я использовал портал для развертывания расширения MMA.Я пошел к виртуальной машине и нашел установленное расширение по адресу: C: \ Packages \ Plugins \ Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent

Я декомпилировал: Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent.ExtensionShared.dll и искал точные строки: workspaceId и workspaceKey .Я нашел классы: MMAExtensionPublicSettings, MMAExtensionProtectedSettings.Эти классы содержат допустимые свойства Extension.

using Newtonsoft.Json;
using System;
using System.Runtime.CompilerServices;

namespace Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent.Extension.MMADataModels
{
    public class MMAExtensionPublicSettings
    {
        [JsonProperty(PropertyName = "azureRegionId")]
        public string AzureRegionId{ get; set; }

        [JsonProperty(PropertyName = "azureResourceId")]
        public string AzureResourceId { get; set; }

        [JsonProperty(PropertyName = "enableAutomaticManagement")]
        public bool EnableAutomaticManagement { get; set; }

        [JsonProperty(PropertyName = "proxyUri")]
        public string ProxyUri { get; set; }

        [JsonProperty(PropertyName = "proxyUser")]
        public string ProxyUser { get; set; }

        [JsonProperty(PropertyName = "stopOnMultipleConnections")]
        public bool StopOnMultipleConnections { get; set; }

        [JsonProperty(PropertyName = "workspaceId")]
        public string WorkspaceId { get; set; }
        public MMAExtensionPublicSettings()
        {
        }
    }
}

** - MMAExtensionProtectedSettings

using Newtonsoft.Json;
using System;
using System.Runtime.CompilerServices;    
namespace Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent.Extension.MMADataModels
{
    public class MMAExtensionProtectedSettings
    {
        [JsonProperty(PropertyName="proxyPassword")]
        public string ProxyPassword
        {
            get;
            set;
        }

        [JsonProperty(PropertyName="workspaceKey")]
        public string WorkspaceKey
        {
            get;
            set;
        }

        public MMAExtensionProtectedSettings()
        {
        }
    }
}
...