华为云日志服务LTS完全对接指南:从零搭建生产级日志分析平台

apphuang2026年07月04日 12:03:412

1. 云日志服务LTS概述

云日志服务(Log Tank Service,简称LTS)是华为云提供的日志数据一站式管理平台。它用于收集来自主机和云服务的日志数据,通过海量日志数据的分析与处理,可以将云服务和应用程序的可用性和性能最大化,为您提供实时、高效、安全的日志处理能力,帮助您快速高效地进行实时决策分析、设备运维管理、用户业务趋势分析等。

LTS的核心能力涵盖日志采集、存储、搜索分析、可视化、告警和转储等全链路功能。具体来说,LTS支持40多种华为云服务一键接入,如ELB、VPC、APIG、CTS、WAF等;提供百亿级日志秒级搜索能力,支持千亿条日志的迭代搜索;支持正则、JSON、分隔符、Nginx和结构化模板五种日志结构化方式;内置标准SQL查询语法,支持100多种SQL函数;提供多种可视化图表和开箱即用的仪表盘模板;支持关键词或SQL语句实时告警,可通过短信、邮件、钉钉、企业微信、HTTP等多种渠道通知;支持将日志转储至对象存储服务OBS、数据接入服务DIS或分布式消息服务DMS中长期保存。

LTS采用按需计费模式,计费项包括日志读写流量、日志索引流量、日志存储量(标准存储和冷存储)、日志转储流量等。新用户每月享有500MB的免费额度。LTS还提供包年/包月的资源包模式,适合对资源需求稳定且希望降低成本的用户。

需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联

2. LTS核心概念与架构

在使用LTS之前,需要理解几个核心概念:日志组、日志流、主机组和ICAgent。

2.1 日志组

日志组是LTS进行日志管理的基本单位。每个账号下最多可以创建100个日志组。日志组主要用于设置日志存储时间和对日志流进行归类管理。在实际使用中,通常按照项目、应用或环境来划分日志组,例如按开发环境、测试环境、生产环境分别创建不同的日志组。

2.2 日志流

日志流是日志读写的基本单位。每个日志组中最多可以创建100个日志流。日志流用于将不同类型的日志分类存储,方便对日志进一步分类管理。例如,可以将操作日志、访问日志、错误日志等接入不同的日志流,查询日志时可以进入对应的日志流快速查看。

2.3 ICAgent

ICAgent是LTS进行日志采集的工具,运行在需要采集日志的主机中。它是一款轻量级的日志采集代理,支持无侵入式采集主机文本日志和容器日志。ICAgent安装完成后,会将主机待采集日志的路径配置到日志流中,将多条日志进行打包,以日志流为单位发往LTS。

2.4 主机组

主机组是为了便于分类管理、提升配置多个主机日志采集的效率,对主机进行虚拟分组的单位。LTS支持通过一个接入配置来采集多台主机上的日志,您可以将这些主机加入到同一个主机组,并将该主机组关联至对应的接入配置中。当用户扩容主机时,只需在主机组中添加主机,该主机会自动继承关联的日志路径,无需为每台主机重复配置路径。

3. 日志接入方式详解

LTS提供多种日志接入方式,满足不同场景的日志采集需求。主要包括:ICAgent插件采集、云服务接入、API接入、SDK接入、数据导入、跨IAM账号接入、标准Kafka协议接入等。

3.1 ICAgent插件采集ECS主机文本日志

这是最常用的日志接入方式,适用于采集部署在ECS上的应用程序日志、系统日志等文本文件。

3.1.1 前置条件

在开始接入之前,需要完成以下准备工作:

  • 为用户添加LTS的操作权限,至少需要LTS FullAccess权限
  • 准备好需要采集日志的ECS主机
  • 已创建日志组和日志流

3.1.2 安装ICAgent

ICAgent是云日志服务的日志采集工具,运行在需要采集日志的云主机中。首次使用云日志服务采集主机的日志时,需要安装ICAgent。

