日志采集¶
观测云拥有全面的日志采集能力,主要分成主机日志采集和 K8S 容器日志采集,两者 DataKit 的安装方式不同,日志采集的方式也不尽相同。采集的日志数据统一汇总到观测云进行统一存储、搜索和分析,帮助我们快速定位问题并解决问题。
本文主要介绍如何在主机环境下采集日志,关于在 K8S 环境采集日志可参考最佳实践 Kubernetes 集群中日志采集的几种玩法。
前置条件¶
或者您也可以登录 观测云,在集成 > DataKit,根据主机系统选择 Linux、Windows、MacOS,获取 DataKit 安装指令和安装步骤。
日志采集器配置¶
DataKit 安装完成后,您可以通过开启标准日志采集或者自定义日志采集两种方式,对来自于系统日志、应用日志如 Nginx、Redis、Docker、ES 等多种日志数据进行日志采集。
注意
配置日志采集器时,需开通日志的 Pipeline 功能,提取日志时间 time 和日志等级 status 的字段:
time:日志的产生时间,如果没有提取time字段或解析此字段失败,默认使用系统当前时间;status:日志的等级,如果没有提取出status字段,则默认将stauts置为unknown。
更多详情可参考文档 Pipeline 配置和使用。
日志数据存储¶
日志采集器配置完成后,重启 DataKit,日志数据就可以统一上报到观测云工作空间。
大时间偏差数据写入
写入时间戳与当前时间存在显著偏差的数据时,会损害存储引擎中数据块的 min-max 索引效率。这导致即使查询一个很小的时间范围,也可能需要扫描大量数据块,从而严重降低查询性能。
为缓解此问题,系统默认会在写入时过滤掉时间戳与当前时间偏差超过 12 小时的数据点(仅丢弃超时数据点,而非整个数据包)。此机制有助于维护索引的有效性,提升查询效率。
Kodo-X 增加配置:
kodo-x.yaml:添加 3 个参数
enable_discard_expired_data:是否开启丢弃时间偏差大数据,默认开启
discard_expired_seconds:时间偏差大的判断标准,默认值 12 小时
discard_data_type:丢弃的数据类型,默认值: