赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据采集
  6. 最佳实践
  7. 其他采集
  8. 采集客户端数据的高可用方案

采集客户端数据的高可用方案

  • 其他采集
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

本文介绍日志服务从客户端采集数据的两个高可用方案,包括双写方案和数据加工复制+写入切换方案。

背景

在单集群环境下,日志服务存储采用三副本机制来保证数据的可靠性,即每份数据都有3个副本,副本按照一定的分布式存储算法保存在集群的不同机器中。通过该机制,存储系统确保3个数据副本分布在不同服务器的不同物理磁盘上,单个硬件设备的故障不会造成数据丢失,同时确保3个数据副本之间的数据强一致性。因此对于单硬件设备故障风险,日志服务天然具备了高可用性特征。

但是在一些相对极端的场景下,单集群可能由于一些预期外原因存在故障停服风险。针对该单集群故障风险,日志服务提供两种异地多活的客户端数据采集方案。

方案比较

对比项

方案1:双写

方案2:数据加工复制+写入切换

部署复杂度

低

需要额外部署数据加工、切换写入。

客户端资源占用

方案1是方案2的2倍

低

数据一致性

较强

切换时可能出现一定比例的数据重复或丢失。

网络建议

由于Logtail从客户端上采集数据对网络要求较高,针对跨地域传输场景,推荐通过专线进行传输。

方案1:双写

双写是指将客户端上的数据同时实时写入2个不同地域的日志服务Logstore中。

由于数据实时写入2个不同地域的Logstore A和Logstore B,正常情况下Logstore A和LogstoreB的数据均实时可用。当Logstore A发生故障时,Logstore B的数据仍然实时可用。当Logstore B发生故障时,Logstore A的数据仍然实时可用。

操作步骤:

  1. 在日志服务控制台上,创建Project和Logstore。

    1. 创建A地域的Project A和Logstore A。

    2. 创建B地域的Project B和Logstore B。

  2. 在客户端所在的服务器上,设置Logtail的logtail_config.json文件,支持双地域写入。

    例如A地域为华东2(上海),B地域为华北2(北京),则新增config_server_address_list配置项,将华北2(北京)的域名作为第二个地址,其他保持不变。

    {
        ...
        "config_server_address":"logtail.cn-shanghai-intranet.log.aliyuncs.com",
        "config_server_address_list": [
            "cn-shanghai-intranet.log.aliyuncs.com",
            "cn-beijing-intranet.log.aliyuncs.com"
        ],
        "data_server_list": [
            {
                "cluster": "cn-shanghai",
                "endpoint":"cn-shanghai-intranet.log.aliyuncs.com"
            },
            {
                "cluster": "cn-beijing",
                "endpoint":"cn-beijing-intranet.log.aliyuncs.com"
            }
        ],
        "cpu_usage_limit": 2.0,
        ...
    }
  3. 在日志服务控制台上,创建Logtail配置。

    重要
    • 您需要在Logtail启动参数中设置"accept_multi_config": true或在创建Logtail配置时,在扩展配置中添加{"force_multiconfig": true},使得文件中的日志可被采集多份。具体操作,请参见如何实现文件中的日志被采集多份。

    • 后续进行修改Logtail配置时,需同时操作2个Project,保持配置一致。

    1. 在Project A的Logstore A中,创建Logtail配置。

    2. 在Project B的Logstore B中,创建Logtail配置。

方案2:数据加工复制+写入切换

数据加工复制+写入切换是指将客户端上的数据采集到一个地域的Logstore A中,同时使用数据加工功能将数据实时复制到另一个地域的Logstore B中。当Logstore A出现异常时,您需要切换写入,将客户端上数据实时采集到Logstore B。

由于Logstore A的数据通过数据加工实时写入Logstore B,正常情况下Logstore A和B的数据均实时可用。当Logstore A出现故障时,您需要将数据采集及时切换到Logstore B上,使Logstore B的数据实时可用。当Logstore B故障时,Logstore A的数据仍然实时可用。

