让我们考虑一个假设的场景,其中我有两个VM,每个VM运行一个单独的应用程序,例如一个为我的应用程序运行一个内部仪表板(称为Internal),另一个运行主服务器(称为External)。
这两个应用程序的日志文件都在各自计算机中的/var/log/application.log文件中。我希望能够设置Azure Monitor,以便可以分别搜索内部和外部计算机/应用程序的日志。
我发现无法将VM与Azure Monitor (LogAnalytics --> Advanced --> Data --> Custom Logs --> Add)
中的过滤器相关联。它仅需要一个示例日志文件,该日志文件的路径,并将其添加到Log Analytics / VM的Log
部分的“自定义过滤器”中。
我认为这会将在两台计算机上找到的日志合并到一个流中,并向我显示。否则,我将不得不命名日志文件internal-application.log
和external-application.log
,然后将它们添加到两个单独的过滤器中,并将其用作区分标准。
我尝试调查文档并在Internet上搜索。所有答案似乎都与VM的指标日志有关,与应用程序日志无关。
任何建议或指导都会有很大帮助。空闲时间里,我已经耐心地寻找了几个星期的答案。
答案 0 :(得分:1)
对于您的AFAIK,即使日志文件路径相同,也无需将日志文件命名为“ internal-application.log”和“ external-application.log” (例如'/var/log/application.log'),然后将找到的日志合并,并显示在单个流中,用于名为(例如xxxxxxx_CL的特定日志类型 即,它可以是您在上传自定义日志时提供的任何名称),前提是日志中会有一个名为“计算机”的列。因此,您也可以基于计算机查询日志。
示例查询:
xxxxxxx_CL | where Computer == "VM1NAME"
xxxxxxx_CL | where Computer == "VM2NAME"
希望这会有所帮助!