Prepare:

  1. 安装geoip-api-c,确保/usr/include/GeoIP.h存在;
  2. 源码编译安装Heka (容易出现问题);
  3. 下载GeoLiteCity.dat数据库。

配置文件举例:

1 [accesslogs]
2 type = "LogstreamerInput"
3 log_directory = "/home/dill/workspace/test/log/"
4 file_match = 'json\.log'
5 decoder = "MultiDecoder"
6

7 [MultiDecoder]  
8 subs = ['JsonDecoder','GeoIpDecoder']  
9 cascade_strategy = "all"
10 log_sub_errors = true
11
12 [JsonDecoder]
13 type = "SandboxDecoder"
14 filename = "lua_decoders/json.lua"
15
16 [JsonDecoder.config]
17 type = "testGeoIP"
18 map_fields = true
19 payload_keep = false
20
21 [GeoIpDecoder]
22 db_file = "/usr/local/share/GeoIP/GeoLiteCity.dat"  #数据库文件地址,只能读取GeoLiteCity.dat数据库
23 source_ip_field = "clientIP"   #源数据中含有IP的字段
24 target_field = "geoip"  #用于存放解析结果的字段

28 [ElasticSearchOutput]
29 server = "http://localhost:9200"
30 message_matcher = "Type == 'testGeoIP'"
31 encoder = "ESJsonEncoder"
32 flush_interval = 500
33 flush_count = 1
34
35 [ESJsonEncoder]
36 index = "testGeoIP"
37 type_name = "ipParse"
38 #raw_bytes_fields = ["geoip"]  #如果设定,解析geoip字段里面的json
39 fields = ["Uuid", "Timestamp", "Type", "Hostname", "Fields"]  #如果没有“Filelds”,json里面的内容不能映射到ES

Heka GeoIpDecoder 配置的更多相关文章

  1. Heka 的 CMake 编译配置分析

    CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件.   CMakeLists.txt 的语法比较简单,由命令.注释和 ...

  2. Heka配置讲解

    基于Heka,ElasticSearch和Kibana的分布式后端日志架构 目前主流的后端日志都采用的标准的elk模式(Elasticsearch,Logstash,Kinaba),分别负责日志存储, ...

  3. Heka–>Elasticsearch 索引数据过程的优化

    Heka 的参数配置跟Elasticsearch的参数没有关系,Heka只负责按照配置发送数据,所以索引的优化主要在 Elaticsearch端来完成. 下面是Elasticsearch的一些相关概念 ...

  4. 使用 Heka 导入自定义的nginx日志到Elasticsearch

    重置Heka执行进度 heka的进度配置文件存在配置项 base_dir 设置的目录,只需要删除这个文件夹下面的内容,就可以完全重置heka的进度. base_dir 配置项默认是在下面目录: '/v ...

  5. Heka 的配置文件加载逻辑

    Heka 使用的是 TOML 格式的配置文件, 有关 golang 加载 TOML 配置文件的技术请参看:  http://www.cnblogs.com/ghj1976/p/4082323.html ...

  6. Heka 最简单例子

    技术人员学习都是从简单例子开始的, Heka的应用也是从简单开始的.   需求: 监控一个日志文件的内容, 在标准输出显示出来.   操作步骤: 使用下载好或者编译好的 heka 已经编译好的 rel ...

  7. Heka 的编译

    Heka是Mozilla开源的,基于Go语言实现的,插件式log收集和分析系统. 已经编译好的 release 版本可以在下面地址下载: https://github.com/mozilla-serv ...

  8. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  9. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

随机推荐

  1. Cocos2d 使用控制台打印的方法

    1.打开当前项目的win32解决方案. 2.在解决方案管理器的win32文件夹下打开main.cpp 3.增加以下代码: #define USE_WIN32_CONSOLE //以下加到入口函数 #i ...

  2. Java 垃圾回收机制学习

    原文链接: http://blog.csdn.net/zsuguangh/article/details/6429592 自己学习总结: 1c++和java的内存使用的区别: 在C++中,对象所占的内 ...

  3. java 设计模式之工厂模式与反射的结合

    工厂模式: /**  * @author Rollen-Holt 设计模式之 工厂模式  */   interface fruit{     public abstract void eat(); } ...

  4. LISTVIEW嵌套GRIDVIEW的一些处理(点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置)(对这篇文章的优化处理,不每次都new onItemClickListener)

    前几天写了点击GRIDVIEW的条目,能够显示他在LISTVIEW中的位置,当时的处理是在ListView的适配器里的GetView方法里每次都new GridView的onItemClickList ...

  5. ice grid 第一篇

    关键点: (1)如果想提高并发的话,还是在一个node上对于同一个application开多个server instance. 1.名词解释 .Replica groups A replica gro ...

  6. tcp 的6个控制位

    原文:http://blog.chinaunix.net/uid-26413668-id-3376762.html TCP(Transmission Control Protocol) 传输控制协议 ...

  7. Friends and Subsequences

    Friends and Subsequences Mike and !Mike are old childhood rivals, they are opposite in everything th ...

  8. 计算n!的位数<Math>

    题意:如题目. 方法一:<TLE> * 可设想n!的结果是不大于10的M次幂的数,即n!<=10^M(10的M次方),则不小于M的最小整数就是 n!的位数,对 * 该式两边取对数,有 ...

  9. MyBatis基础用法(一)

    <select id="getErrorTimes" resultType="Integer"> SELECT ErrorTimes FROM `e ...

  10. HDU 3339 最短路+01背包

    In Action Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...