将对象存储服务OBS文件接入LTS
用户会将低频访问的日志通过LTS转储至OBS进行保存。当需要方便快捷的搜索存储在OBS的日志内容时,希望将日志内容从OBS服务重新导入LTS,因此LTS支持将日志文件从对象存储服务OBS重新导入LTS,方便用户在LTS控制台进行日志搜索与分析。
本实践通过介绍将日志转储至OBS服务,日志转储成功后,再将日志转储文件导入LTS。以下示例仅供参考,请以实际数据为准。
创建日志转储至OBS
- 登录云日志服务控制台。
- 左侧导航选择“日志转储”。
- 在“日志转储”页面右上角,单击“配置转储”。
- 在“配置转储”页面,设置转储日志相关参数。以下示例仅供参考,请以实际数据为准。
表1 配置转储参数说明 参数名称
说明
示例
日志源
当前账号:对用户所在账号下所产生的日志进行转储。
当前账号
是否开启转储
默认开启转储。
开启
转储对象
选择转储的云服务。
OBS
日志组名称
选择已创建的日志组。
lts-xunjian-group
企业项目
选择已创建的企业项目。
default
日志流名称
选择已创建的日志流。
已配置过OBS转储的日志流不能重复配置。
lts-xunjian-topic
OBS桶
选择已创建的OBS桶。
bj4-xunjian
密钥名称
对于加密的OBS桶,选择密钥名称。如果没有可选择的密钥,单击“创建密钥并授权”,进入数据加密控制台,创建密钥。
-
自定义转储路径
不开启:将日志转储至系统默认路径中。系统默认路径为:LogTanks/RegionName/%Y/%m/%d/日志组/日志流/日志文件名称。
不开启
日志文件前缀
转储至OBS桶中的日志文件前缀。
日志文件前缀需符合如下规范:
- 名称长度限制为0~64个字符。
- 名称只能由英文大小写字母、数字、中划线“-”、下划线“_”和小数点“.”组成。
示例:输入LTS-log,则日志文件名称为:LTS-log_日志文件名称。
LTS-log
转储格式
用于配置日志的转储格式,支持“原始日志格式”、“Json格式”。
- 原始日志格式示例:
- JSON格式示例:
{"host_name":"ecs-bd70","ip":"192.168.0.54","line_no":249,"message":"Sep 30 14:40:01 ecs-bd70 CRON[4363]: (root) CMD (/opt/oss/servicemgr/ICAgent/bin/manual/mstart.sh > /dev/null 2>&1)\n","path":"/var/log/syslog","time":1569825602303}
Json格式
转储周期
日志自动转储至OBS桶的时间间隔,支持2分钟、5分钟、30分钟、1小时、3小时、6小时、12小时。
2分钟
文件名时区
日志自动转储至OBS桶时,按照UTC时间生成转储目录及文件名称。
(UTC)协调世界时间
是否投递tag
如主机日志,转储时会增加采集器收集的tag字段。
- 开启:默认的投递tag有:主机信息(hostIP、hostId、hostName、pathFile、collectTime);kubernetes信息(clusterName、clusterId、nameSpace、podName、appName、containerName)。可选择公共tag有:regionName、projectId、logStreamName、logGroupName。
说明:
当开启投递tag后,转储格式必须是JSON格式。
- 转储标签:开启后,会将日志流标签添加至转储内容。
开启
压缩格式
支持不压缩、压缩gzip、压缩zip、压缩snappy。
说明:压缩格式支持白名单用户申请提交工单开通。
压缩gzip
- 单击“确定”,完成配置。当转储任务状态为“正常”时,表示转储任务创建成功。
- 等待2分钟后,单击“转储对象”列的OBS桶名称,可以跳转至OBS控制台,在“对象”页面,单击文件夹名称,找到LTS-log_xx.json.gz的日志转储文件。
单击日志转储文件操作列的“下载”,将日志文件下载到本地进行查看。
创建对象存储OBS接入LTS
- 在左侧导航栏中,选择“接入 > 接入中心”,单击“云服务接入-对象存储OBS”进行OBS接入配置。
- 单击“所属日志组”后的目标框,本示例选择lts-group-test日志组,请根据业务需求自定义选择日志组。
若没有所需的日志组,单击“所属日志组”目标框后的“新建”,在弹出的创建日志组页面创建新的日志组。详细请参考创建日志组。
- 单击“所属日志流”后的目标框,本示例选择lts-topic-test日志流,请根据业务需求自定义选择日志流。若没有所需的日志流,单击“所属日志流”目标框后的“新建”,在弹出的创建日志流页面创建新的日志流。详细请参考创建日志流。
- 单击“下一步:采集配置”。
- 在采集配置页面,设置参数。以下示例仅供参考,请以实际数据为准。更多参数信息请参考。
表2 采集配置 参数类型
名称
说明
示例
基本配置
采集配置名称
自定义采集配置名称,长度范围为1到64个字符,只支持输入英文、数字、中文、中划线、下划线及小数点,且不能以小数点、下划线开头或以小数点结尾。
test-LTS-log
任务监控
默认开启。
开启后会将每次任务执行状态写入日志流 lts-system/lts-obs2lts-statistics,您可以查看OBS导入任务监控仪表盘或者配置告警规则,及时发现数据导入过程中可能出现的异常问题。
开启
OBS数据源配置
OBS桶
选择需要导入日志文件到LTS的OBS桶。
bj4-xunjian
文件夹前缀
输入待导入的OBS文件前缀,用于准确定位待导入的文件,支持输入文件前缀your_prefix/或完整路径your_prefix/file.gz(只支持导入5GB以内的原始文件)。
在OBS控制台的“对象”页面,需要导入LTS的OBS文件名称为“LTS-log_LogTank_037bcc7382bf4bf2bb4068684a3275da_2025-01-20T11-02-00Z_2273089614c402d6.json.gz”,单击该OBS文件操作列的“更多 > 复制路径”,复制结果为“LogTanks/cn-north-4/2025/01/20/lts-xunjian-group/lts-xunjian-topic/LTS-log_LogTank_037bcc7382bf4bf2bb4068684a3275da_2025-01-20T11-02-00Z_2273089614c402d6.json.gz”,那文件夹前缀为LogTanks/cn-north-4/2025/01/20/lts-xunjian-group/lts-xunjian-topic。
LogTanks/cn-north-4/2025/01/20/lts-xunjian-group/lts-xunjian-topic
文件正则过滤
用于过滤文件的正则表达式,只有文件名匹配该正则表达式的文件才会被导入。若不填写正则表达式,表示不过滤文件。
本示例直接填写文件名称,表示只过滤该文件内容。
LTS-log_LogTank_037bcc7382bf4bf2bb4068684a3275da_2025-01-20T11-02-00Z_2273089614c402d6.json.gz
压缩格式
支持自动检测、不压缩、压缩gzip、压缩zip、压缩snappy。如果是zip压缩文件,只能包含一个文件,不能有任何文件夹。
自动检测
导入间隔
一次性:只导入一次,云日志服务不会检测新出现的文件。
一次性
数据格式配置
日志文件编码
日志文件编码支持UTF-8、GBK。
UTF-8
提取模式
LTS解析OBS文件内日志时,需针对不同日志类型配置提取策略,请根据业务需求选择对应的提取模式。
当OBS日志超过1MB限制时,LTS会按日志类型采取差异化处理:
- 单行日志单行超过1MB的部分被截断丢弃。
- 多行日志多行块超过1MB的部分被截断丢弃。
- ORC和JSON格式日志是单行解析,如果单行日志超过1MB直接被丢弃。
JSON
- 单击“预览”,在结果预览下方显示存储文件内容,确认无误后,单击“提交”。
- 接入成功后,在“接入管理”页面生成一条接入配置信息。
- 单击所属日志流的lts-topic-test名称进入日志流详情页,查看已有日志流数据,则确定转储文件已导入成功。将转储OBS选择的lts-xunjian-topic日志流数据和OBS接入LTS选择的lts-topic-test日志流数据进行对比,两者日志数据一致。