Linux 系统上 Azure Log Analytics 代理的代理设置

Proxy settings on Azure Log Analytics agent on Linux systems

我正在将 Azure Log Analytics 代理 部署到 Ubuntu 18 VM。它是通过使用 Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux 扩展名通过 Azure Policy 完成的。我需要设置代理配置。在 windows 系统上,可以在部署模板中设置代理设置,其中 "proxyUri": "[parameters('proxyUri')]" 作为代理的 属性。我可以在 Windows OS.

中验证监视代理 UI 上的代理设置

我为 Linux 做了同样的声明。

          "parameters": {
             "vmName": {
                "type": "string"
             },
             "location": {
                "type": "string"
             },
             "logAnalytics": {
                "type": "string"
             },
             "proxyUri": {
                "type": "String",
                "defaultValue": "proxy_server_ipaddress",
                "metadata": {
                  "description": "Proxy Settings', Proxy Server"
                }
              }
          },
          "resources": [
             {
                "name": "[concat(parameters('vmName'),'/omsPolicy')]",
                "type": "Microsoft.Compute/virtualMachines/extensions",
                "location": "[parameters('location')]",
                "apiVersion": "2017-12-01",
                "properties": {
                   "publisher": "Microsoft.EnterpriseCloud.Monitoring",
                   "type": "OmsAgentForLinux",
                   "typeHandlerVersion": "1.13",
                   "autoUpgradeMinorVersion": true,
                   "settings": {
                      "workspaceId": "[reference(parameters('logAnalytics'), '2015-03-20').customerId]",
                      "proxyUri": "[parameters('proxyUri')]"
                   },
                   "protectedSettings": {
                      "workspaceKey": "[listKeys(parameters('logAnalytics'), '2015-03-20').primarySharedKey]"
                   }
                }
             }
          ],

代理扩展安装成功。 但是在配置文件 /etc/opt/microsoft/omsagent/conf/omsagent.conf 中,我找不到任何代理设置。老实说,我不知道在系统上的什么地方可以检查它。我在 Microsoft documentation.

上找不到它

有人知道如何在 Linux 系统上检查 Azure Log Analytics 代理的代理设置吗?

根据the document

代理配置在此文件中设置:/etc/opt/microsoft/omsagent/proxy.conf 可以直接创建或编辑此文件,但 omsagent 用户必须可读。如果代理配置发生变化,则必须更新此文件并重新启动 omsagent 守护程序。例如:

proxyconf="https://proxyuser:proxypassword@proxyserver01:8080"
sudo echo $proxyconf >>/etc/opt/microsoft/omsagent/proxy.conf
sudo chown omsagent:omiusers /etc/opt/microsoft/omsagent/proxy.conf
sudo chmod 600 /etc/opt/microsoft/omsagent/proxy.conf
sudo /opt/microsoft/omsagent/bin/service_control restart

经我验证,直接在 ARM 模板中定义 proxyUri 参数似乎不起作用。您可以尝试在安装过程中使用 custom script extension to invoke the wrapper scripts

例如,Azure 存储 blob 上 oms_linux.sh 文件的内容。

sudo sh ./onboard_agent.sh -p https://<proxy address>:<proxy port> -w <workspace id> -s <shared key>

手臂模板:

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "[concat(parameters('vmName'),'/installcustomscript')]",
  "apiVersion": "2019-03-01",
  "location": "[parameters('location')]",
  "properties": {
    "publisher": "Microsoft.Azure.Extensions",
    "type": "CustomScript",
    "typeHandlerVersion": "2.1",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "fileUris": ["https://mystorageaccount.blob.core.windows.net/oms/oms_linux.sh"]
  
    },
    "protectedSettings": {

     "commandToExecute": "wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh oms_linux.sh",
      "storageAccountName": "xxx",
      "storageAccountKey": "xxxx"

    }

  }
}

结果

在 Azure Linux VM 上,