我有一个运行两个节点的应用程序服务,与我拥有的其他节点不同,它最终只让一个节点运行。为了让两个节点再次运行,我必须扩大和缩小规模,由于某种原因,这会“触发”两个节点运行。您可以在下图中看到,直到下午 6 点左右,一切看起来都很好,此时看起来一个节点死亡,而另一个节点开始旋转。这种情况在 7:10 左右再次发生,到 7:30 时,只有一个节点正在为请求提供服务。
试图诊断这一点是令人抓狂的。我有 SignalR 的粘性会话(通过 Redis 的背板),但我从其他应用程序知道这应该不重要。日志显示新容器正在启动,但我找不到任何东西可以告诉我为什么以前的容器会死掉。此应用程序服务计划中还有另一个应用程序似乎一致地分配请求负载,因此我认为它不是 Azure 基础设施。我认为这是我的应用程序,但我找不到合适的日志记录来提供帮助。
那么问题来了,如何找到某个节点坏掉的原因呢?
编辑:我不太相信这一定是我的应用程序。我可以深入了解运行状况检查 UI 并重新启动未获得流量的特定实例,但没有任何变化。