来自AKS容器的OMS自定义日志

时间:2018-09-07 09:39:03

标签: azure kubernetes azure-oms

我的公司开始在其应用程序中使用AKS,显然,目标之一是从应用程序中获取日志,将其发送到OMS并使其可搜索。我已经安装了AKS运行状况监视“复选框”随附的OMS代理,该代理实际上是在每个节点上安装一个代理并将日志发送到OMS。

标准Kubernetes日志记录建议将日志发送到STDOUTSTDERR,这对于基本类型的日志记录来说很好,但是我们的应用跨越了两行,只能记录1条日志,同一容器中的多个应用输出; 3个应用程序全部放在一个容器中,直接发送到STDOUT/ERR ...并不是筛选的理想情况。

此刻,我已将Azure存储帐户附加到容器并将日志定向到该容器,将Azure File Storage作为/var/log/目录安装,这很棒,因为我们可以将日志拆分为不同的日志文件。以此为指导; https://medium.com/@diegomrtnzg/monitoring-your-log-files-with-kubernetes-in-azure-b2a92e674947

我还指示OMS使用这些说明从自定义日志目录中进行读取; https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-data-sources-custom-logs

但是,此后我发现这行不通。我认为这是因为代理不知道每个容器文件系统,而是仅查看STDOUT/ERR

我还知道我们可以在搜索查询中的Log Analytics中使用解析来查找所需的日志,但是我更希望通过自定义日志输入来完成此操作,并且如果日志跨越整个范围,这并没有太大帮助几行破裂(如上所述); https://blogs.msdn.microsoft.com/ukhybridcloud/2017/09/19/azure-log-analytics-using-the-parse-operator/

我知道我们无法告诉OMS从存储帐户中提取日志; https://feedback.azure.com/forums/267889-log-analytics/suggestions/7928931-collect-data-from-custom-containers-in-storage-acc

问题 所以,最后...我的问题来了。我希望我们不是唯一遇到这种情况的人,并且可以帮助我建议采取什么最佳措施。

我们如何从位于1个AKS容器中的3个(或更多)应用程序中完整的,结构化的,多行日志文件获取已解析的OMS,而不是破碎的分段?

对此将提供任何帮助。

0 个答案:

没有答案