常见问题

读取的日志在不同路径下该如何配置?

可以使用 file reader 中的tailx 模式。

定位 logkit Pro 读取的日志来源

  1. 在所有 parser 中都有一个 label 功能,这个功能可以用于填写机器编号,ip,服务名、团队名称等各种各样用于区别 logkit Pro 数据来源的标签,这些标签会附加在 logkit Pro 的日志中,便于在大的方向上定位日志来源。

  2. 如果是在 tailx 模式下,一个配置文件可以读多个路径,可以使用 datasource_tag 功能,将读取的日志路径作为一个字段记录在日志中。

不重不漏的高效发送日志数据

  1. logkit Pro sender 支持用磁盘队列进行容错,容错策略(ft_strategy)选择:”always_save”, 此时数据就保证不重不漏了。

  2. 配置发送并发数量”ft_procs”:”2”,就是开 2 个并发发送,速度就能大大提升。

  3. 如果还嫌不够快怎么办?可以用内存管道替换磁盘队列噢,但是需要说明,使用内存队列在logkit 异常退出时有丢失数据的风险。

发送一份数据到多个数据源?

添加多个收集器分别发送。

发送到 Pandora 的数据变化怎么处理?

  1. 在发送到 Pandora 的过程中,如果数据字段有增加,只要配置 sende r的 pandora_schema_free 为 true 即可,会自动识别并更新数据源的 schema。

  2. 发送到 Pandora 的数据,类型不能被logkit Pro 自动判别怎么办? 此时在配置 pandora_schema_free 的情况下,再配置一下 pandora_auto_create, 只需要填写那些特殊的类型即可,比如 fieldx jsonstring,其他字段依旧可以通过 pandora_schema_free 自动更新。

  3. Pandora 不接受的字段名称如何处理呢? 在 ELK 中,常见的就是 @timestamp,但是 @ 符号,Pandora 是不支持的,此时只要使用 pandora_schema 字段配置一下 pandora 的别名即可,如:”@timestamp timestamp,…”。同样不支持的符号还包括中划线、竖线等,目前 Pandora 支持的符号是数字、字母以及下划线。

注意最后要填写,… 表示其他字段都要。因为 pandora_schema 除了别名功能以外,还支持字段的选择,如果不加”,…”则表示其他字段都不选。

Grok 解析特别难怎么办?

我们特意写了一个调试 grok 的教程,欢迎阅读:https://github.com/qiniu/logkit/wiki/Grok-Parser#%E5%A6%82%E4%BD%95%E8%B0%83%E8%AF%95%E6%82%A8%E7%9A%84grok-patterngrokdebug%E7%94%A8%E6%B3%95

了解更多 logkit Pro 奥秘请阅读 logkit wiki