转换IP地址

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

重要
  • 表单配置方式:采集文本日志和容器标准输出时可用。

  • JSON配置方式:采集文本日志时不可用。

功能入口

当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail采集配置时,添加插件配置。具体操作,请参见处理插件概述

配置说明

说明
  • Logtail安装包中没有GeoIP数据库,您需要手动下载GeoIP数据库到Logtail所在服务器并配置,建议下载精确到City粒度的数据库。更多信息,请参见MaxMind GeoLite2

  • 请确保数据库格式为MMDB类型。

表单配置方式

  • 参数说明

    配置处理器类型转换IP地址,相关参数说明如下表所示。

    参数

    说明

    原始字段

    待进行IP地址转换的原始字段名。

    GeoIP数据库路径

    GeoIP数据库的全路径。例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb

    保留原始字段

    选中该选项后,解析后的日志中将保留原始字段。

    原始字段缺失报错

    选中该选项后,如果原始日志中无您所指定的原始字段,系统将报错。

    解析失败报错

    选中该选项后,如果IP地址无效或在数据库中未匹配到该IP地址,系统将报错。

    语言

    语言属性。默认值为zh-CN

    重要

    请确保您的GeoIP数据库中包含对应的语言。

  • 配置示例

    将日志中的IP地址转换成对应的地理位置,示例如下:

    • 原始日志

      "source_ip" : "**.**.**.**"
    • Logtail插件处理配置转换IP地址

    • 处理结果

      "source_ip" : "**.**.**.**"
      "source_ip_province_" : "浙江省"
      "source_ip_city_" : "杭州"
      "source_ip_province_code_" : "ZJ"
      "source_ip_country_code_" : "CN"
      "source_ip_longitude_" : "120.********"
      "source_ip_latitude_" : "30.********"

JSON配置方式

  • 参数说明

    配置typeprocessor_geoipdetail说明如下表所示。

    参数

    类型

    是否必选

    说明

    SourceKey

    String

    待进行IP地址转换的原始字段名。

    DBPath

    String

    GeoIP数据库的全路径。例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb

    NoKeyError

    Boolean

    原始日志中无您所指定的原始字段名时,系统是否报错。

    • true:报错。

    • false(默认值):不报错。

    NoMatchError

    Boolean

    IP地址无效或在数据库中未匹配到该IP地址时,系统是否报错。

    • true(默认值):报错。

    • false:不报错。

    KeepSource

    Boolean

    解析后的日志中,是否保留原始字段。

    • true(默认值):保留。

    • false:不保留。

    Language

    String

    语言属性。默认值为zh-CN

    重要

    请确保您的GeoIP数据库中包含对应的语言。

  • 配置示例

    将日志中的IP地址转换成对应的地理位置,示例如下:

    • 原始日志

      "source_ip" : "**.**.**.**"
    • Logtail插件处理配置

      {
         "type": "processor_geoip",
          "detail": {
               "SourceKey": "source_ip",
               "NoKeyError": true,
               "NoMatchError": true,
               "KeepSource": true,
               "DBPath" : "/user/local/data/GeoLite2-City_20180102/GeoLite2-City.mmdb"
          }
      }
    • 处理结果

      "source_ip" : "**.**.**.**"
      "source_ip_city_" : "杭州"
      "source_ip_province_code_" : "ZJ"
      "source_ip_country_code_" : "CN"
      "source_ip_longitude_" : "120.********"
      "source_ip_latitude_" : "30.********"