0

我试图创建一个瓦片地图Kibana。我的conf文件logstash正常工作,并生成Kibana需要绘制瓦片地图的所有内容。这是我的conf logstash:情节瓦片地图与ELK栈

input { 
    file { 
      path => "/home/ec2-user/part.csv" 
      start_position => "beginning" 
      sincedb_path => "/dev/null" 
    } 
} 

filter { 

    csv { 
      separator => "," 
      columns => ["kilo_bytes_total","ip","session_number","request_number_total","duration_minutes_total","referer_list","filter_match_count_avg","request_number_avg","duration_minutes_avg","kilo_bytes_avg","segment_duration_avg","req_by_minute_avg","segment_mix_rank_avg","offset_avg_avg","offset_std_avg","extrem_interval_count_avg","pf0_avg","pf1_avg","pf2_avg","pf3_avg","pf4_avg","code_0_avg","code_1_avg","code_2_avg","code_3_avg","code_4_avg","code_5_avg","volume_classification_filter_avg","code_classification_filter_avg","profiles_classification_filter_avg","strange_classification_filter_avg"] 

    } 



    geoip { 

     source => "ip" 
     database => "/home/ec2-user/logstash-5.2.0/GeoLite2-City.mmdb" 
     target => "geoip" 
     add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ] 
     add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ] 
     add_tag => "geoip" 

    } 


    mutate { 

    convert => [ "[geoip][coordinates]", "float"] 

    } 

} 




output { 

    elasticsearch { 

    index => "geotrafficip" 
    } 
} 

这是产生什么:

enter image description here

它看起来很酷。力图打造我的瓦片地图,我有这样的消息:

enter image description here

怎么办? 看来,我必须添加一些地方使用dinamyc模板的可能性。我应该创建一个模板并将其添加到我的文件conf logstash? 有人可以给我一些反馈吗?谢谢 !

回答

1

如果你在为你的指数Kibana设置看,你需要至少一个字段的类型geo_point展现出来,以便能够在地图上得到任何东西。

如果您还没有geo_point字段,则需要在为geoip.coordinates字段设置适当的映射后重新为您的数据建立索引。例如:https://stackoverflow.com/a/42004303/2785358

如果您使用的是相对较新版本的Elasticsearch(2.3或更高版本),那么对数据进行重新索引相对比较容易。您需要使用正确的映射创建新索引,使用重新索引API将数据复制到新索引,删除原始索引,然后重新索引回原始名称。

0

您正在使用geoip过滤错误,并试图经度和纬度转换为浮动。摆脱您的mutate过滤器并将geoip过滤器更改为此。

geoip { 
    source => "ip" 
    fields => ["latitude","longitude"] 
    add_tag => "geoip" 
} 

这将创建适当的字段。和所需的GeoJSON对象。