您在使用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插件处理配置   
- 处理结果 - "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配置方式
- 参数说明 - 配置type为processor_geoip,detail说明如下表所示。 - 参数 - 类型 - 是否必选 - 说明 - 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.********"
 
相关文档
- 通过API接口配置Logtail流水线: 
- 通过控制台配置处理插件: