1. 1.安装GeoIP数据库
  2.  
  3. cd /usr/local/logstash/etc
  4. curl -O "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz"
  5. gunzip GeoLiteCity.dat.gz
  6. 1
  7. 2
  8. 3
  9. 2.配置logstash使用GeoIP
  10.  
  11. 只需要在原来的logstash.conf中添加filter即可
  12.  
  13. vim /usr/local/logstash/etc/logstash.conf
  14. input {
  15. file {
  16. path => "/data/nginx/logs/access_java.log"
  17. type => "nginx-access"
  18. start_position => "beginning"
  19. sincedb_path => "/usr/local/logstash/sincedb"
  20. codec => "json"
  21. }
  22. }
  23. filter {
  24. if [type] == "nginx-access" {
  25. geoip {
  26. source => "clientip"
  27. target => "geoip"
  28. database => "/usr/local/logstash/etc/GeoLiteCity.dat"
  29. add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
  30. add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
  31. }
  32. mutate {
  33. convert => [ "[geoip][coordinates]", "float"]
  34. }
  35. }
  36. }
  37. output {
  38. if [type] == "nginx-access" {
  39. elasticsearch {
  40. hosts => ["10.10.20.16:9200"]
  41. manage_template => true
  42. index => "nginx-access-%{+YYYY-MM}"
  43. }
  44. }
  45.  
  46. }
  47.  
  48. 注意如果是haproxy 作为代理,nginx需要修改为;
  49. filter {
  50. grok {
  51. match => {
  52. "message" => "%{IPORHOST:clientip} \[%{HTTPDATE:time}\] \"%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}\" \- %{NUMBER:http_status_code} %{NUMBER:bytes} \"(?<http_referer>\S+)\" \"(?<http_user_agent>(\S+\s+)*\S+)\" (%{BASE16FLOAT:request_time}) (%{IPORHOST:http_x_forwarded_for}|-)"
  53. }
  54. }
  55. geoip {
  56. source => "http_x_forwarded_for"
  57. target => "geoip"
  58. database => "/usr/local/logstash/etc/GeoLiteCity.dat"
  59. add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
  60. add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
  61. }
  62. mutate {
  63. convert => [ "[geoip][coordinates]", "float"]
  64. }
  65.  
  66. }
  67.  
  68. 3.重启logstash即可。

安装GeoIP数据库的更多相关文章

  1. 利用GeoIP数据库及API进行地理定位查询

    GeoIP数据库下载地址:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz. 首先,在Max ...

  2. 二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) [root@Mysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径 [ ...

  3. PHP如何使用GeoIP数据库

    1.首先下载GeoIP的IP库.参考<利用GeoIP数据库及API进行地理定位查询>.下载后解压,得到一个GeoIP.dat文件 2.新建一个文件geoip.inc.内容为 <?ph ...

  4. CentOS安装Oracle数据库详细介绍及常见问题汇总

    一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...

  5. Linux环境安装MySQL数据库

    1.  下载mysql安装包 下载地址1:  http://www.mysql.com/   (mysql官网) 下载地址2:  http://mirrors.sohu.com/mysql/   (其 ...

  6. CentOS下安装Mysql数据库

    其实,安装mysql数据库还是比较容易的,安装方式可以分为源码安装和二进制包安装.安装简单,只需要 yum安装几个包就可以搞定,安装后续其实还需要简单做些工作,才可以使用. 环境:CentOS 6.5 ...

  7. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

  8. 安装PostgreSQL数据库 ,Database Cluster 失败!

    在安装PG数据库的过程中,会选择安装目录以及数据存放目录和端口,并需要选择Local,如果全部使用默认,并且设置好自己的密码后开始安装,前期进展还比较顺利,到了安装Database Cluster时, ...

  9. centos中安装mysql数据库

    1.查看是否已有mysql数据库: #rpm -qa |grep mysql 命令返回空,说明没有安装成功. 2.安装mysql yum install mysql* 安装完成后,却发现只安装了JDB ...

随机推荐

  1. poj2739

                                                                                           Sum of Consec ...

  2. SCOI2014省选总结

    这一次省选,主要是抱着玩的心态去的,如同高二的那些大神高一的心态一样,只记得在省选之前我们一直在说,这一次我们的目标,就是不爆0,最后也如愿以偿的实现了. 首先,请允许我吐槽一下day1.....da ...

  3. hbase的thriftserver开启

    说明:hbase的thriftserver默认已经编译好,可以使用,不需要跟hadoopthrift一样配置. 要使用Hbase的thrift接口,必须将它的服务启动,命令行为: hbase-deam ...

  4. 打造自己个性的notepad ++

    对coder来说,notepad ++ 是一个很不错的文本编辑器.平时用来看看代码.xml文件,都比系统自带的记事本舒服得多.不过,对于像我这种每天用notepad ++写代码的人,一个原装的note ...

  5. blockUI

    组件主页 主要使用到 blockUI 组件实现 将jquery和组件的JS下载到本地 然后直接就可以实现遮罩层功能 显示遮罩层:$.blockUI(); 隐藏遮罩层:$.unblockUI(); 该网 ...

  6. 概率dp ZOJ 3640

    Help Me Escape Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit ...

  7. 为github帐号添加SSH keys

    为github帐号添加SSH keys 2012-05-26 00:05 34279人阅读 评论(6) 收藏 举报 ssh文本编辑gitvim工具up 使用git clone命令从github上同步g ...

  8. javascript正则简单入门

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. AJAX 控件集之TextBoxWatermark(水印文本框)控件

    功能:       可以让TextBox控件初始化的时候拥有水印文字.属性:    TargetControlID :要使用具有水印效果的TextBox控件ID.    WatermarkCssCla ...

  10. 使用react-native做一个简单的应用-06商品界面的实现

    商品界面实现起来很简单,其实就是一个listview的使用: 关于listview的使用,在官方文档里面已经介绍的很详细了.在这里我要提一个坑. listview在Android和iOS中的效果是不一 ...