安装步骤:

  1. 登录云日志服务控制台
  2. 在左侧导航栏选择"主机管理 > 主机",进入"主机"页面
  3. 单击右上角"安装ICAgent",进入安装页面
  4. 选择主机类型(区域内主机或区域外主机)和安装系统(Linux)
  5. 选择安装方式(获取AK/SK凭证),获取访问密钥AK/SK
  6. 单击"复制命令",复制ICAgent安装命令
  7. 登录ECS主机,执行复制的安装命令

安装ICAgent前,请确保本地浏览器的时间、时区与主机的时间、时区一致。

3.1.3 配置日志接入

ICAgent安装完成后,需要配置日志接入规则:

  1. 登录管理控制台,选择"管理与部署 > 云日志服务 LTS",进入"日志管理"页面
  2. 左侧导航选择"接入 > 接入中心"进入日志接入页面
  3. 选择"云主机 ECS - 文本日志",进行接入日志配置
  4. 选择日志流:单击"所属日志组"和"所属日志流"的目标框,选择或新建日志组和日志流
  5. 选择主机组:在主机组列表中选择一个或多个需要采集日志的主机组
  6. 配置采集路径:设置日志文件的采集路径,支持通配符,如/var/log/*.log
  7. 配置索引:设置字段索引,以便后续对日志进行查询和分析
  8. 单击"提交",接入配置完成

日志大约每隔5秒钟上报一次,在日志消息区域,最多需要等待5秒钟左右即可查看实时上报的日志。

3.1.4 采集配置的约束

需要注意以下采集规则:

  • 相同主机的同一个日志采集路径,如果在AOM进行了配置,则不能在LTS重复配置
  • 新文件(首次采集):若文件最后修改时间与当前时间相差超过6小时,则不采集
  • 旧文件(非首次采集):若文件最后修改时间与当前时间相差超过3分钟,则不采集

3.2 云服务一键接入

LTS支持40多种华为云服务一键接入,如ELB、WAF、APIG、CFW、CTS等。操作非常简单:

  1. 登录云日志服务控制台
  2. 在左侧导航栏中选择"日志接入 > 接入中心"
  3. 在类型下方选择"云服务"
  4. 鼠标悬浮在对应的云服务卡片上,单击"接入日志(LTS)"进入配置页面
  5. 按照界面提示完成配置即可

3.3 SDK接入

LTS提供多种语言的SDK,包括Java、Go、C++、Python、.Net、鸿蒙、Web、iOS、Android、小程序等。通过封装SDK直接进行二次开发,可以提升开发效率。

3.3.1 Python SDK示例

以下是使用Python SDK上报日志到LTS的示例代码:

# 安装LTS Python SDK
# pip install huaweicloudsdklts

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.http.http_config import HttpConfig
from huaweicloudsdklts.v2 import LtsClient, CreateLogGroupRequest, CreateLogStreamRequest

# 配置认证信息
credentials = BasicCredentials(ak='your_ak', sk='your_sk', project_id='your_project_id')

# 配置HTTP
http_config = HttpConfig.get_default_config()

# 创建客户端
client = LtsClient.new_builder() \\
    .with_credentials(credentials) \\
    .with_http_config(http_config) \\
    .with_region('cn-north-4') \\
    .build()

# 上报日志的代码逻辑
# 注意:通过SDK上报日志到LTS的时间相距当前时间不超过2天

3.3.2 Web SDK示例

对于Web前端应用,可以使用Web SDK上报日志。使用Web SDK上报日志到LTS的场景下,需要开启日志流的匿名写入功能。

// NPM方式安装SDK
// npm install lts-web-sdk

const LTS_WEB_SDK = require('lts-web-sdk').default;

// 初始化SDK
const weblog = new LTS_WEB_SDK({
    region: 'cn-north-4',      // 上报region
    projectId: 'your_project_id', // 项目ID
    url: 'https://lts.cn-north-4.myhuaweicloud.com', // 上报地址
    groupId: 'your_log_group_id', // LTS日志组ID
    streamId: 'your_log_stream_id', // LTS日志流ID
    debug: 'error',             // 调试日志等级
    cacheThreshold: 10,         // 上报条数阈值
    timeInterval: 3             // 上报时间阈值(秒)
});

// 立即上报单条带标签日志
weblog.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' });

// 立即上报单条不带标签日志
weblog.reportImmediately([{ key: 'value', number: 1 }]);

3.4 API接入

通过调用LTS提供的REST风格API将日志上报到LTS。LTS提供两个日志上报接口:

  • 上报日志接口:上报在相近时间点且按顺序产生的日志
  • 上报高精度日志接口:上报在不同时间且非顺序产生的日志

接入点IP可在LTS控制台安装ICAgent的安装命令中获取,端口为8102。

3.4.1 API调用示例

# 使用curl调用LTS上报日志接口示例
# 实际使用时需要替换为正确的接入点IP、端口和认证信息

curl -X POST \\
  http://{access_ip}:8102/v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/logs \\
  -H 'Content-Type: application/json' \\
  -H 'X-Auth-Token: {token}' \\
  -d '{
    "logs": [
        {
            "content": "{\"level\":\"INFO\",\"message\":\"Application started\"}",
            "labels": {
                "service": "order-service",
                "env": "production"
            }
        }
    ]
}'

3.5 标准Kafka协议接入

您可以通过标准Kafka协议将日志上报到云日志服务。这种方式仅依赖于Kafka协议,支持各类Kafka Producer SDK或采集工具。例如,如果您正在使用Flume、Logstash、Beats等开源采集工具,可以通过Kafka协议将日志上报到LTS。

3.6 跨IAM账号接入

通过创建委托,您可以将委托账号的日志流映射到被委托方账号的日志流下。这种方式适用于多账号统一日志管理的场景。

3.7 自建ELK日志导入LTS

如果您正在使用自建的ELK(Elasticsearch + Logstash + Kibana)日志系统,可以将其迁移到LTS。最佳实践是使用自定义Python脚本和LTS采集器ICAgent,协助将日志从Elasticsearch迁移到LTS中。具体做法是基于ECS机器安装ICAgent来采集日志文件,实现Elasticsearch日志导入云日志服务。

4. 日志查询与分析

日志接入LTS后,就可以进行查询和分析操作。

4.1 索引配置

索引是一种存储结构,用于对日志数据进行查询。通过配置索引后,可对日志进行查询和分析操作。LTS支持全文索引和字段索引两种方式。

  • 全文索引:配置全文索引后,日志服务根据您设置的分词符将整条日志拆分成多个词
  • 字段索引:配置字段索引后,可以指定字段名称和字段值进行查询

LTS默认的分词符为, ';=()[]{}@<>/:\\?\n\t\r。如果设置分词符为空,则字段值将被当成一个整体,只能通过完整日志内容或模糊搜索查找对应的日志。

4.2 日志搜索

LTS提供一套搜索语法用于设置搜索条件。查询语句用来指定日志查询时的过滤规则,返回符合条件的日志。根据查询精确程度可分为精确查询和模糊查询。

  • 精确查询:使用完整的词进行查询。例如 region:r1 表示查询region字段值精确匹配r1的日志
  • 模糊查询:在词的中间或者末尾加上星号(*)或问号(?)。星号代表匹配多个字符,问号代表匹配1个字符
  • 短语查询:使用 #"abc def" 可以保证关键词出现的顺序

4.3 日志结构化

日志结构化是将原始日志按照指定规则拆分成键值对的过程。结构化后的日志可以使用SQL语法进行查询与分析。

LTS目前支持五种日志结构化方式:

  • 正则分析:使用正则表达式提取字段,适用于每行内容为一条原始日志的场景
  • JSON:适用于日志格式为JSON的场景
  • 分隔符:适用于使用特定分隔符(如空格、逗号等)分隔字段的日志
  • Nginx:专门针对Nginx访问日志的结构化解析
  • 结构化模板:使用预定义模板进行结构化

配置结构化的步骤:

  1. 在"日志搜索"页面,单击右上角的日志设置
  2. 在弹出的页面中选择"云端结构化解析"
  3. 选择日志提取方法(正则、JSON、分隔符、Nginx或结构化模板)
  4. 输入日志样例,配置提取规则
  5. 保存配置

4.4 SQL查询分析

对原始日志结构化后,等待1-2分钟左右即可对结构化后的日志进行SQL查询与分析。LTS SQL提供了查询日志流中结构化数据的语句。

4.4.1 SQL基本语法

SQL基本查询语句格式:

SELECT [ ALL | DISTINCT ] { * | exprs }
FROM { <subquery> }
[ WHERE where_condition ]
[ GROUP BY [ col_name_list ] [ HAVING expr ] ]
[ ORDER BY expr [ ASC | DESC ], expr [ ASC | DESC ], ... ]
[ LIMIT limit ]
[ OFFSET offset ]

SQL语法中,字符必须被单引号('')包裹,无符号或双引号("")包裹的为字段或表名称。

4.4.2 SQL查询示例

-- 标准查询
SELECT "field" WHERE "field" = 'value'

-- 统计行数
SELECT count(*)

-- 列的别名
SELECT count(*) AS "pv"

-- 去重查询
SELECT DISTINCT("field")

-- 分组统计
SELECT host, count(*) AS pv WHERE visitCount > 0 GROUP BY host

-- 分组后过滤
SELECT host, count(*) AS pv GROUP BY host HAVING pv > 10

-- 排序查询
SELECT host, count(*) AS pv GROUP BY host ORDER BY pv DESC

-- 分页查询
SELECT "field" LIMIT 100

-- 时间范围查询
SELECT * WHERE __time > '2026-07-01 00:00:00' AND __time < '2026-07-02 00:00:00'

一次查询最多返回100000条结构化日志。如果不使用LIMIT语句,默认返回查询结果中最新的100条数据。

4.4.3 管道符搜索分析

LTS支持搜索和SQL分析联动,由搜索语句和SQL分析语句组成,两者通过管道符 | 联动。例如统计日志中包含error关键词的日志有多少条:

error | select count(*) as error_count

4.5 可视化仪表盘

仪表盘是一种数据可视化工具,它汇总并呈现关键性能指标、重要数据和分析结果。LTS提供多种仪表盘模板,用户可以直接使用LTS提供的仪表盘模板展示日志数据,或者将查询分析结果的统计图表同步保存到仪表盘中进行展示。

创建仪表盘的步骤:

  1. 在LTS控制台左侧导航栏中选择"仪表盘"
  2. 单击"添加仪表盘",配置相关参数
  3. 在"添加图表"区域中,单击"开始添加图表"
  4. 选择目标日志流,勾选需要展示的图表
  5. 调整图表布局,保存设计

LTS提供40多种开箱即用的仪表盘模板。其他云服务日志只要接入LTS即可直接使用仪表盘模板。

5. 日志告警配置

LTS支持对日志数据进行监控,通过配置告警规则,定时查询日志数据。当设置的匹配条数或条件表达式满足时,将告警进行上报。目前每个账号最多可以创建200个关键词告警。

5.1 告警类型

LTS支持以下统计类型的告警规则:

  • 关键词统计告警:通过统计日志中关键词出现的次数来触发告警
  • SQL统计告警:使用SQL语句查询结构化日志,根据查询结果触发告警
  • 搜索分析告警:使用管道符(搜索|分析)方式配置告警

5.2 创建关键词告警规则

配置关键词告警的步骤:

  1. 登录云日志服务控制台
  2. 左侧导航选择"日志告警"
  3. 单击"告警规则"标签页
  4. 单击"创建",在界面右侧弹出"新建告警规则"页面
  5. 填写基本信息,选择日志组和日志流
  6. 在"关键词"输入框中输入要监控的关键词,支持精确匹配和模糊匹配
  7. 设置统计周期和触发条件
  8. 配置告警通知方式(短信、邮件、钉钉、企业微信、HTTP等)
  9. 单击"确定",完成创建

6. 日志转储

日志转储基于复制的转储机制,将需要长期存储的日志数据转储至对象存储服务OBS、数据接入服务DIS或分布式消息服务DMS中长期保存。

6.1 转储至OBS

配置日志转储至OBS的步骤:

  1. 登录云日志服务控制台
  2. 左侧导航选择"日志转储"
  3. 在"日志转储"页面右上角,单击"配置转储"
  4. 在"配置转储"页面,设置转储日志相关参数
  5. 选择需要转储的日志组和日志流
  6. 选择目标OBS桶和路径
  7. 设置转储周期(实时转储或周期性转储)
  8. 单击"确定",完成配置
  9. 如果需要周期性转储日志,推荐使用LTS的日志转储功能将当前日志实时转储到OBS桶中长期保存。

    7. 成本优化与计费管理

    7.1 计费项说明

    LTS的计费项包含以下部分:

    • 日志读写流量:日志写入LTS和从LTS读取的流量费用
    • 日志索引流量:为日志建立索引的流量费用
    • 日志存储量:包括标准存储和冷存储的费用
    • 日志转储流量:包括日志基础转储流量和日志高级转储流量

    LTS按需计费模式按小时计费,每小时整点结算一次费用(以UTC+8时间为准)。当云日志服务不再上报日志时,流量费用停止计费;存储的日志全部老化后,日志存储量的费用才会停止计费。

    7.2 成本优化建议

    • 利用免费额度:新用户每月享有500MB的免费额度
    • 冷热分层存储:热存储用于高性能查询,冷存储用于低成本长期保存
    • 合理设置存储周期:根据业务需求设置合理的日志存储时间,及时老化过期日志
    • 使用资源包:对于日志量稳定的场景,购买包年/包月资源包可以降低成本
    • 优化索引策略:只对需要查询的字段建立索引,减少索引流量费用

    8. 最佳实践与常见问题

    8.1 最佳实践建议

    8.1.1 日志采集规划

    • 按应用或服务划分日志组和日志流,便于管理和查询
    • 使用主机组管理多台ECS的日志采集,提高运维效率
    • 合理配置采集路径,避免采集不必要的日志文件

    8.1.2 安全与权限

    • 使用RAM子账号进行最小权限授权,避免主账号密钥泄露
    • 开启日志流的匿名写入功能时注意安全风险
    • 参考LTS安全配置建议,持续评估LTS的安全状态

    8.1.3 性能优化

    • 利用同区域ECS内网访问LTS,免流量费用
    • 合理设置日志上报的条数阈值和时间阈值,平衡实时性和网络开销
    • 使用批量上报方式减少API调用次数

    8.2 常见问题排查

    8.2.1 日志无法上报

    如果主机接入LTS后无法采集到日志,请按如下方法进行排查:

    • 刚完成接入配置则需要等待1-5分钟,日志才会开始上报
    • 检查ICAgent是否已安装
    • 检查采集路径配置是否正确
    • 检查LTS控制台上的"配置中心 > ICAgent采集开关"是否开启
    • 排查相同主机的同一个日志采集路径是否已在AOM进行了配置

    8.2.2 权限不足

    配置LTS日志时如果提示权限不足,需要添加LTS FullAccess权限。主账号可以为子账号授予LTS FullAccess权限。

    8.2.3 日志查询不到

    • 检查时间范围是否正确
    • 检查索引配置是否正确
    • 检查查询语句是否符合语法规范
    • 确认日志是否已成功上报到LTS

    9. 总结

    华为云云日志服务LTS提供了从日志采集、存储、检索、分析到告警、转储的全链路日志管理能力。通过ICAgent插件、云服务接入、SDK接入、API接入等多种方式,可以灵活地将各类日志数据接入LTS。结合结构化解析和SQL查询分析功能,可以实现对海量日志的高效检索和深度分析。配合仪表盘可视化和告警功能,能够实时监控系统运行状态。

    在实际使用中,建议根据业务场景合理规划日志组和日志流的结构,选择合适的接入方式,配置必要的索引和告警规则,同时关注成本优化和安全管理。通过本文的详细介绍,相信读者已经掌握了华为云LTS的对接使用方法,可以快速构建生产级的日志分析平台。

    问答环节

    问1:LTS和传统的ELK日志系统有什么区别?

    答:LTS是华为云提供的全托管日志服务,无需关心底层资源的扩缩容和运维。而ELK需要自行搭建和维护Elasticsearch集群、Logstash和Kibana,运维成本较高。LTS提供40多种云服务的一键接入,而ELK需要自行配置各类数据源。LTS支持冷热分层存储,可以平衡查询性能和存储成本。

    问2:如何将自建ELK的日志迁移到LTS?

    答:华为云提供了最佳实践方案。使用自定义Python脚本和LTS采集器ICAgent,将日志从Elasticsearch迁移到LTS中。具体做法是在ECS上安装ICAgent,配置采集路径指向Elasticsearch的日志导出目录,即可实现日志迁移。

    问3:LTS的日志存储时间是多久?可以永久保存吗?

    答:日志存储时间由日志组的配置决定,可以在创建日志组时设置。如果需要永久保存,可以将日志转储至对象存储服务OBS。转储后的日志不会在LTS中被删除,可以长期保存。

    问4:LTS如何收费?有免费额度吗?

    答:LTS按需计费,计费项包括日志读写流量、日志索引流量、日志存储量、日志转储流量。新用户每月享有500MB的免费额度。按需计费按小时结算。对于日志量稳定的用户,可以购买包年/包月资源包以降低成本。

    问5:LTS支持哪些编程语言的SDK?

    答:LTS提供Java、Go、C++、Python、.Net、鸿蒙、Web、iOS、Android、小程序等多种语言的SDK。各语言SDK功能对齐,降低多端适配成本。用户可以根据自己的技术栈选择合适的SDK进行二次开发。

    问6:LTS的日志查询性能如何?

    答:LTS支持百亿级日志的秒级搜索。通过合理的索引配置和结构化解析,可以实现对海量日志的高效检索。一次查询最多返回100000条结构化日志。如果不使用LIMIT语句,默认返回查询结果中最新的100条数据。

相关文章

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

最近不少做 IT 运维或企业采购的朋友跟我吐槽,公司要上华为云服务器,去官网一看报价直接犯了难 —— 按年付费算下来,比预期预算高出不少。要是赶上业务扩张需要多台服务器,这笔开支更是让财务部门直皱眉。…

华为云代理商有哪些?华为云代理返点是真的么?

华为云代理商有哪些?华为云代理返点是真的么?

一,华为云代理商简介华为云代理商,顾名思义就是替华为云做华为云服务器数据库等公有云产品推广的代理商,每推广出一单华为云服务器,华为云会跟这个代理商结算佣金,佣金比例分为月度佣金,季度佣金和年度佣金,华…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

一、华为云代理商的核心价值定位1. 代理商的角色与职责华为云代理商作为华为云生态的核心合作伙伴,承担着三重核心职能:•产品推广销售:负责推广销售华为云全系列云产品,包括云服务器ECS、云数据…

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

核心摘要本文深度解析华为云代理商行业现状,揭示小代理商生存困境的核心原因(业绩压力大、垫资周期长、资金链脆弱),重点推荐上海汪远信息科技有限公司——一家拥有10年华为云代理经验、年销量超1.5亿的全国…

数据的“深喉”与隐形金矿:华为云对象存储返点背后的降维真相

数据的“深喉”与隐形金矿:华为云对象存储返点背后的降维真相

你,真的以为企业的数据躺在云端就万事大吉了?在这个被字节、像素和信息流淹没的数字深海中,每一张图片、每一帧视频、每一份交易日志,都在夜以继日地发出无声的“求救信号”。它们一方面渴望着最安全、最坚不可摧…

华为云促销活动深度解析|避开这3大陷阱立省30%

华为云促销活动深度解析|避开这3大陷阱立省30%

## 摘要华为云服务商的促销活动,本质上是一场精心设计的“价格迷局”。以618、双11为首的大型促销节点,确实是企业购买云服务器的黄金窗口期,最高可省下50%的成本。但很多人被表面的“1折起”、“亿元…