Appearance
使用 .NET SDK 管理 Azure Application Insights 监控资源
解决手动配置监控资源的低效问题:通过 .NET SDK 实现 Application Insights 资源的自动化部署、连接字符串管理以及可用性测试(Web Test)的动态创建。
为什么需要这个技能
在复杂的云原生架构中,为每个微服务手动在 Azure 门户中创建 Application Insights 实例、配置保留期并设置可用性测试极其低效且易出错。
通过 Azure.ResourceManager.ApplicationInsights SDK,开发者可以将监控资源的生命周期管理纳入代码版本控制(IaC 思想)。无论是自动生成连接字符串给应用使用,还是根据环境动态创建性能分析工作簿(Workbook),都能通过编程方式快速实现,确保开发、测试和生产环境的监控配置完全一致。
适用场景
- 自动化运维:在 CI/CD 流水线中自动创建配套的监控组件。
- 动态可用性监控:根据业务需求动态增减全球各节点的 URL Ping 测试。
- 监控面板自动化:利用代码生成标准化的 KQL 查询工作簿,快速搭建性能看板。
- 凭证管理:通过编程方式管理 API Key 和连接字符串,避免在配置文件中硬编码。
核心工作流
1. 环境准备与认证
首先安装核心包并配置 Azure 身份认证。
bash
dotnet add package Azure.ResourceManager.ApplicationInsights
dotnet add package Azure.Identitycsharp
using Azure.Identity;
using Azure.ResourceManager;
// 使用默认凭据(支持环境变量、Managed Identity 等)
ArmClient client = new ArmClient(new DefaultAzureCredential());2. 创建基于工作区的监控组件
现代 Azure 监控推荐使用基于工作区(Workspace-based)的模式,以便更好地统一管理日志。
csharp
ApplicationInsightsComponentData data = new ApplicationInsightsComponentData(
AzureLocation.EastUS,
ApplicationInsightsApplicationType.Web)
{
Kind = "web",
WorkspaceResourceId = new ResourceIdentifier("/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>"),
IngestionMode = IngestionMode.LogAnalytics,
RetentionInDays = 90,
SamplingPercentage = 100
};
var operation = await components.CreateOrUpdateAsync(WaitUntil.Completed, "my-appinsights", data);
Console.WriteLine($"连接字符串: {operation.Value.Data.ConnectionString}");3. 配置可用性测试 (Web Test)
通过定义 XML 配置,实现全球多节点的自动化 Ping 测试。
csharp
WebTestData urlPingTest = new WebTestData(AzureLocation.EastUS)
{
WebTestName = "Homepage Availability",
Frequency = 300,
Locations = { new WebTestGeolocation { WebTestLocationId = "apac-sg-sin-azr" } }, // 东南亚节点
Configuration = new WebTestConfiguration
{
WebTest = "<WebTest Name=\"Homepage\" ...><Items><Request Method=\"GET\" Url=\"https://myapp.example.com\" ExpectedHttpStatusCode=\"200\" /></Items></WebTest>"
}
};
await webTests.CreateOrUpdateAsync(WaitUntil.Completed, "webtest-homepage", urlPingTest);下载和安装
下载 azure-mgmt-applicationinsights-dotnet 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