跨阿里云账号采集日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文介绍跨阿里云账号采集日志的操作步骤。

本文介绍跨阿里云账号采集日志的操作步骤。

背景信息

如果您的服务器是与日志服务属于不同账号的ECS服务器、其他云厂商的服务器或自建IDC时,要通过Logtail采集该服务器日志您需要在服务器上安装Logtail后,配置日志服务所在阿里云账号ID为用户标识,表示该账号有权限通过Logtail采集该服务器日志。否则在机器组中会无法显示服务器IP或显示服务器心跳失败,导致Logtail无法采集日志到日志服务。

例如某电商公司拥有两个电商应用,均部署在阿里云杭州地域的集群上,并使用杭州地域的日志服务进行日志管理。

  • 应用A部署在阿里云账号A(12****456)下的集群(Linux系统)上,并使用该账号下的日志服务进行日志管理。

  • 应用B部署在阿里云账号B(17****397)下的集群(Linux系统)上,并使用该账号下的日志服务进行日志管理。

现公司业务调整,计划将两个应用的日志集中统一采集到阿里云账号A(12****456)下的日志服务中,即将两个应用的日志分别采集到同一个日志服务Project下的不同Logstore中。

image.png

跨账号采集原理

实现账号A跨账号采集B账号集群日志的关键点在于让A账号的日志服务感知到B账号集群的存在,在同地域的情况下只需要通过B账号集群的机器授权A账号,允许A账号采集就可以实现。

因此您需要在B集群中配置账号A的UID对A账号进行授权,并在A账号的Project中新增一个Logstore、机器组和Logtail采集配置,用于采集和存储应用B相关的日志。应用A相关的日志采集保持不变(使用原有的Logstore、机器组和Logtail采集配置)。下面我们将分主机环境K8s环境向您展示具体的操作步骤。

主机环境操作步骤

步骤一:创建用户标识文件

  1. 登录阿里云账号B下的ECS服务器。

重要

您需要在ECS集群B的每台ECS服务器中创建用户标识文件。

  1. 执行如下命令创建用户标识文件。您需要配置阿里云账号A为用户标识,即创建阿里云账号A的同名文件。更多信息,请参见配置用户标识

touch /etc/ilogtail/users/12****456

步骤二:创建用户自定义标识机器组

  1. 在ECS服务器上创建机器组的自定义用户标识文件或复用已有的自定义用户标识文件。

    重要

    您需要确保ECS集群B的每台ECS服务器中都创建了机器组的用户自定义标识文件。

    1. 登录阿里云账号B下的ECS服务器。

    2. 在指定目录下创建/etc/ilogtail/user_defined_id文件并添加用户自定义标识。

      例如配置用户自定义标识为application_b,则在文件中输入application_b,并保存。文件路径说明,请参见创建用户自定义标识机器组

  2. 在日志服务控制台上创建机器组。

    1. 使用阿里云账号A登录日志服务控制台

    2. 在Project列表区域,单击目标Project。

    3. 在左侧导航栏中,选择资源 > 机器组

    4. 选择机器组右侧的 > 创建机器组

    5. 创建机器组对话框中,配置如下参数,然后单击确定。其中用户自定义标识需设置为您在步骤1中设置的用户自定义标识。其他参数说明,请参见创建用户自定义标识机器组image.png

  3. 检查机器组中的服务器心跳都为OK。

    1. 在机器组列表中,单击目标机器组。

    2. 机器组配置页面,查看使用了相同用户自定义标识的ECS服务器及其心跳状态。心跳OK表示ECS服务器与日志服务的连接正常。如果显示FAIL请参见Logtail机器组无心跳

步骤三:采集日志

  1. 使用阿里云账号A登录日志服务控制台

  2. 接入数据区域,选择正则-文本日志

  3. 选择日志空间向导中,选择目标Project和Logstore,单击下一步

  4. 创建机器组向导中,单击使用现有机器组

  5. 机器组配置向导中,选中您在步骤二中创建的机器组,将该机器组从源机器组移动到应用机器组,单击下一步

  6. 创建Logtail采集配置,单击下一步

    具体参数说明,请参见使用完整正则模式采集日志

    重要

    • 由于账户A需要采集的文件与原来账号B是相同的,且默认一份文件只能生效一个采集配置,因此需要停止账号B的采集或添加强制采集配置(请参考如何实现文件中的日志被采集多份)使账户A的采集配置生效。

    • 此处创建Logtail采集配置成功后,请删除阿里云账号B下的原有Logtail采集配置,并关闭强制采集配置,避免重复采集日志。如何删除,请参见删除Logtail采集配置

  1. 预览数据及设置索引,单击下一步。日志服务默认开启全文索引。您也可以根据采集到的日志,手动或者自动设置字段索引。更多信息,请参见配置索引

K8s环境操作步骤

