ADX数据接收异常排查:触发无报错却无数据,后续自动恢复
ADX 摄入延迟或排队
ADX的摄入服务可能因临时负载高峰、资源配额不足(如摄入吞吐量单位不够)导致数据进入等待队列。此时Azure Function写入操作成功,但数据尚未被ADX索引,所以查询时看不到事件数据。当队列处理完成后,数据会自动显示。可以通过ADX的Ingestion failures指标或Operations日志排查摄入状态。数据格式隐式不匹配
尽管Function无报错,但设备发送的数据字段类型可能与ADX表定义不兼容,ADX自动丢弃了不匹配的事件字段,仅保留手动添加的日期字段。后续可能因设备发送的数据格式临时符合表结构,或ADX的自动Schema适配(若开启)延迟生效,使得数据正常显示。建议检查Function写入ADX的代码,确认字段映射与表结构一致,同时查看ADX的Ingestion batching设置,是否因批次未触发导致延迟。Event Hub到Function的触发滞后
Event Hub虽有数据,但Function触发器可能因Event Hub分区负载不均、检查点更新延迟,导致事件触发滞后。当积压的事件被逐步处理后,ADX会陆续收到数据。可查看Function的Triggered Events指标和Event Hub的Partition lag指标确认。ADX查询缓存或索引延迟
ADX查询结果可能因缓存机制显示旧数据,或新写入的数据尚未完成索引构建,导致查询不到。一段时间后索引构建完成、缓存更新,数据便会正常显示。可尝试使用set notruncation;语句强制刷新查询验证。临时服务或网络波动
Azure服务间的临时网络抖动、ADX或Function的区域级临时故障,可能导致数据写入链路短暂中断,但由于Function的重试机制、ADX的摄入重试机制存在,当服务恢复后积压数据会被正常写入。可查看Azure状态页面的历史事件或相关服务日志确认。
内容的提问来源于stack exchange,提问作者user24205733

