问题描述
在测试Application Insights的每日上限(Daily Cap)功能,想通过最简单的 curl 脚本来循环发送请求,验证日志摄入量大道设置的300MB (0.03GB)后,是否可以通过调大Daily Cap限制值马上恢复数据的摄入!
问题解答
一个简单的 CMD 脚本示例,它会循环执行 curl
命令:
@echo off :loop curl http://example.com timeout /t 60 goto loop
这个脚本会不断地执行 curl http://example.com
命令,并在每次执行后等待 60 秒。如果需要修改 URL 或等待时间,只需替换相应的部分即可。
根据从M365 Copilot中获取的答案,直接把 http内容 替换为 向Application Insights发送 sample test data 的 Request 。 修改后的 CMD 脚本为:
@echo off
:loop
curl -H "Content-Type: application/json" -X POST -d {\"data\":{\"baseData\":{\"ver\":2,\"id\":\"SampleRunId\",\"name\":\"MicrosoftSupportSampleWebtestResultUsingCurl\",\"duration\":\"00.00:00:10\",\"success\":true,\"runLocation\":\"RegionName\",\"message\":\"SampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultSampleWebtestResultlt\",\"properties\":{\"SampleProperty\":\"SampleValue\"}},\"baseType\":\"AvailabilityData\"},\"ver\":1,\"name\":\"Microsoft.ApplicationInsights.Metric\",\"time\":\"2024-12-11T05:18:22.0000000Z\",\"sampleRate\":100,\"iKey\":\"<xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>\",\"flags\":0} https://chinanorth3-0.in.applicationinsights.azure.cn/v2/track
timeout /t 0
goto loop
执行效果为:
通过持续不断的循环请求,最后验证了在Application Insights 及 Log A 达到每日摄入数据量上限后,及时调整到更大的限制值,也不能及时恢复数据收集。只能等待Log A 的重置时间。
参考资料
用于发送可用性测试结果的 Curl 命令 : https://learn.microsoft.com/zh-cn/troubleshoot/azure/azure-monitor/app-insights/telemetry/investigate-missing-telemetry#curl-command-send-availability-test-result
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!