0%

日志

背景

近年来随着以 Kubernetes 为代表的云原生技术的崛起,应用上云是大势所趋,随之而来的问题是应用日志的收集、查看、检索等问题。

云原生时代的日志有以下几个特点/痛点:

  • 日志更多
    在应用上云之前,大多数应用都是运行在某个服务器上,每个应用程序通常仅生成一个日志。现在随着应用上云、落地微服务架构,服务之间的依赖关系越来越复杂了,这时的问题排查将十分复杂,如何关联各个维度、服务的日志将是一个困难的问题。
  • 多样化日志结构
    在上云之后,绝大多数的开发者都习惯于通过终端输出日志,但这些日志有的是一条普通文本,有的是一条json,如何兼顾多种日志结构,满足不同的业务需求?
  • 环境的动态性变强
    在Kubernetes中,机器下线、上线、Pod销毁、扩容/缩容等都是常态,这种情况下日志的存在是瞬时的(例如如果Pod销毁后该Pod日志就不可见了),所以日志数据必须实时采集到存储系统。
  • 日志与Trace
    当应用开发者根据 Trace 定位到问题模块、方法的时候,如何查看该请求对应的日志上下文?
    当应用开发者在日志中发现一个异常的时候,如何查看该日志对应Trace上下文?

解决方案

针对云原生场景下的日志需求,我们开发者平台(https://x.haier.net)提供了以下核心能力:

  • 日志检索
  • 日志上下文
  • 日志处理
  • 日志下载