【Azure Function & Application Insights】调用Function上传和下载文件,有时候遇见大于1MB的文件的日志没有记录在Application Insights中

简介: 【Azure Function & Application Insights】调用Function上传和下载文件,有时候遇见大于1MB的文件的日志没有记录在Application Insights中

问题描述

在Function App中配置了无代码模式的Application Insights,但有时候发现,超过1MB的文件上传/下载操作成功。但是在Application Insights中,却没有发现请求日志?这是一种什么情况呢?

 

问题解答

Application Insights 是具有采样功能的,当传入执行的速率超过指定的阈值时,Application Insights 开始随机忽略某些传入执行。

配置采样

Application Insights 具有采样功能,可以防止在峰值负载时为已完成的执行生成过多的遥测数据。

当传入执行的速率超过指定的阈值时,Application Insights 开始随机忽略某些传入执行。

每秒执行的最大次数的默认设置为 20。

可以在 host.json 中配置采样。 下面是一个示例:

{
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "maxTelemetryItemsPerSecond" : 20,
        "excludedTypes": "Request;Exception"
      }
    }
  }
}

根据采样率推断并且基于当时执行请求操作数每秒>20次,所以生成的日志由于采样功能会忽略部分日志的采集。如果需要全部采集Function App的日志,可以把采样率设置为100%(initialSamplingPercentage)。

如:

{
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "initialSamplingPercentage" : 100.0,
        "excludedTypes": "Request;Exception"
      }
    }
  }
}

参数介绍:

  • maxTelemetryItemsPerSecond:  默认值20,表示每个服务器主机上每秒记录的遥测项的目标数目。 如果应用在多个主机上运行,请将此值降低至总体目标流量率的范围内。
  • initialSamplingPercentage: 默认值100.0,表示在采样过程开始时应用的初始采样百分比,以动态改变百分比。 不要在调试时减小值,它会导致日志收集不全面。

 

参考资料

Azure Functions 2.x 的 host.json 参数 :  https://learn.microsoft.com/zh-cn/azure/azure-functions/functions-host-json#applicationinsightssamplingsettings

Azure Function 采样率配置介绍:https://learn.microsoft.com/zh-cn/azure/azure-functions/configure-monitoring?tabs=v2#configure-sampling

 

 

[END]

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
9月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
271 2
|
存储 数据可视化 开发工具
【Application Insights】Application Insights存储的Function App的日志存在"Operation Link" 为空的情况
在将 Azure Functions 升级到 .NET 8 和 Isolated Worker 模式后,Application Insights 的请求日志中 `operation_Link` 字段为空,导致分布式追踪无法正常关联。解决方法包括:确保引用正确的 SDK 包(如 `Microsoft.Azure.Functions.Worker.ApplicationInsights`),正确配置 Application Insights 服务,移除默认日志过滤规则,并使用最新依赖包以支持分布式追踪。通过这些步骤,可恢复端到端事务视图的可视化效果。
266 11
|
缓存 网络协议
(问题日志)解决因代理设置导致的npm包ECONNREFUSED下载错误
在AIoT-IDE中使用`npm i`安装依赖时,若出现长时间无响应及ECONNREFUSED错误,可能是网络配置或代理冲突导致。通过指定镜像源与日志排查,确认为旧代理配置遗留问题。解决步骤包括:验证镜像源可用性、清除npm缓存、检查并更新代理配置。最终重新设置正确代理端口后,依赖安装恢复正常。
474 2
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
2740 28
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
512 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
589 3
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
385 4
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
451 1

热门文章

最新文章