帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据加工
  6. 数据加工(旧版)
  7. 数据加工(旧版)常见问题
  8. 存储目标Logstore无数据怎么处理?

存储目标Logstore无数据怎么处理?

  • 数据加工(旧版)常见问题
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

您将数据加工结果分发至存储目标Logstore后,如果目标Logstore中无数据,可参见本文解决。

场景一:加工语句中的存储目标与创建数据加工任务页面中的存储目标不一致

名为website_log的Logstore中有5000条数据,其中SourceIP为192.0.2.54的数据有1000条,SourceIP为192.0.2.28的数据有1000条,SourceIP为192.0.2.136的数据有1000条,SourceIP为其他值的日志有2000条。现对这些数据进行加工,分发到不同的目标Logstore(54_log_target、28_log_target、136_log_target)中。

  • 加工需求

    • 将SourceIP为192.0.2.54的数据分发至名为54_log_target的Logstore中。

    • 将SourceIP为192.0.2.28的数据分发至名为28_log_target的Logstore中。

    • 将SourceIP为192.0.2.136的数据分发至名为136_log_target的Logstore中。

    • 将其他不符合加工条件的数据全部丢弃。

  • 加工语句

    三个目标Logstore名称分别为54_log、28_log、136_log。

    e_if(e_search("SourceIP==192.0.2.54"),    
      e_output(name="54-target",
                 project="sls-test",
                 logstore="54_log"))
    e_if(e_search("SourceIP==192.0.2.28"),
        e_output(name="28-target",
                 project="sls-test",
                 logstore="28_log"))
    e_if(e_search("SourceIP==192.0.2.136"),
        e_output(name="136-target",
                 project="sls-test",
                 logstore="136_log"))
    e_drop()
  • 存储目标

    三个目标Logstore分别为54_log_target、28_log_target、136_log_target。

    存储目标

  • 加工结果

    名称为54_log_target、28_log_target、136_log_target的Logstore中无数据。

  • 原因分析

    在数据加工语句的e_output函数中设置了project(目标Project名称)和logstore(目标Logstore名称),同时在创建数据加工任务面板中设置不同的目标Project和目标库,此时以数据加工语句的存储目标为准。

    即在本案例中,加工结果被分发至数据加工语句中设置的三个Logstore中:54_log、28_log、136_log。

  • 解决方案

    • 在e_output函数和e_coutput函数中只配置name参数,则加工结果输出到创建数据加工任务面板中设置的存储目标。

    • 如果在e_output函数和e_coutput函数中配置Project参数、Logstore参数,则必须和创建数据加工任务面板中设置的存储目标一致。更多信息,请参见e_output、e_coutput。

      说明

      设置了加工语句且设置多个存储目标时,如果未使用e_drop()语句,则所有通过加工处理但不符合条件且未被丢弃的数据,都被分发至第一个存储目标中。

      e_if(e_search("SourceIP==192.0.2.54"),    
        e_output(name="54-target",
                   project="sls-test",
                   logstore="54_log_target"))
      e_if(e_search("SourceIP==192.0.2.28"),
          e_output(name="28-target",
                   project="sls-test",
                   logstore="28_log_target"))
      e_if(e_search("SourceIP==192.0.2.136"),
          e_output(name="136-target",
                   project="sls-test",
                   logstore="136_log_target"))
      e_drop()

场景二:未设置加工语句或仅设置e_drop()语句

  • 加工语句

    无

  • 存储目标未设置加工语句

  • 加工结果

    只有名称为54_log_target的Logstore中有数据。

  • 原因分析

    • 在数据加工页面没有设置加工语句,但在创建数据加工任务面板:

      • 设置一个存储目标,源Logstore的数据会被复制到存储目标中。

      • 设置多个存储目标,所有的数据只被分发到存储目标1的Logstore中,不会被转发到其他Logstore。

    • 在数据加工页面仅设置e_drop()语句,所有的日志数据都被丢弃,存储目标Logstore中无数据。

场景三:加工延迟

如果您确保您的加工任务设置正确,而目标Logstore中仍无数据,可能是因为加工延迟。更多信息,请参见加工延迟。

参考性能指南,建议在部署加工作业之前,从三个层面进行规划:

  • 源Logstore,根据数据量调整Shard数目(readwrite状态),满足一定的加工并发度。

  • 加工DSL代码逻辑优化,例如优化正则表达式、合理做条件剪枝、数据过滤尽量前置。

  • 目标Logstore设置足够的Shard数目(readwrite状态),避免加工写出数据受阻。

相关文章

加工引擎启动错误 2025-04-22 10:53

本文档为您介绍加工引擎启动错误的原因以及排查处理方法。 数据加工任务的第一个环节便是启动加工引擎。该环节产生错误主要是由于在启动加工引擎过程时,检测到您编写的SLS DSL规则存在错误,导致加工引擎内部的安全审核不通过。

加工规则错误 2025-04-22 10:53

本文档为您介绍数据加工规则错误的原因以及排查处理方法。 读取源Logstore数据成功后,加工引擎开始对源Logstore的日志事件进行加工。

源Logstore读取错误 2025-04-22 10:53

本文介绍数据加工服务读取源Logstore错误的原因以及排查处理方法。 加工引擎启动成功后,开始读取源Logstore的数据。数据加工引擎对源Logstore采用流式读取,在加工过程中会持续不断的读取源Logstore中的数据。

资源加载错误 2025-04-22 10:53

本文介绍在数据加工规则中加载资源数据错误的原因及排查处理的方法。 错误处理机制 资源加载错误的处理机制请参见res_log_

目标Logstore输出错误的原因和排查方法 2025-04-22 10:53

本文档为您介绍数据加工服务进行数据加工后,将加工结果写入目标Logstore产生错误的常见原因和排查处理方法。 工作原理 日志事件被加工完之后,会被输出到预先配置好的目标Logstore中。LOG DSL引擎每次读取一个批次的源日志(从1条到近万条不等),数据加工后,并不是加工一条日志就输出一条,而

获取Logstore数据(维表)错误 2025-04-22 10:53

如果加工规则中涉及其他Logstore资源的加载,则有可能会产生资源的加载或刷新错误。本文档主要介绍从其他Logstore获取数据的常见错误以及排查处理方法。 在成功读取源Logstore数据后,加工引擎开始对源Logstore的日志事件进行加工。如果加工规则中涉及OSS、RDS、Logstore等

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1