美文网首页
ELK nginx日志IP在地图上显示

ELK nginx日志IP在地图上显示

作者: 猴子精h | 来源:发表于2017-07-28 12:01 被阅读685次

使用logstash的geoip filter, 可以将访问的IP转换成经纬度, 这里需要注意的是,在地图上展示的字段类型必须是geo_point, 这样就需要将geoip filter解析的geoip.location字段类型指定成geo_point;

建立nginx日志的索引模版,将geoip.location的type指定称为geo_point

注意:当logstash将数据output到ES中会默认建立一个索引模版,可以通过curl -XGET 'http://ip:ip_port/_template查看到, 这里已经将geo.localtion字段的type指定成了geo_point, 如果你索引名使用logstash-*就不需要自己在去指定索引模版了;

curl -XPUT 'http://ip:ip_port/_template/template_ngx' -d 
'
{
    "template": "ngx*",
    "settings": {
        "index": {
            "refresh_interval": "5s",
            "number_of_shards": "3",
            "number_of_replicas": "1"
        }
    },
    "mappings": {
        "_default_": {
            "dynamic_templates": [
                {
                    "message_field": {
                        "path_match": "message",
                        "mapping": {
                            "norms": false,
                            "type": "text"
                        },
                        "match_mapping_type": "string"
                    }
                },
                {
                    "string_fields": {
                        "mapping": {
                            "norms": false,
                            "type": "text",
                            "fields": {
                                "keyword": {
                                    "type": "keyword"
                                }
                            }
                        },
                        "match_mapping_type": "string",
                        "match": "*"
                    }
                }
            ],
            "_all": {
                "norms": false,
                "enabled": true
            },
            "properties": {
                "@timestamp": {
                    "include_in_all": false,
                    "type": "date"
                },
                "geoip": {
                    "dynamic": true,
                    "properties": {
                        "ip": {
                            "type": "ip"
                        },
                        "latitude": {
                            "type": "half_float"
                        },
                        "location": {
                            "type": "geo_point"
                        },
                        "longitude": {
                            "type": "half_float"
                        }
                    }
                },
                "@version": {
                    "include_in_all": false,
                    "type": "keyword"
                }
            }
        }
    },
    "aliases": {}
}
'

使用grafana的worldmap展示的时候,需要注意的点:

  • Metrics页面Group by使用ES中点geoip.location字段
WX20170728-115757.png
  • Worldmap的Map Data Options也需要将Location Data指定为geohash
WX20170728-115824.png

参考

相关文章

  • ELK nginx日志IP在地图上显示

    使用logstash的geoip filter, 可以将访问的IP转换成经纬度, 这里需要注意的是,在地图上展示的...

  • ELK+logback+kafka+nginx 搭建分布式日志分

    ELK+logback+kafka+nginx 搭建分布式日志分析平台 ELK(Elasticsearch , L...

  • ELK收集nginx的json格式日志

    为了便于利用 ELK日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式 1.修...

  • ELK

    一.ELK简介 二.ELK安装部署 收集nginx日志ESfilebeatkibanaes-head 0.更新系统...

  • Logstash 、 Web日志实时分析

    ELK日志分析平台 ELK架构图例 logstash安装 购买云主机 主机IP地址配置logstash192.16...

  • nginx

    参考: nginx和apache日志记录用户真实ip:X-Real-IP nginx location 匹配规则 ...

  • ELK stack安装

    ELK stack安装 logstash 收集日志 elasticsearch 存储+搜索 kibana 显示 前...

  • mac下nginx的client_body_temp目录权限不够

    查看nginx错误日志,日志显示报错日志所在位置:/usr/local/Cellar/nginx/1.17.3_1...

  • ELK 6.6

    1.部署ELK 2.kibana导入elasticsearch数据 3. 收集 nginx json格式日志 4....

  • 日志收集ELK 实践

    ELK 是什么毋庸多说,下面是用filebeat 收集nginx的访问日志和错误日志的实践。 安装 前提条件 准备...

网友评论

      本文标题:ELK nginx日志IP在地图上显示

      本文链接:https://www.haomeiwen.com/subject/plbxlxtx.html