ELK详解(二十四)——geoip画访问地域热图

今天继续给大家介绍Linux运维相关知识,本文主要内容是Logstash配置geoip,使用Kibana画访问热点地图。

一、Logstash安装geoip插件

kibana支持绘制热点地图,所谓热点地图,即根据访问日志的客户端IP地址信息,在一张地图上画出访问客户端的来源,并根据不同的来源密度给予不同的颜色。这样,就可以直观的体现我们服务的客户端地域来源。
要实现这个功能,我们就必须能够根据IP地址来得到该IP地址的地理位置。geoip就是这样一个信息库,我们可以借助geoip来实现热点地图的绘制。
首先,我们来安装一下我们的geoip插件。首先,下载geoip的插件安装包,然后解压。进入解药后的目录后,将mmdb文件放到/etc/elasticsearch/目录下。然后,我们查看logstash的可用插件,执行命令:

logstash-plugin list --verbose

执行结果如下所示:
在这里插入图片描述
然后,我们安装相关插件,执行命令:

logstash-plugin install logstash-filter-geoip
logstash-plugin install logstash-filter-mutate
logstash-plugin install logstash-filter-useragent

执行结果如下所示:
在这里插入图片描述

二、Logstash配置

在Logstash的插件安装完成后,接下来,我们来配置Logstash的配置文件,其内容如下所示:

input{
        file{
                path=>"/var/log/nginx/access.log"
                type=>"geoip"
                codec=>json
        }
}
filter{
        geoip{
                source=>"clientip"
                database=>"/etc/logstash/GeoLite2-City.mmdb"
                fields=>["country_name","region_name","city_name","location"]
        }
}
output{
        elasticsearch{
                hosts=>["192.168.136.101:9200"]
                index=>"logstash-geoip-%{+YYYY.MM.dd}"
        }
}

在上述配置中,input和output相关内容我们在前面的文章中已经详细讲解过,在这里就不过多赘述了。在filter中,我们使用了geoip的过滤插件,并只保留了国家、城市、省份、坐标这四个信息,source参数我们使用的是指定查询日志中的客户端IP地址字段的名称。
完成配置后,我们执行命令:

logstash -f /etc/elasticsearch/conf.d/geoip.conf

执行命令结果如下:
在这里插入图片描述
Kibana上得到的索引内容如下:
在这里插入图片描述

三、Kibana绘图展示

最后,我们使用Kibana来绘图展示一下效果。
首先,我们创建一个坐标地图的可视化,如下所示:
在这里插入图片描述
接下来,我们选择默认的数据选项,就可以得到一张地域热图了,结果如下所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值