日志服务 IP 解析函数

geo_parse(字段值, keep=(“country”,”province”,”city”), ip_sep=”,”)。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

二、函数定义

解析出 IP 的地理位置。

四、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
data IP 值,支持多个 IP 通过分隔符分隔 String 是 – –
keep 要留存的字段 String 否 ("country","province","city","provider","geo")。geo 仅支持返回中国大陆城市的经纬度。 –
ip_sep 匹配结果中的第几个表达式 String 否 – –

五、示例

·示例1

原始日志:

{ "ip": "120.235.55.160"}

加工规则:

fields_set("result", geo_parse(v("ip")))

加工结果:

{"ip":"120.235.55.160""result":"{"country":"中国","province":"广东省","city":"东莞市","provider":"中国移动","latitude":"23.027","longitude":"113.758"}"}

·示例2

原始日志:

{"ip":"101.132.57.150,101.14.57.157"}

加工规则:

fields_set("result", geo_parse(v("ip"),keep="province,city",ip_sep=","))

加工结果:

{"ip":"101.132.57.150,101.14.57.157", "result":"{\\"101.14.57.157\\":{\\"province\\":\\"台湾省\\",\\"city\\":\\"台北市\\"},\\"101.132.57.150\\":{\\"province\\":\\"上海市\\",\\"city\\":\\"上海市\\"}}"}

七、函数定义

判断 IP 是否在该网段内,支持多个网段。

八、语法描述

is_subnet_of(网段列表, ip)

九、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
网段列表 网段,支持多个网段,通过','分隔 String 是 – –
IP 待判断的 IP String 是 – –

十、示例

·示例1

原始日志:

{"ip": "192.168.1.127"}

加工规则:

log_keep(is_subnet_of("192.168.1.64/26",v("ip")))

加工结果:

{"ip": "192.168.1.127"}

·示例2

原始日志:

{"ip": "192.168.1.127"}

加工规则:

fields_set("is_subnet",is_subnet_of("192.168.1.64/26",v("ip")))

加工结果:

{"ip": "192.168.1.127", "is_subnet":"true"}

·示例3

原始日志:

{"ip": "192.168.1.127"}

加工规则:

fields_set("is_subnet",is_subnet_of("172.16.0.0/16",v("ip")))

加工结果:

{"ip": "192.168.1.127", "is_subnet":"false"}

·示例4

原始日志:

{"ip": "192.168.1.127"}

加工规则:

fields_set("is_subnet",is_subnet_of("172.16.0.0/16,192.168.1.64/26",v("ip")))

加工结果:

{"ip": "192.168.1.127", "is_subnet":"true"}

十二、函数定义

将 IPv4地址从字符串格式转换为无符号整数格式。

十三、语法描述

inet_aton(IP)

十四、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
IP 待转换的 IP String 是 – –

十五、示例

原始日志:

{"ip": "192.168.0.1"}

加工规则:

fields_set("ip_int", inet_aton(v("ip")))

加工结果:

{"ip_int":"3232235521","ip":"192.168.0.1"}

十七、函数定义

将无符号整数格式的 IPv4地址转换回字符串格式。

十八、语法描述

inet_ntoa(number)

十九、参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
number 待转 IP 的整型数字 int 是 – –

20、示例

原始日志:

{"ip_int":"3232235521"}

加工规则:

fields_set("ip", inet_ntoa(v("ip_int")))

加工结果:

{"ip_int":"3232235521","ip":"192.168.0.1"}

赞 (0)
上一篇 4天前
下一篇 4天前