蓝盟IT外包小贴士,来喽!
首先,最简单的是处理更多的日志。
到云诞生之前,大多数应用程序都是在单个服务器上运行的总体组件。 通常,如果每个应用程序都完全创建自己的日志,则只能生成一个日志,应用程序可能会在Syslog中记录数据。) 通常,每台服务器只生成少量的日志。 主要是Syslog和auth。 因此,要管理整个环境的日志,只需要处理几个日志。
相比之下,云的本地环境通常使用微服务体系结构。 可能正在运行十多项服务,它提供了配置整个应用程序所需的各种功能。 每个微服务都可以生成自己的日志。
不仅如此,基础架构层次也在增加,因此,扩展会创建更多的日志。 除了基础主机服务器及其生成的日志之外,根据使用情况,还有在应用程序和基础架构之间创建抽象层(Docker和/或Kubernetes )的日志。
简单来说,迁移到云意味着IT团队支持的每个应用程序从竞争少数个人日志的竞争发展到十几个人以上。
总体来说,不仅有更多的日志,还有更多种类的日志。 除服务器和应用程序日志外,还包括云基础架构日志、Kubernetes或Docker日志、认证日志、Windows和Linux日志(在同一操作系统上同时使用两种操作系统)
这种多样性变得复杂是因为,不仅管理的记录数据的种类多,而且这些记录类型的形式也频繁不同。 因此,使用正则表达式匹配或其他类型的通用查询一次分析所有日志更加困难。
随着日志的数量和类型的增加,在应用程序环境中发布日志数据的方法变得更加复杂和变化。
Kubernetes是一个很好的例子。 Kubernetes具有在节点级收集日志的内置功能。 收集的正确方法取决于环境变量。 例如,在安装了systemd的系统上记录日志,但直接写入/var/log中的. log文件。
事情变得更复杂的是,Kubernetes不本地支持群集级日志,但同样可以使用多种方法。 您可以使用在每个Kubernetes节点上运行的记录代理来生成群集的记录数据,也可以在sidecar容器中运行记录代理。 或者,如果集群体系结构和应用程序能够确保执行此操作,请试着从应用程序直接生成整个集群的日志数据。
文/上海蓝盟 IT外包专家