您在使用Logtail采集日志时,可以使用processor_geoip插件将日志中的IP地址转换为地理位置(国家、省份、城市、经纬度)。本文介绍processor_geoip插件的参数说明和配置示例。
重要 目前,仅选择数据源为Kubernetes-标准输出时,您可以通过表单配置方式添加插件配置。
功能入口
当您需要使用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_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.********"
- 原始日志
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": "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.********"
- 原始日志