【Azure Function & Application Insights】在Azure Function的日志中,发现DrainMode mode enabled Traces。它是什么意思呢?

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Azure Function & Application Insights】在Azure Function的日志中,发现DrainMode mode enabled Traces。它是什么意思呢?

问题描述

Applicaiton Insights收集了Azure Function的日志,定期发现有” DrainMode mode enabled Traces“。

DrainMode 是什么意思呢?

 

问题解答

排出模式(Drain mode) 属于Function App 缩放机制中的一部分,当后台检测到Function App请求量不再需要当前的instance时会停止对该instance 的监听并额外等待一段时间使当前instance 上正在执行的请求完成执行,等待时间结束后就会移除当前的instance。所以这个操作的日志被Application Insights记录为DrainMode mode enabled traces.

 

该机制属于平台层面的一部分, 官方文档中有提到:  

Scale-in behaviors

Event-driven scaling automatically reduces capacity when demand for your functions is reduced.

对函数的需求减少时,事件驱动的缩放会自动减少容量。

It does this by draining instances of their current function executions and then removes those instances. This behavior is logged as drain mode.

它通过清空其当前函数执行的实例,然后删除这些实例来执行此操作。 系统会将此行为记录为排出模式

The grace period for functions that are currently executing can extend up to 10 minutes for Consumption plan apps and up to 60 minutes for Premium plan apps. Event-driven scaling and this behavior don't apply to Dedicated plan apps.

当前正在执行的函数的宽限期可以扩展到消耗计划应用最多 10 分钟,高级版计划应用最多可以延长 60 分钟。 事件驱动的缩放和此行为不适用于专用计划应用。

 

参考资料

Azure Functions 中的事件驱动缩放  : https://learn.microsoft.com/zh-cn/azure/azure-functions/event-driven-scaling?tabs=azure-cli#scale-in-behaviors

 

 

[END]

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7天前
|
JSON C# 数据格式
【Azure Function】C#独立工作模式下参数类型 ServiceBusReceivedMessage 无法正常工作
Cannot convert input parameter 'message' to type 'Azure.Messaging.ServiceBus.ServiceBusReceivedMessage' from type 'System.String'.
100 73
|
13天前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
27 11
|
2月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
3月前
|
Linux Python
【Azure Function】Python Function部署到Azure后报错No module named '_cffi_backend'
ERROR: Error: No module named '_cffi_backend', Cannot find module. Please check the requirements.txt file for the missing module.
|
4月前
【Azure Policy】分享Policy实现对Azure Activity Log导出到Log A workspace中
在Policy Rule部分中,选择资源的类型为 "Microsoft.Resources/subscriptions", 效果使用 DeployIfNotExists (如果不存在,则通过修复任务进行修正。 在 existenceCondition 条件中,如果当前订阅已经启用了 diagnostic setting并且输出日志到同一个Log A workspace,表示满足Policy要求,不需要进行修正。 在 deployment 中,使用了 ARM 模板, 为订阅添加Diagnostic Setting并且所有的日志Category均启用。
|
5月前
【Azure Function】Azure Function中的Timer Trigger无法自动触发问题
【Azure Function】Azure Function中的Timer Trigger无法自动触发问题
|
5月前
|
Python
【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
|
5月前
|
存储 大数据 索引
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
|
5月前
|
C#
【Azure Function】Function App启动时出现 Failed to open local port 4001 错误,这是什么情况呢?
【Azure Function】Function App启动时出现 Failed to open local port 4001 错误,这是什么情况呢?

热门文章

最新文章