.Net应用程序在docker下:在将日志写入与托管系统共享的文件时有明显延迟。

问题描述 投票:1回答:1

我们有一个.net应用程序,它在Nlog日志器的帮助下向文件源写入日志,日志一直在记录,每秒都在记录。如果你在Windows上运行它,没有dockers,一切都很好:日志记录立即出现在文件中,但在我们的Linux dockers集群下部署,需要几分钟到几个小时才能将数据写入文件,而文件是与我们的主机系统共享的。我可以在数据库中看到数据,说明app运行成功,但是日志文件却一时半会没有变化。对docker没有什么经验,不知道可能是什么原因造成的,甚至不知道该从哪里找。我找到了yaml文件,是这样的。

mount -v -t cifs //10.153.1.61/apps/configs/stage/testApp/logs /logs/ -o credentials=/smb/smbcredentials;

由于没有docker也能正常工作 我认为是我们创建镜像和部署docker的方式出了问题。如果有任何关于在哪里进行调查的想法,我们将非常感激。

docker yaml nlog
1个回答
2
投票

我想你看到的慢是因为你试图通过CIFS网络共享来写日志,这是一个很大的开销。 你应该考虑使用一个常用的分布式日志处理解决方案,例如 灰色原木, ELK 或Splunk(https:/www.splunk.com)

看来NLog有一个 很多 集成的选择。有非常详细的步骤 教程 可用,详细解释了这个过程。

使用集中式日志收集不仅可以为你加快工作速度,还可以让你查询合并来自多个容器的日志,并建立图形仪表板,让你更深入地了解系统的当前状态。

© www.soinside.com 2019 - 2024. All rights reserved.