elasticsearch - 如何使用 GeoIP 映射创建地图图表?
问题描述
我对 ELK (7.10) 很陌生,我想知道如何使用 GeoIP 映射创建地图。
我已经解析了日志,并且一个字段是“remote_ip”,我想在地图上查看它。
我已经看到很多关于如何执行此操作的说明,但大多数都已过时,不适用于我的 7.10 版本。我正在使用 filebeats/logstash/kibana/elasticsearch。
有人可以告诉我执行此操作所需的高级步骤吗?或者指出适合我的版本的详细指南?我不知道如何开始。
解决方案
我假设这些 IP 地址是公开的,因此您可以对其进行地理编码。由于您的日志已经编入索引,您现在需要对它们进行地理编码。这是如何做到的。
首先,您需要修改映射以添加geo_point
字段,如下所示:
PUT your-index/_mapping
{
"properties": {
"remote_location": {
"type": "geo_point"
}
}
}
将该新字段添加到映射后,您可以更新索引以对 IP 地址进行地理编码。为此,您首先需要使用处理器创建一个摄取管道:geoip
PUT _ingest/pipeline/geoip
{
"description" : "Geocode IP address",
"processors" : [
{
"geoip" : {
"field" : "remote_ip",
"target_field": "remote_location"
}
}
]
}
创建此摄取管道后,您可以使用它来使用_update_by_query
端点更新索引,如下所示:
POST your-index/_update_by_query?pipeline=geoip
更新结束后,您可以进入 Kibana,创建索引模式,然后转到 Analytics > Maps 并创建您的地图。
推荐阅读
- javascript - 在不改变状态、道具或父级的情况下反应子级渲染
- javascript - 如何通过一台 Express 服务器部署不同的 React Web 应用程序?
- python - Docker 没有保存 Scrapy 蜘蛛的输出文件
- python - 有人可以帮我理解下面的代码吗
- python - 给它空str不会退出无限期while循环
- c - 为什么在没有显式修改的情况下修改内存
- python - 如何将csv文件转换为数据集?
- xamarin.android - DeleteDatabase 函数不会删除 SQLite 中的数据库
- android - 颤振:地理定位器不起作用,请确保清单中至少定义了 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION
- c# - 在c#json中读取子数据