码迷,mamicode.com
首页 > 其他好文 > 详细

heka 那些坑

时间:2017-03-21 22:23:41      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:urlencode   match   数据   har   int   解决   hand   logs   sha   

heka 消息处理

1. /usr/local/share/heka/lua_modules/elasticsearch.lua

   貌似使用的是美国时区,比中国时间晚8个小时,不知道heka在哪里修改时间,直接在63行代码,添加时间对齐

   secs = secs + 8 * 60 * 60

 

2. heka的kafkainput功能存在问题,只能读取一个分区,官方应该在修改使用libkafka来读取kafka消息,临时解决方案

   [LogstreamerInput]

  log_directory = "/var/log/nginx-waf/"

  file_match = ‘(?P<Index>\d+-\d+-\d+)?-test\.log‘

  decoder = "NginxNaxsiDecoder"

  priority = ["^Index"]

 

3. process_message处理异常的情况 使用lua的异常处理

function myfunction(n)

    print(n)

--    n = n / nil

    print("yes")

end

function myerrorhandler(err)

    print("ERROR: sssa ", err)

end

status = pcall(myfunction, ‘1‘)

print(status)

 

4. heka HTTPOutput 使用

[EmailAlert]

type = "HttpOutput"

#message_matcher = "TRUE"

message_matcher = "Fields[alert] == ‘send_email‘"

address = "http://messager.com/api/sendMessager"

encoder = "email_alert_encoder"

    [EmailAlert.headers]

    authorization = ["WQUk6QyuM32ob"]

    Content-Type = ["application/x-www-form-urlencoded"]  #设置type 否则接收不到 大坑

 

5. heka 插件中,使用inject_payload 插入payload字段,但是发现这个不准确,后来改成

   msg = {Payload: nil}

  msg.Payload = "test"

  inject_message(msg)

 

6. 将heka 的输出 导入到hdfs 应该可以作为数据仓库备份

https://gowalker.org/github.com/extrame/heka-hdfs 

https://github.com/extrame/heka-hdfs

 

7. 使用heka 解析audit 服务日志的 插件

https://github.com/mozilla/audit-go

heka 那些坑

标签:urlencode   match   数据   har   int   解决   hand   logs   sha   

原文地址:http://www.cnblogs.com/iamlehaha/p/6596767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!