您可以使用processor_geoip插件将日志中的IP地址转换为地理位置(国家、省份、城市、经纬度)。本文介绍processor_geoip插件的参数说明和配置示例。

参数说明

配置typeprocessor_geoipdetail说明如下表所示。
说明
  • Logtail安装包中没有GeoIP数据库,您需要手动下载GeoIP数据库到Logtail所在服务器并配置,建议下载精确到City粒度的数据库。更多信息,请参见MaxMind GeoLite2
  • 请确保数据库格式为MMDB类型。
参数 类型 是否必选 说明
SourceKey String 待进行IP地址转换的原始字段名。
DBPath String GeoIP数据库的全路径。例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb
NoKeyError Boolean 无匹配的原始字段名时是否报错。如果未添加该参数,则默认使用false,表示不报错。
NoMatchError Boolean IP地址无效或在数据库中未匹配到该IP地址时是否报错。如果未添加该参数,则默认使用false,表示不报错。
KeepSource Boolean 是否保留原始字段。如果未添加该参数,则默认使用true,表示保留。
Language String 语言属性。如果未添加该参数,则默认使用zh-CN。请确保您的GeoIP数据库中包含相应的语言。

配置示例

将日志中的IP地址转换成对应的地理位置,示例如下:
  • 原始日志
    "source_ip" : "**.**.**.**"
  • Logtail插件处理配置
    {
       "type": "processor_geoip",
        "detail": {
             "SourceKey": "ip",
             "NoKeyError": true,
             "NoMatchError": true,
             "KeepSource": true,
             "DBPath" : "/user/local/data/GeoLite2-City_20180102/GeoLite2-City.mmdb"
        }
    }
  • 处理结果
    "source_ip_city_" : "**.**.**.**"
    "source_ip_province_" : "浙江省"
    "source_ip_city_" : "杭州"
    "source_ip_province_code_" : "ZJ"
    "source_ip_country_code_" : "CN"
    "source_ip_longitude_" : "120.********"
    "source_ip_latitude_" : "30.********"