您在使用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.********"