【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题

问题描述

把应用部署到Azure Container Apps(容器应用),可以在Container App Environemnt级别设置诊断日志,把日志收集到Event Hub / Log Analystic Workspace / Storage Account中。

虽然,这样能把日志导出到目标源中。但在检查日志时候,发现延迟很大,通常要等待7-10分钟才能受到日志,这样在检测问题时候,会带来很大的困难。

 

问题解答

配置Azure Monitor设置Diagnostic Setting,这种日志收集方案,正是基于Azure Monitor来获取日志,所以,它也遵循Monitor的日志数据引入时间的限制,受到如下因数的影响:

  • 代理时间:发现事件、收集事件,然后将其作为日志记录发送到数据收集终结点的时间。 大多数情况下,此过程由代理处理。 网络可能会引入更多延迟。
  • 管道时间:引入管道处理日志记录的时间。 在该时段,会解析事件属性,而且可能会添加计算的信息。
  • 索引时间:将日志记录引入到 Azure Monitor 大数据存储所花费的时间。

Azure 指标、资源日志、活动日志存在30 秒到 15 分钟的延迟。所以在Container App Environment中,延迟在10分钟左右也是设计使然。不能缩短这里的延迟时间!

 

查考资料

Azure Monitor 中的日志数据引入时间 : https://docs.azure.cn/zh-cn/azure-monitor/logs/data-ingestion-time

 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1天前
|
API
【Azure Logic App】使用Logic App来定制Monitor Alert邮件内容遇见无法获取SearchResults的情况
Log search alert rules from API version 2020-05-01 use this payload type, which only supports common schema. Search results aren't embedded in the log search alerts payload when you use this version.
20 10
|
1月前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
43 11
|
1月前
|
JavaScript C++ 容器
【Azure Bot Service】部署NodeJS ChatBot代码到App Service中无法自动启动
2024-11-12T12:22:40.366223350Z Error: Cannot find module 'dotenv' 2024-11-12T12:40:12.538120729Z Error: Cannot find module 'restify' 2024-11-12T12:48:13.348529900Z Error: Cannot find module 'lodash'
42 11
|
1月前
|
缓存 容器 Perl
【Azure Container App】Container Apps 设置延迟删除 (terminationGracePeriodSeconds) 的解释
terminationGracePeriodSeconds : 这个参数的定义是从pod收到terminated signal到最终shutdown的最大时间,这段时间是给pod中的application 缓冲时间用来处理链接关闭,应用清理缓存的;并不是从idel 到 pod被shutdown之间的时间;且是最大时间,意味着如果application 已经gracefully shutdown,POD可能被提前terminated.
|
1月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
1月前
|
Java 开发工具 Windows
【Azure App Service】在App Service中调用Stroage SDK上传文件时遇见 System.OutOfMemoryException
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
|
1月前
|
安全 Apache 开发工具
【Azure App Service】在App Service上关于OpenSSH的CVE2024-6387漏洞解答
CVE2024-6387 是远程访问漏洞,攻击者通过不安全的OpenSSh版本可以进行远程代码执行。CVE-2024-6387漏洞攻击仅应用于OpenSSH服务器,而App Service Runtime中并未使用OpenSSH,不会被远程方式攻击,所以OpenSSH并不会对应用造成安全风险。同时,如果App Service的系统为Windows,不会受远程漏洞影响!
|
1月前
|
C#
【Azure App Service】使用Microsoft.Office.Interop.Word来操作Word文档,部署到App Service后报错COMException
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
|
1月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!