首页 > 其他分享 >基于 Elasticsearch + kibana 实现 IP 地址分布地图可视化

基于 Elasticsearch + kibana 实现 IP 地址分布地图可视化

时间:2023-03-29 14:10:41浏览次数:44  
标签:rw IP kibana 地址 Elasticsearch geoip GeoLite2 root logstash

地址库

在ELK中,我们可以使用地址库,来对IP进行分析,对日志进行分析,在ELKstack中只有Logstash可以做到,但是出图,是Kibana来出的,所以我们首先需要下载地址库数据文件,然后对Logstash进行配置,使用geoip模块对日志访问IP进行分析后,再以中国地图或者是世界地图的形式,展现在Kibana中。

1.下载地址库



Logstash2版本下载地址:http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

logstash5版本下载地址:http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz


#进入Logstash目录
[root@elkstack03 ~]# cd /etc/logstash/
#下载地址库
[root@elkstack03 logstash]# wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
#解压地址库文件
[root@elkstack03 logstash]# tar xf GeoLite2-City.tar.gz
#查看地址库文件
[root@elkstack03 logstash]# ll
总用量 28784
drwxrwxr-x 2 root root     4096 4月  11 11:36 conf.d
drwxr-xr-x 2 2000 2000     4096 4月   8 20:07 GeoLite2-City_20190409
-rw-r--r-- 1 root root 29444833 4月   9 15:32 GeoLite2-City_20190409.tar.gz
-rw-rw-r-- 1 root root     1738 3月  23 2017 jvm.options
-rw-rw-r-- 1 root root     1334 3月  23 2017 log4j2.properties
-rw-rw-r-- 1 root root     4484 3月   5 17:35 logstash.yml
-rw-rw-r-- 1 root root     1659 3月  23 2017 startup.options

2.配置Logstash使用地址库

#进入Logstash配置文件目录
[root@elkstack03 logstash]# cd /etc/logstash/conf.d/
#编辑Logstash配置文件
[root@elkstack03 conf.d]# vim redis_es_ip.conf

input {
  redis {
    host => "10.0.0.54"
    port => "6379"
    db => "3"
    key => "all"
    data_type => "list"
    password => "zls"
 }
}

filter {
        json {
            source => "message"
            remove_field => ["message"]
        }
        geoip {
                source => "clientip"
                target => "geoip"
                database => "/etc/logstash/GeoLite2-City_20190409/GeoLite2-City.mmdb"
                add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
                add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}"  ]
        }
    mutate {
      convert => [ "[geoip][coordinates]", "float"]
        }
}

output {
    elasticsearch {
      hosts => ["10.0.0.51:9200"]
      index => "logstash-%{type}-%{+YYYY.MM.dd}"
    }
}


######注意:output 必须是logstash-开头的索引 才可以画图####
#####index => "logstash-%{type}-%{+YYYY.MM.dd}"#####

重启Logstash,登录Kibana刷新即可






标签:rw,IP,kibana,地址,Elasticsearch,geoip,GeoLite2,root,logstash
From: https://blog.51cto.com/u_64214/6156867

相关文章

  • echarts中的tooltip属性
     echarts鼠标放上去显示提示框属性详解tooltip tooltip={//提示悬浮框框组件trigger:'item',......
  • blender建模渲染Tips
    blender渲染灯光的三种方式1,常规灯光:shift+A选择灯光。2,世界环境光:右侧地球图标调整。3,物体自发光:把渲染物体变成一个发光体来进行调节灯光。渲染视窗的调节ctrl+......
  • 雅达利给iPad游戏配备的街机操纵杆
    很多用户都想着用他们的iPad玩游戏,雅达利认为他们可以做一个iPad的附件来帮用户实现。我想该公司努力的成果是让游戏尽可能地怀旧,比如你可以在上面玩2600游戏如《导弹部队》......
  • Labview Ethernetip TCP网口通讯欧姆龙PLC OmronNX1P2NJ501NJ301PLC标签通讯
    LabviewEthernetipTCP网口通讯欧姆龙PLCOmronNX1P2NJ501NJ301PLC标签通讯CIP通讯比Fins通讯更完美。1.自定义变量读写2.支持Bool单点或数组读写3支持数字格式单个......
  • 中国电信IPTV 中兴ZXV10 B860A AV1.1,TTL安装应用的方法教程
    电信IPTV中兴ZXV10B860的盒子该机配置为:Cortex-A9,四核2.0GHz处理器,Mali-450MP6,8核GPU,1GBRAM+4GBROM,4K超高清。由于地域广阔,版本也很多,所以可能不能保证完全能为你所用......
  • 使用flask中flask_script时,报错:ModuleNotFoundError: No module named 'flask._compat
    方法1:降级版本pipinstall"Flask==1.1.4"pipinstall"werkzeug==1.0.1"方法2:不降级版本:可以尝试修改一下flask_script/__init__.py中from._compatimporttext_type......
  • JavaScript Promises, async/await
    JavaScriptPromises,async/await这篇博客不是讲如何使用Promise,是一个学习总结。是我自己对Promise的理解。newPromise()的时候,传一个executor给Promise.......
  • 关于网络中的私有IP地址
    IP地址按用途分为私有地址和公有地址两种所谓私有地址就是在A、B、C三类IP地址中保留下来为企业内部网络分配地址时所使用的IP地址私有地址主要用于在局域网中进行分配,在......
  • javascript中出现undefined的四种情况
    javascript中出现undefined的四种情况https://www.jianshu.com/p/b0700cce78c8一,函数没有返回值,或者返回值为空,出现undefined例:1)functionshow(){//没有返回值}vara=sh......
  • P1005 [NOIP2007 提高组] 矩阵取数游戏
    思维题:显然每个行可以互相独立来处理。贪心和暴力显然都不容易处理这题,所以我们只能考虑dp。每次只能取最左边和最右边的数,这显然很符合区间dp的特点。所以我们令dp[i]......