今天继续给大家介绍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
1万+

被折叠的 条评论
为什么被折叠?



