如何将复杂的 Application Insights 引入 Farmer 部署?
How to bring complex Application Insights to a Farmer deployment?
我对 Farmer 产生了兴趣,并决定在我的项目中尝试一下。我设法用 Farmer 替换了大部分 ARM 模板。
但是,还有 Application Insights,因为我在那里有相当复杂的设置,包括一些警报、计划查询规则等。而 Farmer 目前 supports 为 AI 所做的一切只是名称、IP 掩码和样本百分比。
如何将 AI 设置插入 Farmer,这样我才不会因为那部分而拒绝 Farmer?我的服务如下所示:
let webApp = webApp {
name appName
service_plan_name servicePlanName
sku WebApp.Sku.B1
always_on
...
}
因此 webApp
安装程序为此设置了一个构建器关键字,link_to_unmanaged_app_insights
:
Instructs Farmer to link this webapp to an existing app insights instance that is externally managed, rather than creating a new one.
但是没有示例,只有 one test 使用它,所以经过一些试验后,这被证明是有效的:
- 在源代码中继续在 ARM 中设置 AI,例如
arm-template-ai.json
.
- 记下 AI 资源 ID。
- 在 F# 应用设置中使用上述关键字:
let webApp = webApp {
name appName
service_plan_name servicePlanName
sku WebApp.Sku.B1
always_on
link_to_unmanaged_app_insights (ResourceId.create appInsightsName)
}
- 在发布管道中,首先从源代码中的 AI ARM 模板部署 AI。
- 然后部署 Farmer 生成的 ARM 模板中的所有其他资源。
它在 Azure DevOps 中的外观示例:
我对 Farmer 产生了兴趣,并决定在我的项目中尝试一下。我设法用 Farmer 替换了大部分 ARM 模板。
但是,还有 Application Insights,因为我在那里有相当复杂的设置,包括一些警报、计划查询规则等。而 Farmer 目前 supports 为 AI 所做的一切只是名称、IP 掩码和样本百分比。
如何将 AI 设置插入 Farmer,这样我才不会因为那部分而拒绝 Farmer?我的服务如下所示:
let webApp = webApp {
name appName
service_plan_name servicePlanName
sku WebApp.Sku.B1
always_on
...
}
因此 webApp
安装程序为此设置了一个构建器关键字,link_to_unmanaged_app_insights
:
Instructs Farmer to link this webapp to an existing app insights instance that is externally managed, rather than creating a new one.
但是没有示例,只有 one test 使用它,所以经过一些试验后,这被证明是有效的:
- 在源代码中继续在 ARM 中设置 AI,例如
arm-template-ai.json
. - 记下 AI 资源 ID。
- 在 F# 应用设置中使用上述关键字:
let webApp = webApp {
name appName
service_plan_name servicePlanName
sku WebApp.Sku.B1
always_on
link_to_unmanaged_app_insights (ResourceId.create appInsightsName)
}
- 在发布管道中,首先从源代码中的 AI ARM 模板部署 AI。
- 然后部署 Farmer 生成的 ARM 模板中的所有其他资源。
它在 Azure DevOps 中的外观示例: