将OSS数据导入日志服务操作实践

简介: OSS与日志服务相比,OSS存储的成本更低,不过日志服务中查询、结果展示、实时监控、数据加工等功能是OSS所不具备的。所以,可以将历史数据投递到OSS进行长期保存,SLS存储近期有查询分析需要的数据。<br />当历史数据有查询、分析需求时可以将OSS中的数据重新导入到SLS。

概述

对象存储服务(Object Storage Service,简称 OSS),是海量、安全、低成本、高可靠的云存储服务。OSS与日志服务相比,OSS存储的成本更低,不过日志服务中查询、结果展示、实时监控、数据加工等功能是OSS所不具备的。所以,可以将历史数据投递到OSS进行长期保存,SLS存储近期有查询分析需要的数据。
当历史数据有查询、分析需求时可以将OSS中的数据重新导入到SLS。

前提条件

  1. 已创建OSS Bucket,并将待导入的日志文件存储到OSS Bucket中,详情请参见上传文件
  2. 已创建Project和Logstore,详情请参见准备流程
  3. 已经完成云资源访问授权
  4. 导入的OSS文件格式支持:JSON、CSV、Parquet、TEXT。
  5. 文件压缩格式支持:Gzip、Bzip2、Snappy,以及未压缩文件。



流程总览

  1. 检查导入日志服务的文件格式是否满足前提条件。
  2. 检查子账号是否有权限操作。主账号可以直接配置。
  3. 登陆日志服务配置OSS数据导入。
  4. 等待任务执行,查看数据及任务状态。



操作详情

测试导入的文件是之前从SLS发送到OSS的日志文件,bucket类型为标准存储。如果bucket是归档存储类型,建议提前解冻;在配置中也能进行解冻,不过解冻有一两分钟延迟,配置过程中解冻有可能误认为解冻不成功。

1. 检查OSS中待导入文件格式

oss控制台找到文件,检查文件后缀。如图是snappy压缩格式的parquet文件,压缩格式、文件格式都是满足上述前提条件的。
image.png

2. 权限配置

导入配置测试使用的是主账号操作,并且已经完成云资源访问授权。子账号所需授权可以参考文档底部。

3. 创建导入配置

3.1 配置入口

首先,进入日志服务选择接入数据中的 OSS-对象存储,然后选择要写入的project、logstore之后点击下一步。如果还没有自建project、logstore可以参考 Project操作文档 以及 Logstore操作文档 进行创建。
image.png

3.2 配置详情

如图,配置名称自定义,OSS Region、Bucket、文件夹前缀都是需要导入文件的信息。
正则过滤是匹配的文件名称,采集目录下全部文件时可以不填,为空时默认采集全部文件。配置中也能打开解冻文件,不过由于OSS解冻文件会有几分钟的延迟,有可能导致页面超时需要刷新的情况,所以建议提前在OSS中对文件解冻。低频访问、标准存储是不需要解冻的。
image.png
数据格式、压缩格式支持情况如下图,根据同步的文件类型选择。
image.pngimage.png
编码格式支持utf-8、gbk以及其他,选择其他时可以手动输入编码格式。
image.png
同步配置中可以使用的任务执行的系统时间作为日志查询的时间,不过也可以从日志内容中提取时间内容替换,Parquet、csv、json格式的日志是通过填写字段名称以及时间格式进行替换;单行文本、跨行文本需要先通过正则提取时间内容之后再填写时间格式替换。正则规则参考文档,时间格式参考文档。以下为单行文本的提取示例:
image.png
最后设置同步间隔就配置成功了,间隔最小是五分钟、最大是30天,设置之后就会有定时任务产生,按照最后配置的频率就行导入。如果需要立即查看,可以把立即执行的选项打开,关闭情况下需要等一个周期之后才能看到效果。

3.3 特殊配置

  • CSV特有配置项
    | 配置项 | 说明 |
分隔符 CSV 文件分隔符,默认用(,)。
Quote 当字段内包含分隔符时,需要使用Quote包裹,默认用(")。
转义符 CSV 文件转义符,默认用(\)
跨行日志最大行数 当一行日志跨多行时,需要指定最大行数,默认为1。
首行作为字段名称 是否使用CSV文件的首行作为字段列表。
跳过行数 在文件开始位置跳过指定行数之后才开始读取数据,默认为0。
  • 跨行文本日志特有配置项
    | 配置项 | 说明 |
行首正则 匹配正则的行作为日志的第一行,未匹配的行都是这条日志的一部分,直到达到最大行数。
行尾正则 匹配正则的行作为日志的最后一行,未匹配的行都是下一条日志的一部分,直到达到最大行数。
最大行数 一条日志的最大行数,默认为10。

4. 查看导入状态及操作

4.1 导入状态总览

  1. 单击目标Project。
  2. 选择目标日志库下的数据接入 > 数据导入,单击任务名称。
  3. 导入配置概览页面,查看导入配置的基本信息和统计报表。


4.2 相关操作

在任务的导入配置概览页面,还可以进行如下操作:

  • 修改任务单击修改配置,修改导入任务的相关配置,具体配置请参见设置导入配置
  • 删除任务单击删除配置,删除该导入任。删除后不可恢复,请谨慎操作。

权限配置

  1. 首先需要使用主账号点击云资源访问授权并且同意授权,授权内容是日志服务有权限访问OSS中数据资源。


2.1 授权子账号 AliyunLogFullAccess。
2.2 自定义授权策略:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "log:ListProject"
            ],
            "Resource": [
                "acs:log:*:*:project/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "log:Get*",
                "log:List*"
            ],
            "Resource": "acs:log:*:*:project/project-wuzy/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "log:Create*"
            ],
            "Resource": "acs:log:*:*:project/project-wuzy/job/*",
            "Effect": "Allow"
        }
    ]
}
  1. 2.1、2.2 步骤任选其一,passRole权限必须添加。
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "log:*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "ram:PassRole",
      "Resource": "*"
    }
  ]
}

日志时间配置参考

Token Date or Time Component Example
yyyy 4-digit year 2012; 2016
yy 2-digit year 12; 16
MMM 3-character month Jan; Mar; Dec
MM 1- or 2-digit month (in a year) 1; 01; 9; 09; 12
dd 1- or 2-digit day (in a month) 1; 01; 16; 30
a AM/PM (case insensitive) AM; PM; am; pm
HH 1- or 2-digit hour (in a day, 0-23) 2; 02; 14; 23
hh 1- or 2-digit hour (in a day, 1-12 with AM/PM) 2; 02; 11; 12
mm 1- or 2-digit minute (in an hour) 8; 08; 55
ss 1- or 2-digit second (in a minute) 5; 05; 35
SSS 1-3 digit subsecond or millisecond (in decimal) 4; 58; 944
zzz 3- letter time zone UTC; PST; EDT
ZZZZ RFC 822 time zone -0900; +0500
'Z' Literal Z character Z
'T' Literal T character T
epoch 10, 13, 16, 19 digit timestamp with optional . (dot) after 10 digits. 1496756806.655123456

视频

实践视频链接: https://v.youku.com/v_show/id_XNDY3MjA5Nzg3Ng==.html

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
6月前
|
存储 弹性计算 监控
日志服务SLS实现云产品可观测实践
认证考试:日志服务SLS实现云产品可观测实践
|
29天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群监控与日志管理实践
【2月更文挑战第29天】 在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。然而,随着集群规模的扩大和业务复杂度的提升,有效的监控和日志管理变得至关重要。本文将探讨构建高效 Kubernetes 集群监控系统的策略,以及实施日志聚合和分析的最佳实践。通过引入如 Prometheus 和 Fluentd 等开源工具,我们旨在为运维专家提供一套完整的解决方案,以保障系统的稳定性和可靠性。
|
7月前
|
存储 监控 对象存储
日志服务数据导入
本场景介绍如何通过日志服务数据导入方式,将OSS数据导入到日志服务。
221 0
|
4月前
|
存储 缓存 Java
浅析JAVA日志中的几则性能实践与原理解释
本篇文章通过几个技术点说明日志记录过程中的性能实践,计算机领域的性能往往都遵循着冰山法则,即你能看得见的、程序员能感知的只是其中的一小部分,还有大量的细节隐藏在冰山之下。
520 1
|
27天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践
【2月更文挑战第31天】 在微服务架构日益普及的今天,容器编排工具如Kubernetes已成为部署、管理和扩展容器化应用的关键平台。然而,随着集群规模的扩大和业务复杂性的增加,如何有效监控集群状态、及时响应系统异常,以及管理海量日志信息成为了运维人员面临的重要挑战。本文将深入探讨 Kubernetes 集群监控的最佳实践和日志管理的高效策略,旨在为运维团队提供一套系统的解决思路和操作指南。
24 0
|
1月前
|
存储 消息中间件 监控
Zoom 基于Apache Hudi 的流式日志处理实践
Zoom 基于Apache Hudi 的流式日志处理实践
43 1
|
2月前
|
存储 监控 BI
OSS日志查询
实时日志查询功能将OSS与日志服务SLS相结合,允许您在OSS控制台直接查询OSS的访问日志
28 1
|
7月前
|
监控 安全 BI
使用日志服务SLS进行OSS可观测分析
本场景主要介绍如何使用SLS提供的CloudLens for OSS功能针对对象存储OSS进行可观测分析,包括资源用量、访问分析、安全分析、异常检测等角度。
361 0
|
4月前
|
存储 数据采集 运维
构建高效日志管理系统:阿里云产品实践与技术解析
日志管理对于系统运维和故障排查至关重要。本文将详细介绍如何利用阿里云相关产品搭建一个高效、可扩展的日志管理系统。我们将使用Log Service、Elasticsearch、DataHub等阿里云产品,通过代码示例和详细说明,带你一步步完成整个流程。
131 0
|
6月前
|
存储 运维 Java
JUC第六讲:ThreadLocal/InheritableThreadLocal详解/TTL-MDC日志上下文实践
JUC第六讲:ThreadLocal/InheritableThreadLocal详解/TTL-MDC日志上下文实践

相关产品

  • 日志服务