jayciedede
作者jayciedede·2020-02-04 17:55
技术经理·安图特(北京)科技有限公司

Heka指南 – 入门示例及配置

字数 1759阅读 2980评论 0赞 1

在此,使用一个简单的示例开始 Heka 的使用。

示例

该示例将加载本地的一个日志文件,使用空白符及换行分隔,打印至标准输出,配置文件 test.toml 如下:

[log-test-input]type = "LogstreamerInput"log_directory = "/root/work"file_match = 'test\.log'splitter = "log-test-splitter" [log-test-splitter]type = "RegexSplitter"delimiter = '\s+'delimiter_eol = false [log-test-encoder]append_newlines = truetype = "PayloadEncoder"prefix_ts = false [log-test-output]type = "LogOutput"message_matcher = "TRUE"encoder = "log-test-encoder"

创建日志文件 /root/work/test.log,然后启动 hekad 进程:

hekad -config test.toml

向日志中输入一些内容:

echo -e "Hello world.\n This is a demo of heked." >> test.log

查看日志文件中的内容:

Hello world. This is a demo of heked.

heked 的标准输出:

2017/04/30 10:00:27 Hello2017/04/30 10:00:27 world.2017/04/30 10:00:27 This2017/04/30 10:00:27 is2017/04/30 10:00:27 a2017/04/30 10:00:27 demo2017/04/30 10:00:27 of2017/04/30 10:00:27 heked.

配置释义

Heka 的配置文件采用 TOML 格式,使用 [] 来区分一段段配置:

  • [log-test-input] 命名Input配置。

    • type = “LogstreamerInput”;配置段的类型,可以直接将此类型当作配置段的名称,就可以省略此配置。
    • log_directory = “/root/work”; 配置日志文件的目录。LogstreamerInput 会递归搜索目录及子目录下的日志文件。
    • file_match = ‘test\.log’;配置匹配日志文件的正则表达式;使用单引号来配置,若使用双引号,则为:”test\\.log”。
    • splitter = “log-test-splitter”;指定日志分隔器名称。
  • [log-test-splitter] 命名分隔器。

    • type = “RegexSplitter”;指定分隔器的类型为正则表达式分隔器:RegexSplitter。
    • delimiter = ‘\s+’;正则表达式分隔字符。
    • delimiter_eol = false;是否识别正则表达式 捕获组。
  • [log-test-encoder] 命名输出序列化工具。

    • append_newlines = true;配置是否输出自动增加新行。
    • type = “PayloadEncoder”;序列化插件类型。
    • prefix_ts = false;是否增加前缀时间戳。
  • [log-test-output] 命名输出插件。

    • type = “LogOutput”;输出插件类型。
    • message_matcher = “TRUE”;配置 输出插件对 heka 消息进行匹配的规则;TRUE为全部匹配。
    • encoder = “log-test-encoder”;指定输出的序列化工具。

例子中的 LogstreamerInput 会记录日志读取的游标,当使用 Ctrl-C 停止 hekad 后,再重新启动 hekad,将不会读取之前已经读取过的数据;默认情况下,Heka 会将此记录在目录 /var/cache/hekad/logstreamer/LogstreamerInput 下;如果删除了此文件,重新启动后,将会从头读取文件内容。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广