在此,使用一个简单的示例开始 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配置。
[log-test-splitter] 命名分隔器。
[log-test-encoder] 命名输出序列化工具。
[log-test-output] 命名输出插件。
例子中的 LogstreamerInput 会记录日志读取的游标,当使用 Ctrl-C 停止 hekad 后,再重新启动 hekad,将不会读取之前已经读取过的数据;默认情况下,Heka 会将此记录在目录 /var/cache/hekad/logstreamer/LogstreamerInput 下;如果删除了此文件,重新启动后,将会从头读取文件内容。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞1
添加新评论0 条评论