日志服务数据加工功能支持从OSS获取IP2Location库数据,对日志中的IP地址进行富化,补充IP地址所属的国家、省、市等信息。
前提条件
已创建只读权限的访问密钥(AccessKey),用于从OSS Bucket获取文件。具体操作,请参见创建AccessKey。授权策略详情请参见RAM Policy。
已创建只写权限的访问密钥(AccessKey),用于向OSS Bucket上传IP地址文件。
已从IP2Location官网下载IP地址文件,并上传到OSS Bucket。更多信息,请参见控制台上传文件。
背景信息
IP2Location提供全球IP地址数据库,可以帮助您精确查找、确定全球范围内IP地址的地理位置。您可以从IP2Location官网下载IP地址文件,上传至OSS,然后在日志服务对IP地址进行富化,获取国家、省、市等信息。
操作步骤
在数据加工页面:
使用res_oss_file函数从OSS Bucket获取IP2Location库数据。
使用geo_parse函数解析IP地址。
使用e_set函数将解析结果中的新字段添加到日志中,实现数据富化。
原始日志
ip: 192.0.2.1
加工规则
e_set( "geo", geo_parse( v("ip"), ip_db=res_oss_file( endpoint="http://oss-cn-hangzhou.aliyuncs.com", ak_id=res_local("AK_ID"), ak_key=res_local("AK_KEY"), bucket="test", file="your ip2location bin file", format="binary", change_detect_interval=20, ), provider="ip2location", ), ) e_json("geo")
res_oss_file函数的重要字段说明如下表所示。
字段
说明
endpoint
OSS访问域名。更多信息,请参见访问域名和数据中心。
ak_id
具备只读OSS权限的AccessKey ID。
出于安全考虑,建议配置为
res_local("AK_ID")
,表示从高级参数配置
中获取。高级参数配置
操作步骤请参见创建数据加工任务。ak_key
具备只读OSS权限的AccessKey Secret。
出于安全考虑,建议配置为res_local("AK_KEY")表示从高级参数配置中获取。
bucket
用于存储IP地址文件的OSS Bucket。
file
您已上传的IP地址文件的名称。
format
使用res_oss_file函数从OSS获取IP2Location库数据时,文件输出格式需设置为format='binary'。
加工结果
ip: 192.0.2.1 city: Dearborn province: Michigan country: United States