使用匿名写入采集日志
如果您需要收集和分析用户在浏览器、小程序上的信息,例如用户的浏览器、浏览行为记录、购买行为记录、停留时间,可以使用匿名写入功能。只需在日志流页面开启匿名写入开关,就可以将用户行为信息上传到云日志服务的日志流中。
背景信息
- 用户使用的浏览器、操作系统、分辨率等信息。
- 用户浏览行为记录(例如:用户在网站上的单击行为、购买行为等信息)。
- 用户在小程序中的停留时间、是否活跃等信息。
开启匿名写入
- 登录云日志服务控制台。
- 单击日志组名称对应的
按钮。
- 单击“创建日志流”,在创建日志流页面,参考表1填写日志流相关信息,需要开启“匿名写入”,适用于端侧SDK上报日志,打开匿名写入则表示该日志流打开匿名写入权限,不会经过有效鉴权,可能产生脏数据。
图1 创建日志流
表1 日志流参数说明 参数
说明
日志组名称
默认显示所属日志组名称,不支持修改。
日志流类型
说明:白名单功能,如果需要使用,请提交工单申请开通。
根据业务需要选择日志流类型。
- 标准型包含LTS完整功能,适用于构建完整可观测性系统。
- 搜索型仅支持关键词搜索。不支持快速分析/统计图表/日志分析/SQL告警,适用于日志搜索场景,其优点是索引流量费用是标准型的31%。更多信息请参考计费项。
日志流名称
LTS会自动生成一个默认的日志流名称,建议您根据业务自定义日志流的名称,创建成功后支持修改日志流名称。命名规范如下:
- 只支持输入英文、数字、中文、中划线、下划线及小数点,且不能以小数点、下划线开头或以小数点结尾。
- 长度为1-64个字符。
- 日志流名称不能重复。
企业项目
选择业务需要的企业项目,默认为default。也可单击“查看企业项目”,在企业项目管理页面查看全部企业项目。
日志存储
若关闭日志存储,则无法开启日志存储时间。
- 开启“日志存储”:日志将会被存入搜索引擎,能使用日志全量功能。
- 关闭“日志存储”:日志不会存储到LTS,可节约索引流量和存储费用,只能使用日志生成指标、转储功能,不能使用日志搜索分析、告警、消费加工等其他功能。
日志存储时间(天)
日志流的存储时间,即日志上报到LTS后日志存储的时间。
日志数据默认存储30天,可以在1~365天之间设置。
- 打开日志流的“日志存储时间”:日志的存储时间使用日志流设置的日志存储时间。
- 关闭日志流的“日志存储时间”:日志的存储时间使用日志组设置的日志存储时间。
- 超出存储时间的日志将会被自动删除,您可以按需将日志数据转储至OBS桶中进行长期存储。
说明:目前仅支持白名单用户提交工单申请开通日志存储时间为1095天,但是存量Region需要根据底层资源评估是否支持1095天。
智能冷存储
白名单功能,开启日志存储时间后,根据业务需要设置智能冷存储功能。详细请参考智能冷存储。
开启智能冷存储需要日志存储时间大于7天。
标准存储层数据保存时间
开启智能冷存储后,需要设置标准存储层数据的保存时间。
标准存储数据至少需保存7天才能转换为智能冷存储层数据。当日志保存时间大于标准存储层数据保存时间,且小于日志存储时间时,日志数据将自动转换为智能冷存储层数据存储。
匿名写入
匿名写入默认关闭,适用于安卓/IOS/小程序/浏览器端上报日志才能使用匿名写入。
需要提交工单开通白名单。
打开匿名写入则表示该日志流打开匿名写入权限,不会经过有效鉴权,可能产生脏数据。关于SDK使用请参考使用SDK接入LTS。
说明:使用匿名写入采集日志功能仅支持华北-北京四、华东-上海一、华南-广州区域的白名单用户使用,如有需要,请提交工单,其他区域暂不支持申请开通。
分区数量
分区数量仅对消费日志有效。每个分区支持5MB/S写流量,10MB/S读流量;当读写流量超过分区的读写能力时,LTS会自动扩容读写分区数量,您也可以手动扩容读写分区数量,来提供更高的读写能力。输入值范围1-64。
单击“查看当前分区详情”进入分区详情页面,查看分区、状态、创建时间。
说明:白名单功能,如果需要使用,请提交工单申请开通。
标签
按照业务需求对不同的日志流添加对应的标签,单击“添加”,分别填写标签键key和标签值value。如需添加多个标签可重复该步骤,最多支持添加20个标签。
标签键key限制条件:
- 标签键可以包含任意语种的字母、数字和空格,以及_.:=+-@字符,但首尾不能包含空格,且不能以_sys_开头。
- 标签键长度不能超过128个字符。
- 标签键名称不可重复。
标签值value限制条件:
- 标签值可以包含任意语种的字母、数字和空格,以及_.:=+-@字符。
- 标签值长度不能超过255个字符。
标签策略:
若您的组织已经设定云日志服务的相关标签策略,则需按照标签策略规则为日志组、日志流、日志接入、主机组添加标签。标签如果不符合标签策略的规则,则可能会导致日志组、日志流、日志接入、主机组创建失败,请联系组织管理员了解标签策略详情。标签策略详细介绍请参考标签策略概述,标签管理详细介绍请参考标签管理。
删除标签:
如需删除标签,请单击标签操作列的“删除”。
警告:删除标签无法恢复,请谨慎操作。
如果配置转储时使用了该标签,删除标签后,请同步修改转储配置信息。关于转储信息请参考日志转储至OBS。
备注
自定义填写备注信息,字符长度0-1024个字符。
- 单击“确定”。
使用匿名写入上报日志
LTS支持通过客户端SDK和HTTP GET请求的方式使用匿名写入上报日志。
- 客户端SDK:通过Web SDK/小程序SDK/快应用SDK,将自定义类型的日志上传到云日志服务LTS,例如表单提交、页面提交、异常报告等。关于SDK上报日志的方法请参考使用SDK接入LTS。
图2 客户端SDK
- HTTP GET请求:通过在网站的前端代码中发送GET请求,将日志上传到云日志服务LTS,适合简单日志的收集。详细操作请参考通过HTTP GET请求上传日志。
图3 HTTP GET请求
通过HTTP GET请求上传日志
开通匿名写入后,您可以通过HTTP GET请求方法上传日志到日志流中。
HTTP GET请求,开通GET请求的白名单后,请提交工单联系技术支持工程师提供{endpoint}地址才能使用此功能。
/v3/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/struct/logs?key1=val1&key2=val2
GET接口总数据量不能超过16KB,超过可能会上报失败。不支持压缩。
- 配置参数说明
表2 配置参数 参数
是否必选
参数类型
描述
project_id
是
String
项目ID,获取方式请参见:获取账号ID、项目ID、日志组ID、日志流ID。
log_group_id
是
String
日志组ID,获取方式请参见:获取账号ID、项目ID、日志组ID、日志流ID。
log_stream_id
是
String
日志流ID,获取方式请参见:获取账号ID、项目ID、日志组ID、日志流ID。
key1=val1&key2=val2
是
String
您要上传到日志服务的键值对(Key-Value),支持设置多个键值对,由&隔开。请确保长度小于16KB。
- 对于上报日志中的特殊字符,请您使用url编码,否则可能出现日志上报乱码、失败。
- 日志长度小于16KB,指的是url编码后的长度。假如您的日志大小只有13KB,但是经过编码后的大小为17KB,也是超过长度限制。
- 响应参数
表3 响应Body参数 参数
参数类型
描述
errorCode
String
错误码。
errorMessage
String
调用失败响应信息描述。
result
String
响应结果。
- 请求示例
curl -k "https://lts-access.cn-north-4.myhuaweicloud.com:443/v3/xxxxxxProject_id/lts/groups/xxxxxxLog_group_id/streams/xxxxxxxLog_stream_id/struct/logs?key1=val1&key2=val2"
支持在上报日志的公网地址域名后指定端口号,本示例中使用的端口号为443:- 公网场景下,通过SDK跨云或本地服务器上报日志到LTS时,端口号使用443。
- 华为云内网场景下,待上报日志的华为云主机与LTS在同一Region时,端口号使用8102。
- 响应示例
日志上报成功。
{ "errorCode": "SVCSTG.ALS.200.200", "errorMessage": "Report success.", "result": null }
- 状态码
表4 状态码 状态码
描述
200
请求响应成功。
400
非法请求。建议根据error_msg直接修改该请求,不要重试该请求。
401
在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。
403
请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。
500
系统内部错误。
503
被请求的服务无效,服务不可用。