【问题标题】:Workflow deployment with enabling Log Analytics in Azure Logic App using Rest API使用 Rest API 在 Azure Logic App 中启用 Log Analytics 的工作流部署
【发布时间】:2021-09-15 09:05:08
【问题描述】:

我正在尝试使用工作流 Rest API (https://docs.microsoft.com/en-us/rest/api/logic/workflows) 在 Azure 中部署工作流。我想在逻辑应用中部署此工作流时启用 Log Analytics 工作区。在创建逻辑应用程序时,这在门户中是直截了当的。但是在创建工作流定义(JSON 文件)时,我没有找到任何文档或信息来传递日志分析工作区。请告诉我,如果有办法通过它

【问题讨论】:

  • 有兴趣可以用ARM模板
  • 如果在 ARM 模板中可行,那么我可以接受,我将使用 ARM 模板部署 API 来部署它。请让我知道,一些示例模板来实现它。提前谢谢..

标签: azure workflow azure-logic-apps azure-log-analytics


【解决方案1】:

您可以尝试以下步骤在创建工作流定义时传递日志分析工作区:

  1. Azure portal 中,找到并选择您的逻辑应用。

  2. 在逻辑应用菜单的监控下,选择诊断设置 > 添加诊断设置

  3. 要创建设置,请按以下步骤操作:

    一个。提供设置的名称。

    b.选择发送到 Log Analytics

    c。对于订阅,选择与您的 Log Analytics 工作区关联的 Azure 订阅。

    d。对于 Log Analytics 工作区,选择您要使用的工作区。

    e。在 log 下,选择 WorkflowRuntime 类别,该类别指定您要记录的事件类别。

    f。要选择所有指标,请在 metric 下选择 AllMetrics

    g.完成后,选择保存

例如:

您也可以使用clientTrackingIdtrackedProperties

此示例显示ActionCompleted 事件如何包含clientTrackingIdtrackedProperties 属性:

JSON

{
   "time": "2016-07-09T17:09:54.4773148Z",
   "workflowId": "/subscriptions/XXXXXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp",
   "resourceId": "/subscriptions/<subscription-ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp/runs/<run-ID>/actions/Http",
   "category": "WorkflowRuntime",
   "level": "Information",
   "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
   "properties": {
      "$schema": "2016-06-01",
      "startTime": "2016-07-09T17:09:53.4336305Z",
      "endTime": "2016-07-09T17:09:53.5430281Z",
      "status": "Succeeded",
      "code": "OK",
      "resource": {
         "subscriptionId": "<subscription-ID>",
         "resourceGroupName": "MyResourceGroup",
         "workflowId": "<logic-app-workflow-ID>",
         "workflowName": "MyLogicApp",
         "runId": "08587361146922712057",
         "location": "westus",
         "actionName": "Http"
      },
      "correlation": {
         "actionTrackingId": "e1931543-906d-4d1d-baed-dee72ddf1047",
         "clientTrackingId": "<my-custom-tracking-ID>"
      },
      "trackedProperties": {
         "myTrackedPropertyName": "<value>"
      }
   }
}

您可以参考Set up Azure Monitor logs and collect diagnostics data for Azure Logic AppsCreate and deploy a logic app workflow by using an ARM template

【讨论】:

  • 感谢您的回答。我正在尝试从 REST API 进行这种集成。我有自己的工作流定义 JSON 文件,我正在使用 REST API(docs.microsoft.com/en-us/rest/api/logic/workflows)部署它。是否可以从工作流定义中传递日志分析工作区 ID?
【解决方案2】:

在上面的评论中,您提到“如果在 ARM 模板中可行,那我可以接受,我将使用 ARM 模板部署 API 来部署它。

这是一个示例,您可以随意修改它以适合您的需要:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "logicapp-name": {
            "type": "string",
            "defaultValue": "testLogicApp",
            "metadata": {
                "description": "Name of the Logic App"
            }
        },
        "loganalytics-workspace-resourceid": {
            "type": "string",
            "defaultValue": "/subscriptions/11111111-2222-3333-4444-555555555555/resourcegroups/testResourceGroup/providers/microsoft.operationalinsights/workspaces/testLogAnalyticsWorkspace",
            "metadata": {
                "description": "Resource ID of the Log Analytics workspace"
            }
        }
    },
    "variables": {
        "logAnalyticsSettingName": "testDiagnosticSettingName"
    },
    "resources": [
        {
            "type": "Microsoft.Logic/workflows/providers/diagnosticSettings",
            "name": "[concat(parameters('logicapp-name'),'/Microsoft.Insights/', variables('logAnalyticsSettingName'))]",
            "apiVersion": "2017-05-01-preview",
            "properties": {
                "workspaceId": "[parameters('loganalytics-workspace-resourceid')]",
                "logs": [
                    {
                        "category": "WorkflowRuntime",
                        "enabled": true,
                        "retentionPolicy": {
                            "days": 0,
                            "enabled": false
                        }
                    }
                ],
                "metrics": [
                    {
                        "timeGrain": "PT1M",
                        "enabled": true,
                        "retentionPolicy": {
                            "enabled": false,
                            "days": 0
                        }
                    }
                ]
            }
        }
    ]
}

【讨论】:

    猜你喜欢
    • 2023-02-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多