ELK 之 logstash 利用 IP 获取地理位置

ELK 之 logstash 利用 IP 获取地理位置 geoip

      • 摘要
      • 解决方案
      • 解析结果

摘要

在平常使用时,利用logstash获取日志信息,有时需要将日志中的IP地址转换成坐标或是实际的位置,这里提供一种可行的解决方案。(笔者实际生产环境中使用这种方案,仅供参考)

解决方案

将原始IP,利用Maxmind GeoLite2 databases数据库转换成geoip。可以参考官方文档

这里利用两种过滤器,首先利用dissect解析日志,其次利用geoip将IP转换成坐标地址。

input {
   
    file {
   
        path => "/home/server/logs/web_log.log*" #要监听的日志文件路径 
        type => web_log #TODO 日志类型
        exclude => "*.gz"       #不想监听的文件规则,基于glob匹配语法
        start_position => "end"   #第一次丛头开始读取文件 beginning or end
        stat_interval => "3"    #定时检查文件是否更新,默认1s
    }
}

filter {
   
    dissect {
   
      mapping => {
   
        message => "%{username}###%{url}###%{method}###%{start_time}###%{ip}"
      }
    }
   geoip {
   
     source => "ip"
     target =

你可能感兴趣的:(文档翻译,elasticsearch)