我在使用Azure日志分析功能从Docker容器中检索日志时遇到问题,所有日志的检索都很好,但是Azure在日志的每一行的开头添加了一个日期,这意味着为每一行都创建了一个条目而且我无法正确分析我的日志,因为它们是分开的...
例如,在此图像上,我在黑色矩形中有一个添加的日期(我想是天蓝色),在红色矩形中有一个出现在日志中的日期:
此外,如果我的日志行中没有日期,那么所有行中甚至还有空行都将添加日期
问题是,当我想用我的日志文件中已经存在的日期定界时,azure通过在每行上添加一个日期来逐行剪切我的日志文件。
您有什么解决办法吗?
答案 0 :(得分:2)
我能想到的解决方案之一是,当查询日志时,可以使用replace()方法来替换冗余日期(用空字符串等替换)。并且您需要根据自己的目的编写正确的正则表达式。
错误查询,如下所示:
ContainerLog
| extend new_logEntry=replace(@'xxx', @'xxx', LogEntry)
答案 1 :(得分:0)
当前用于容器的Azure Monitor不支持多行日志记录,但是有一些解决方法。您可以将所有服务配置为以JSON格式编写,然后Docker / Moby将它们写为一行。