操作步骤:

  1. 在日志服务控制台上,创建Project和Logstore。

    1. 创建A地域的Project A和Logstore A。

    2. 创建B地域的Project B和Logstore B。

  2. 在客户端所在的服务器上,设置Logtail的logtail_config.json文件,支持双地域写入。

    例如A地域为华东2(上海),B地域为华北2(北京),则新增config_server_address_list配置项,将华北2(北京)的域名作为第二个地址,其他保持不变。

    {
        ...
        "config_server_address":"logtail.cn-shanghai-intranet.log.aliyuncs.com",
        "config_server_address_list": [
            "cn-shanghai-intranet.log.aliyuncs.com",
            "cn-beijing-intranet.log.aliyuncs.com"
        ],
        "data_server_list": [
            {
                "cluster": "cn-shanghai",
                "endpoint":"cn-shanghai-intranet.log.aliyuncs.com"
            },
            {
                "cluster": "cn-beijing",
                "endpoint":"cn-beijing-intranet.log.aliyuncs.com"
            }
        ],
        "cpu_usage_limit": 2.0,
        ...
    }
  3. 在日志服务控制台上,在Project A的Logstore A中,创建Logtail配置。

    重要

    您需要在Logtail启动参数中设置"accept_multi_config": true或在创建Logtail配置时,在扩展配置中添加{"force_multiconfig": true},使得文件中的日志可被采集多份。具体操作,请参见如何实现文件中的日志被采集多份。

  4. 通过Terraform或者API备份Project A中的Logtail配置,并改写为Project B的Logtail配置,以便异常时应用。

  5. 创建数据加工任务实时同步Logstore数据。具体操作,请参见复制Logstore数据、跨地域传输数据。

  6. 当Logstore A发生异常时,将步骤4中备份的Logtail配置导入到Logstore B中。

相关文章

采集-通过WebTracking采集日志 2025-04-22 11:00

本文档为您介绍如何通过WebTracking采集日志数据到日志服务中,并对采集到的日志数据进行查询和分析。 背景信息 当发送重要邮件时为了确认对方已

采集-搭建移动端日志直传服务 2025-04-22 11:00

在移动互联时代,直接通过手机应用上传数据变得越来越普遍。针对日志场景,您也可以将移动端应用的日志直接上传到日志服务。本文介绍如何搭建移动端应用日志的直传服务。 背景信息

采集-搭建浏览器端日志直传服务 2025-04-22 11:00

为了深入洞察用户行为,企业通常会从Web应用中收集浏览器日志,分析用户的设备信息、浏览历史和应用内互动等关键数据,进而改善产品功能并优化用户体验。通过启用阿里云日志服务(SLS)的WebTracking功能,企业能自动将终端用户的浏览器日志收集到SLS,既提高了数据处理效率,又减轻了业务服务器的负担

采集-搭建小程序端日志直传服务 2025-04-22 11:00

为了深入洞察用户行为,企业通常会从小程序中收集小程序日志,分析用户的设备信息、浏览历史等关键数据,进而改善产品功能并优化用户体验。通过启用阿里云日志服务(SLS)的Web Tracking功能,企业能自动将终端用户的小程序日志收集到SLS,既提高了数据处理效率,又减轻了业务服务器的负担。尽管便捷,但

采集-IoT嵌入式日志 2025-04-22 11:00

IoT(Internet of Things)正在高速增长,越来越多设备开始逐步走进日常生活,例如智能路由器、各种电视棒、天猫精灵、扫地机器人等,让我们体验到智能领域的便利。传统软件领域的嵌入式开发模式在IoT设备领域的应用遇到了很多挑战,IoT设备数目多、分布广,难以调试且硬件受限,传统的设备日志

采集公网数据 2025-04-22 10:59

对于一些应用场景,如移动端、HTML网页、PC、服务器、硬件设备、摄像头等,需要实时收集公网数据并进行实时处理。在传统架构中,一般通过前端服务器+Kafka来实现如上功能。现在日志服务LogHub功能可以代替这类架构,并提供稳定、低成本、弹性、安全的解决方案。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号