tencent cloud

文档反馈

日志采集相关

最后更新时间:2022-04-18 17:00:23

    日志采集通用问题

    集群配置日志采集后,为什么在日志服务控制台查看不到日志?

    发生日志查看不到或者缺失的情况,请检查是否存在以下问题:

    • 检查所选的日志 topic 是否开启了索引,索引配置是使用日志服务进行检索分析的必要条件。若未开启,则无法查看日志。配置索引的详细操作,请参见 日志服务配置索引
    • 日志、审计、事件是否选用同一个 topic,若选用同一个 topic 则会发生日志覆盖,造成缺失。
    • 检查所选的 topic 是否选用了两种提取模式,新的提取模式会覆盖旧的提取模式。
    • 检查是否存在软链接。如果选择采集类型为“容器文件路径”时,对应的“容器文件路径”不能为软链接,否则会导致软链接的实际路径在采集器的容器内不存在,导致采集日志失败。
    • 若采用环境变量的方式开启 EKS 日志采集,并选择角色授权,在创建角色时需要选择 CVM 载体,详情请参见 EKS 日志采集

    如果您的问题仍未解决,请 提交工单 联系我们。

    配置好日志规则后,日志在哪查看?

    1. 登录 日志服务控制台,选择左侧检索分析
    2. 进入“检索分析”页面,选择地域、需要查看日志的日志集和日志主题,开启全文索引,即可检索分析日志。如下图所示:

    使用环境变量开启 EKS 日志采集时

    Java 类应用如何实现多行日志合并?

    当客户程序的日志数据跨占多行时(例如 Java 程序日志),不能使用换行符 \n 作为日志的结束标识符。为了能让日志系统明确区分开每条日志,需要配置具有首行正则表达式的 configmap,当某行日志匹配了预先设置的正则表达式,则认为是一条日志的开头,而在下一个行首出现则作为该条日志的结束标识符。详情可参见 EKS 日志采集实现多行日志合并

    如何调整日志采集配置,以适应不同的日志输出速率?

    当使用环境变量的方式开启 EKS 日志采集时,EKS 会在 pod sandbox 里额外启动一个日志采集组件来进行日志收集并上报。由于 EKS 限制了日志采集组件的内存使用量,当日志的输出速率过高时,日志采集组件可能会发生 OOM 的情况,此时可以按需调整日志采集的配置。具体方法为手动修改以下 pod annotation,将日志采集组件使用的内存缓冲区调小,以减少内存占用。

    internal.eks.tke.cloud.tencent.com/tail-buffer-chunk-size: "2M"
    internal.eks.tke.cloud.tencent.com/tail-buffer-max-size: "2M"
    

    annotation 的含义如下所示,详情可参见 Fluent Bit

    参数 含义 默认值
    Buffer_Chunk_Size 设置初始缓冲区大小以采集容器文件日志,也可用于增加缓冲区的大小。 2M
    Buffer_Max_Size 设置每个受监视文件的缓冲区大小的限制。当需要增加缓冲区时(例如长日志),此值可以限制缓冲区的增加量。如果读取的文件超过此限制,将从监视列表中删除此文件。 2M

    EKS 集群容器内应用输出日志的标准是什么?

    在应用输出日志时,应注意容器内应用尽量输出至 stdout。如果您的程序日志输出至容器的文件,需要有相应的手段来管理日志文件的滚动和清理,或者挂载 volume 持久化存储,否则20G临时空间会被占满,详情可参见 Pod 临时存储

    若无管理日志文件的滚动和清理手段,推荐您进行以下操作:

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持