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. UVA 11853 Paintball ——(dfs+圆交判定)

    题意:给出一个1000*1000大小的矩阵,里面有若干圆,表示障碍物,现在要找出从左边到右边的一条通路,输出入口和出口的坐标,如果有多答案,输出y值最大的答案. 分析:从与上面相连的圆开始dfs,每次 ...

  2. Git 使用初体验

    http://my.oschina.net/moooofly/blog/228608 很久之前在 http://git.oschina.net/ 上创建了一个私有项目 modb ,目的主要是用来学习如 ...

  3. Oracle sql语句创建表空间、数据库、用户及授权

    --创建表空间和数据库文件及默认表空间大小 create tablespace TableSpace_Test datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\O ...

  4. hadoop伪分布式安装

    hadoop的伪分布安装:一台实体机或虚拟机的安装. 环境:Windows7.VMWare.CentOS 1.1 设置ip地址 说明:在CentOS中的网络的类型: 仅主机模式:虚拟机在Windows ...

  5. 卸载get-apt安装的软件

    我们都知道安装软件最简单的方法是apt-get install,但是卸载就不常用了,如何卸载呢? sudo apt-get remove android-tools-adb

  6. Ubuntu vim显示行号语法高亮自动缩进

    配置文件名为Ubuntu vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为Ubuntu vimrc在终端 输入以下命令来编辑Ubuntu vimrc配置文件:sudo vi ...

  7. 用JavaScript 来将数字转换成字符。

    背景: 一切嵌入式设备上面的信息,比如设备名称,设备时区是可以写入到设备上面的寄存器中的(一个寄存器两个字节,2*8 bit),比如 -1 ,写入到寄存器中为 2d31,然后可以通过一些进程将寄存器中 ...

  8. FusionCharts生成Flash图表常见问题FAQ

    本文主要汇总了FusionCharts生成Flash图表时的一些常见问题(FAQ)以及解决方法/调试方法,欢迎交流! 问题描述:利用FusionCharts创建Flash图表时,能否直接从数组或rec ...

  9. gridview中button事件处理

    http://msdn.microsoft.com/zh-cn/library/bb907626.aspx 再结合如下: protected void GridView1_RowCommand(obj ...

  10. 安装tomcat过程中出现问题小结

    报错信息如下:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these ...