您将数据加工结果分发至目标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中。
- 加工需求
- 将SourceIP为192.0.2.54的数据分发至名为54_log的Logstore中。
- 将SourceIP为192.0.2.28的数据分发至名为28_log的Logstore中。
- 将SourceIP为192.0.2.136的数据分发至名为136_log的Logstore中。
- 预期结果
- 名为54_log的Logstore中有1000条数据,其中SourceIP为192.0.2.54。
- 名为28_log的Logstore中有1000条数据,其中SourceIP为192.0.2.28。
- 名为136_log的Logstore中有1000条数据,其中SourceIP为192.0.2.136。
- 加工语句
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"))
- 存储目标
- 加工结果
- (不符合预期)名为54_log的Logstore中有3000条数据,除SourceIP为192.0.2.54的数据外,还有SourceIP为其他值的数据。
- (符合预期)名为28_log的Logstore中有1000条数据,其中SourceIP为192.0.2.28。
- (符合预期)名为136_log的Logstore中有1000条数据,其中SourceIP为192.0.2.136。
- 原因分析
日志服务在分发数据加工结果时,符合e_output函数加工规则的数据被分别分发到对应的目标Logstore中。其他在加工过程中通过DSL(加工语句)处理且未被丢弃的数据将被分发到存储目标1的Logstore中(本案例中为54_log
Logstore)。日志服务以存储目标1为默认存储目标。 - 解决方法
在加工语句中加上e_drop()语句,丢弃不符合加工规则的数据。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()
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165998.html