日志服务 HarmonyOS NEXT 日志采集最佳实践

💡 原文中文,约7900字,阅读约需19分钟。
📝

内容提要

华为推出鸿蒙操作系统,适配阿里云日志服务(SLS)SDK,提供日志管理和应用优化功能。

🔎

延伸解读

SDK 适配的技术基础

SLS SDK 基于 C Core SDK 适配鸿蒙 NDK,C Core 部分用纯 C 语言编写,针对缓存管理、文件管理、PB 序列化等做了性能优化,能覆盖 IoT、移动端、服务端等场景。SDK 提供 ArkTS 原生调用 API,通过 OpenHarmony 三方库中心发布,当前支持 HarmonyOS NEXT API 9.0 及以上,且仅支持 stage 模式。这意味着开发者需确认应用模型和 API 版本是否匹配。

日志采集的可靠性设计

SDK 支持异步写入、日志聚合压缩上传、多实例、缓存控制、自定义标识、断点续传和日志上下文查看。其中断点续传将日志缓存到本地文件,只有发送成功才会删除,确保上传 At Least Once;缓存可设置内存上限,超过上限时日志写入会失败。这些特性有助于在移动端网络不稳定时减少日志丢失,但需注意缓存上限配置对写入成功率的影响。

从采集到分析的链路

日志采集后,需在 SLS 控制台为 Logstore 开启索引才能查询和分析。若日志在开启索引前写入,需重建索引才能看到历史数据。文章示例通过 SQL 语句分析页面访问趋势和来源分布,并借助线图、饼图等可视化图表展示。此外,数据加工能力可对原始日志进行清洗、富化和脱敏,例如解析客户端 IP 的地理信息。

权限与安全注意事项

使用 SDK 前需开通日志服务、创建 Project 和 Logstore,并获取 AccessKey。文章特别提醒,阿里云账号 AccessKey 拥有所有 API 访问权限,风险很高,强烈建议创建并使用 RAM 用户进行 API 访问或日常运维,且 RAM 用户需具备操作 SLS 资源的权限。初始化 SDK 时需传入 endpoint、project、logstore 及 AccessKey 信息,若通过 STS 方式获取还需传入 token。

❓

Q&A

鸿蒙操作系统的主要特点是什么?

鸿蒙操作系统支持多种终端形态,包括手机、平板、智能家居等,旨在满足万物互联时代的需求。

什么是日志服务(SLS)?

日志服务(SLS)是云原生观测与分析平台,提供实时数据服务,包括数据采集、加工、查询与分析等功能。

如何使用SLS SDK进行日志采集?

在使用SLS SDK进行日志采集前,需开通日志服务并创建项目和日志库,然后安装SDK并进行初始化。

SLS SDK有哪些主要特性?

SLS SDK的主要特性包括异步写入、日志聚合、缓存控制、自定义标识和断点续传等。

如何在SLS控制台进行日志查询和可视化分析?

在SLS控制台中,找到对应的项目和日志库后,可以进行日志查询和可视化分析,需确保日志库已开启索引。

SLS支持哪些数据处理功能?

SLS支持数据加工处理、实时查询、可视化分析和自定义告警监控等多种数据处理功能。

🏷️

标签

➡️

继续阅读