我遇到的情况是,在大约两天的时间里,我从本地应用程序获取了 azure 上基于日志的指标。同时我在insights中没有收到任何标准指标数据。据我所知,在这段缺乏数据的时期之前和之后没有任何变化(没有部署,基础设施没有变化)。我正在使用 App Insights Nlog 目标进行日志记录。 我不知道会发生什么以及为什么我失去了一些指标。这两种类型的收藏有什么区别?
我检查了部署时间,此时应用程序端没有任何变化。
dropoutcoder,标准指标收集管道中的问题可能会影响数据交付。这可能源于 Application Insights SDK、Azure Monitor 代理,甚至是 Azure Application Insights 服务中的问题。检查 Azure Application Insights 设置中是否意外禁用了标准指标收集。虽然它通常默认启用,但也可以关闭。
您还可以检查 Azure Monitor 日志中是否存在与标准指标收集相关的任何错误或异常。我有类似的问题,这里我做了什么。我重新启动了 Azure Monitor 代理,我不知道这对您的情况是否有帮助。
这个 Python 代码很有用:
import logging
# Get the Application Insights logger
logger = logging.getLogger("ApplicationInsights")
# Check the standard metrics collection status
logger.info("Standard metrics collection status: {0}", logger.is_standard_metrics_collection_enabled())
# If standard metrics collection is disabled, enable it
if not logger.is_standard_metrics_collection_enabled():
logger.enable_standard_metrics_collection()
要检查并启用标准指标收集,我建议使用 PowerShell 命令。第一个是检查标准指标收集状态:
Get-AppInsightsApplication -ApplicationName "YourApplicationName" | Select-Object -ExpandProperty StandardMetricsCollectionEnabled
在标准指标收集状态为 False 的情况下,使用另一个有用的代码启用它:
Set-AppInsightsApplication -ApplicationName "YourApplicationName" -StandardMetricsCollectionEnabled $True