日志服务数据加工最佳实践: 跨账号多源logstore数据汇总

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本篇介绍日志服务数据加工: 跨账号多源logstore数据汇总最佳实践

概述

在跨账号同Region下的不同logstore之间操作数据并汇总数据. 日志服务数据目前支持多源logstore汇总到一个目标的方式是通过对每一个源logstore配置一份数据加工任务来实现的.

注意 目前数据加工仅支持同Region下分发

原始日志

"""
账号1的logstore中的日志
Prject区域:英国(伦敦)
Project名称:Project_1
logstore名称: Logstore_1
"""
"日志1"
request_id: 1
http_host:  m1.abcd.com
http_status:  200
request_method:  GET
request_uri:  /pic/icon.jpg

"日志2"
request_id: 2
http_host:  m2.abcd.com
http_status:  301
request_method:  POST
request_uri:  /data/data.php

"""
账号2的logstore中的日志
Prject区域:英国(伦敦)
Project名称:Project_2
logstore名称: Logstore_2
"""
"日志1"
request_id: 3
host:  m3.abcd.com
status:  404
request_method:  GET
request_uri:  /category/abc/product_id
  
"日志2"
request_id: 4
host:  m4.abcd.com
status:  200
request_method:  GET
request_uri:  /data/index.html

汇总目标

  • 将账号1的Logstore_1和账号2下的Logstore_2中所有http_status200日志事件汇总到账号3下的Logstore_3中。
  • 统一两个Logstore中日志事件的字段表达(host -> http_host, status -> http_status)

LOG DSL规则

  • 首先在账号1的Logstore_1中配置如下加工规则
e_if(e_match("http_status", "200"), e_output("target_logstore"))

并且在该加工规则的任务配置项中配置存储目标target_logstore为账号3下面的Logstore_3。


image


  • 接着在账号2的Logstore_2中配置如下加工规则
e_if(e_match("status", "200"), e_compose(e_rename("status", "http_status", "host", "http_host"), e_output("target_logstore")))

同账号1一样,在该加工规则的任务配置项中配置存储目标target_logstore为账号3下面的Logstore_3。

加工后的日志

"""
账号3的logstore中的日志
Prject区域:英国(伦敦)
Project名称:Project_3
logstore名称: Logstore_3
"""
"日志1"
request_id: 1
http_host:  m1.abcd.com
http_status:  200
request_method:  GET
request_uri:  /pic/icon.jpg

"日志2"
request_id: 4
http_host:  m4.abcd.com
http_status:  200
request_method:  GET
request_uri:  /data/index.html

进一步参考

欢迎扫码加入官方钉钉群获得实时更新与阿里云工程师的及时直接的支持:
image

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
22 1
|
25天前
|
数据采集 机器学习/深度学习 存储
使用 Python 清洗日志数据
使用 Python 清洗日志数据
28 2
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
38 2
|
2月前
|
开发者 Python
基于Python的日志管理与最佳实践
日志是开发和调试过程中的重要工具,然而,如何高效地管理和利用日志常常被忽略。本文通过Python中的logging模块,探讨如何使用日志来进行调试、分析与问题排查,并提出了一些实际应用中的优化建议和最佳实践。
|
2月前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
180 3
|
3月前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
47 0
|
3月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
50 0
|
21天前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
139 3
|
21天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1585 14
|
17天前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
20 0

相关产品

  • 日志服务