日志服务数据加工最佳实践: 跨账号多源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
AI 代码解读

汇总目标

  • 将账号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"))
AI 代码解读

并且在该加工规则的任务配置项中配置存储目标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")))
AI 代码解读

同账号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
AI 代码解读

进一步参考

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
3963
分享
相关文章
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
247 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
6月前
|
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
120 1
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
86 2
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
1432 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
110 9
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
141 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
78 13

相关产品

  • 日志服务
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等