• 常见问题
    • 读取的日志在不同路径下该如何配置?
    • 定位 logkit Pro 读取的日志来源
    • 不重不漏的高效发送日志数据
    • 发送一份数据到多个数据源?
    • 发送到 Pandora 的数据变化怎么处理?
    • Grok 解析特别难怎么办?

    常见问题

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

    可以使用 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。