步骤一:设置阿里云账号为用户标识

  1. 使用阿里云账号B登录容器服务管理控制台

  2. 设置阿里云账号A为用户标识。

    1. 在左侧导航栏中,单击集群

    2. 集群列表页面中,单击目标集群。

    3. 在左侧导航栏中,选择配置管理 > 配置项

    4. 选择命名空间kube-system,然后在配置项列表中单击alibaba-log-configuration对应的编辑

    5. 编辑面板中,完成如下操作,然后单击确定。在log-ali-uid配置项中增加阿里云账号A的ID,多个账号之间使用半角逗号(,)相隔,例如17****397,12****456。然后记录log-machine-group配置项的值(例如k8s-group-cc47****54428),在创建机器组时需设置用户自定义标识为该值。

  3. 重启logtail-ds,使配置生效。在logtail-ds详情页面,确认各个容器组的状态为Running且创建时间为您更新配置后的时间。

    1. 在左侧导航栏中,选择工作负载 > 进程守护集

    2. 在守护进程集列表中,单击logtail-ds对应的编辑

    3. 环境变量区域,单击新增

    4. 新增一个任意内容的自定义变量(例如random_id:439157431651471905349)。

    5. 单击更新

步骤二:创建机器组

  1. 使用阿里云账号A登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

  3. 在左侧导航栏中,选择资源 > 机器组

  4. 选择机器组右侧的 > 创建机器组

  5. 创建机器组对话框中,配置如下参数,然后单击确定。其中用户自定义标识需设置为您在步骤一:设置阿里云账号为用户标识中获取的机器组标识(例如k8s-group-cc47****54428)。其他参数说明,请参见创建用户自定义标识机器组

  6. 检查机器组中的服务器心跳都为OK。

    1. 在机器组列表中,单击目标机器组。

    2. 机器组配置页面,查看容器节点(ECS)的心跳状态。心跳OK表示容器节点与日志服务的连接正常。如果显示FAIL请参见Logtail机器组无心跳

步骤三:创建Logtail采集配置

  1. 使用阿里云账号A登录日志服务控制台

  2. 数据接入区域,单击Kubernetes-文件

  3. 选择目标Project和Logstore,单击下一步

  4. 单击使用现有机器组

  5. 选中您在步骤二:创建机器组中所创建的机器组,将该机器组从源机器组移动到应用机器组,单击下一步

  6. 设置Logtail采集配置,单击下一步。具体参数说明,请参见通过DaemonSet-控制台方式采集容器文本日志

    重要

    • 由于账户A需要采集的文件与原来账号B是相同的,且默认一份文件只能生效一个采集配置,因此需要停止账户B的采集或添加强制采集配置(请参考如何实现文件中的日志被采集多份)使账户A的采集配置生效。

    • 此处创建Logtail采集配置成功后,请删除阿里云账号B下的原有Logtail采集配置,并关闭强制采集配置,避免重复采集日志。如何删除,请参见删除Logtail采集配置

  7. 预览数据及设置索引,单击下一步。日志服务默认开启全文索引。您也可以根据采集到的日志,手动或者自动设置字段索引。更多信息,请参见配置索引

相关操作-停止数据采集

如果您需要停止阿里云账号B下的数据采集,可以将其Logtail配置与ECS集群B所在机器组的关联接触,具体操作如下:

  1. 在账号A的采集配置完成后等待2分钟,确保配置已经下发。

  2. 点击日志存储按钮。

  3. 选择要暂停的logtail配置。

  4. 点击修改。

    image.png
  5. 在应用机器组中选中要摘除的机器组。

  6. 点击“<”。

  7. 点击保存。

    image.png

重要

若A账号的采集配置在此操作2分钟后仍然没有生效,即未能采集到数据,请立刻恢复B账号的采集配置,避免日志采集丢失。

相关操作-历史数据迁移

如果您需要将阿里云账号B下的历史数据迁移到当前的Logstore中,可以在原Logstore中创建数据加工任务,将数据复制到当前Logstore中。具体操作,请参见复制Logstore数据

重要

跨账号加工数据时,需使用自定义角色或密钥方式进行授权,此处以自定义角色为例。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
|
25天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
|
1月前
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
147 23
|
1月前
|
存储 数据采集 监控
阿里云DTS踩坑经验分享系列|SLS同步至ClickHouse集群
作为强大的日志服务引擎,SLS 积累了用户海量的数据。为了实现数据的自由流通,DTS 开发了以 SLS 为源的数据同步插件。目前,该插件已经支持将数据从 SLS 同步到 ClickHouse。通过这条高效的同步链路,客户不仅能够利用 SLS 卓越的数据采集和处理能力,还能够充分发挥 ClickHouse 在数据分析和查询性能方面的优势,帮助企业显著提高数据查询速度,同时有效降低存储成本,从而在数据驱动决策和资源优化配置上取得更大成效。
155 9
|
3月前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
108 3
|
3月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
72 1
|
3月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
726 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
3月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
407 3