0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_81200783 来源:jf_81200783 作者:jf_81200783 2024-12-18 09:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

【摘要】为确保各类应用程序能够在鸿蒙操作系统上实现无缝对接并高效利用 LTS,LTS SDK 进行了 HarmonyOS 原生适配,可以提升鸿蒙生态下应用的稳定性和可靠性。

鸿蒙背景介绍

华为鸿蒙 HarmonyOS 系统是面向万物互联的全场景分布式操作系统,支持手机、平板、智能穿戴、智慧屏等多种终端设备运行,提供应用开发、设备开发的一站式服务的平台。2024年1月18日正式推出HarmonyOS NEXT鸿蒙星河开发者预览,也被称为“纯血”鸿蒙。为了确保这种复杂系统的稳定性和高效运行,日志采集成为了开发和维护过程中的关键环节。

华为云云日志服务介绍

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

wKgZPGdhgJSAHZINAAKE7vBULlk532.png

华为云云云日志业务全景图

为确保各类应用程序能够在鸿蒙操作系统上实现无缝对接并高效利用 LTS,LTS SDK 进行了 HarmonyOS原生适配,可以提升鸿蒙生态下应用的稳定性和可靠性。

LTS Harmony SDK 介绍

LTS Harmony SDK 基于华为终端日志底座进行扩展,底层适配鸿蒙 NDK,核心部分使用 ArkTS 语言编写,对性能进行了大量优化(包括缓存上报、文件存储、上报策略等),能够适用于移动端、服务端等各种场景,LTS Harmony SDK提供 ArkTS语言原生调用 API,已通过 OpenHarmony 三方库中心托管发布,当前支持 HarmonyOS NEXT API 12及以上,仅支持 Stage 模式。

SDK 使用最佳实践

使用前提

使用云日志前,您需要注册华为账号,并开通云日志服务。

确认云日志服务的区域,请用户根据所在的区域,选择 region。

获取华为账号 AK/SK。

获取华为云账号的项目 ID(project ID),步骤参考:请参见“我的凭证>API 凭证”。

获取需要上报到 LTS 的日志组 ID 和日志流 ID。

集成接入 SDK

鸿蒙仓库集成

在终端中运行安装命令。

ohpm install lts_harmony_sdk

在 app/oh-package.json5 中添加依赖。

dependencies { ... "lts_harmony_sdk": "0.0.1" ...}在终端中运行以下命令安装 SDKohpm install

手动集成

下载[日志 SDK 包]。

下载后解压到指定目录。注:直接解压即可,不需要额外操作。

将解压后的 har 静态库文件添加到您的项目工程中。

在 app/oh-package.json5 中添加依赖。

dependencies { ... "lts_harmony_sdk": "file:../plugin/LTS_SDK/default/lts_harmony_sdk.har" // HAR 包存放地址 ...}

在终端中运行以下命令使能 SDK。

ohpm install

注意事项:SDK 包使用语言为 ArkTS,只能在 ArkTS 文件中引入。仅支持 SDK11 以上版本。

引入依赖模块

import { LTSSDK, ConfigParam } from 'lts_harmony_sdk';

初始化

初始化代码示例:

// ArkTS 代码示例// LTS 参数配置 const config:ConfigParam = { //必填参数 region: string, //上报 region projectId: string, //华为云项目 ID groupId: string, // LTS 日志组 ID streamId: string, // LTS 日志流 ID //选填参数 url: string, //上报地址 cacheThreshold: number, //上报条数阈值 timeInterval: number, //上报时间阈值 isReportBackground: boolean //是否开启后台上报};//获取 ApplicationContextlet applicationContext = this.context.getApplicationContext();// LTS 初始化方法 const ltssdk = new LTSSDK( applicationContext , config)

配置参数说明

日志上报

Report(content, labels)

说明:采集日志,缓存到本地,当缓存条数达到阈值时,自动上报。content 参数:日志内容,支持 Map 和 Map 数组;键值对最多 500 个;content 转 JSON 字符串最大支持长度为 1024*30,超出则被截断丢弃。

labels 参数:日志标签,非必填,value 支持 String、Number 类型;key 最大长度为 64,支持字母、数字和下划线组合,首字符须是字母;如果 value 是 String 类型,最大长度为 256。键值对最多 50 个。

代码示例:

const ltssdk = new LTSSDK(applicationContext, config)let fruit = { "fruit_1": "apple", "fruit_2": "pear", "fruit_3": "banana"};let food = { "food_1": "rice" };let labels = { "date": "2023-10-01"};let contents = [food, fruit];ltssdk.report(food); //缓存上报单条不带标签 ltssdk.report(food, labels); //缓存上报单条带标签 ltssdk.report(contents); //缓存上报多条不带标签 ltssdk.report(contents, labels); //缓存上报多条带标签

ReportImmediately(content, labels)

说明:采集日志,立即上报。content 参数:日志内容,支持 Map 和 Map 数组;键值对最多 500 个;Content 转 JSON 字符串最大支持长度为 1024*30,超出则被截断丢弃。

labels 参数:日志标签,非必填,value 支持 String、Number、Map;key 最大长度为 64,支持字母、数字和下划线组合,首字符须是字母;如果 value 是 String 类型,最大长度为 256。键值对最多 50 个。

代码示例:

const ltssdk = new LTSSDK(applicationContext , config)let fruit = { "fruit_1": "apple", "fruit_2": "pear", "fruit_3": "banana"};let food = { "food_1": "rice" };let labels = { "date":"2023-10-01"};let contents = [food, fruit];ltssdk.reportImmediately(food); //立即上报单条不带标签 ltssdk.reportImmediately(food, labels); //立即上报单条带标签 ltssdk.reportImmediately(contents); //立即上报多条不带标签 ltssdk.reportImmediately(contents, labels); //立即上报多条带标签

日志使用场景

应用场景 1:应用运维

企业在日常业务运维、审计或等保时,需要收集各种类型的日志,常遇到如下痛点:

企业部门多且日志繁杂,日志量大。

云服务资源种类数量多,不熟悉监控指标和运维日志,运维难度大。

安全合规要求高,等保合规要求日志长期存储,人力不足,维护成本高。

基于云日志服务 LTS 可以实现:

提供全场景日志接入,全面覆盖业务、应用、中间件和基础设施,实现快速收集日志。

支持秒级日志查询和分钟级日志监控,通过配置告警规则和告警通知,实现分钟级问题定位和分析。

支持将日志转储至 OBS 实现长期保存,满足网络安全要求。

LTS 提供解决方案参考如下图1,可以实现统一收集生产环境应用日志,开发人员检索分析日志,运维人员基于日志配置告警,实时感知现网业务,及时发现并解决故障问题。

wKgZO2dhgJWAQlaKAAK7HCQTt3E132.png

图 1 应用运维解决方案

应用场景 2:安全合规

大型企业的每个业务部门都有独立的云账户实现资源隔离,每个业务部门的运维人员需要依赖日志监控告警实现故障定位分析,同时集团安全部门需要统一监控日志,因此多账号的统一日志管理成为企业痛点:

分业务独立运维:客户每个业务模块都有一个独立的账号做资源隔离,依赖日志服务配置监控告警,快速分析发现故障并定位根因。

安全部门统一监控日志:客户使用多账号管理体系,每个业务部门有一个独立的账号,安全部门需要汇聚所有日志到一个账号,并存储 180 天以上来满足法规要求。

基于云日志服务 LTS 可以实现:

多账号独立管理:每个账号独立采集各自业务的应用日志、云服务日志,资源互相隔离、权限划分清晰;借助日志告警配置,90%问题定位控制在 10 分钟。

日志数据跨账号集中汇聚:使用 LTS 的多账号日志汇聚功能,将各个子账号的日志复制一份到统一监控账号,长期存储 180 天,便于安全部门集中审计,满足网络安全法规要求。

LTS 提供解决方案参考如下图2,可以实现统一收集云服务、应用程序日志,支持保存 180 天以上,满足《网络安全法》、《GDPR》等法律法规要求。

wKgZPGdhgJWADIJkAAGoGugukcg558.png

图 2 安全合规解决方案

应用场景 3:运营分析

企业在日常经营中,可以上报各种业务日志(例如移动端日志、服务端日志),经过规整、过滤、脱敏、富化等加工处理后,可以融合大数据平台、BI 工具进行业务分析,例如获取页面的 PV、UV、用户停留时间、交易金额等,用于了解业务运营状况、分析用户行为特征,基于实时的数据分析反馈调整业务决策,提升用户体验,提升经营效率,实现企业的数字化转型。

在业务分析过程中经常遇到如下痛点:

移动端数据难采集:难以快速采集多种移动端设备,例如 Web 浏览器、iOS、安卓、鸿蒙、百度小程序、微信小程序、钉钉小程序、快应用等多类端侧日志无法快速采集。

数据传输不可靠:移动端日志数据量多且频繁,传输速度慢,也极易出现丢失,对业务分析造成一定影响。

数据处理不方便:原始数据不方便处理,不方便快速与大数据平台实现对接。

云日志服务 LTS 支持采集多种移动端日志,融合大数据完成业务运营分析,基于 LTS 可以实现:

端侧日志全面采集接入:集成 LTS 提供的多种移动端 SDK,实现了缓存发送、异常重试、批量发送等稳定功能,用户快速集成即可全面采集移动端日志到 LTS。

秒级上报,高可靠:端侧采集日志后,经传输链路秒级完成上报,数据无丢失,支撑业务做完整性分析。

DLI 和 DWS 快速对接 LTS:DLI-Flink 简易集成 Connector,定点从 LTS 实时消费日志;LTS 日志可快速配置转储到 OBS,供 DLI 快速从 OBS 读取日志;LTS 支持直接将结构化日志转储到 DWS。

LTS 提供解决方案参考如下图3,可以对日志结构化解析,基于 SQL 语法分析日志,生成可视化图表,并结合大数据平台帮助企业进一步挖掘数据价值,助力企业数字化转型。

wKgZO2dhgJaAcTWUAAEy4st8gos982.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为云
    +关注

    关注

    3

    文章

    2805

    浏览量

    19092
  • HarmonyOS
    +关注

    关注

    80

    文章

    2146

    浏览量

    35582
  • 鸿蒙操作系统

    关注

    0

    文章

    47

    浏览量

    3294
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Jtti海外VPS微服务架构下的日志采集与分析优化方案

    随着跨境业务和分布式应用的普及,越来越多的企业在海外VPS上构建微服务架构,以提升系统扩展性和灵活性。然而,微服务化带来了一个新的挑战:日志数据分散在多个服务和节点中,若缺乏统一
    的头像 发表于 08-27 17:13 423次阅读

    第三届大会回顾第6期 | HarmonyOS NEXT原生智能,助力应用低成本生而智能

    原生智能是HarmonyOS NEXT的核心能力之一,通过将人工智能(AI)技术与操作系统深度融合,实现了从底层到应用层的全面智能化。HarmonyOS NEXT的原生智能是如何实现的
    的头像 发表于 07-14 18:04 887次阅读
    第三届大会回顾第6期 | <b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b>原生智能,助力应用低成本生而智能

    HarmonyOS 5】金融应用开发鸿蒙组件实践

    HarmonyOS 5】金融应用开发鸿蒙组件实践 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、鸿蒙生态观察 2024 年 1 月 1
    的头像 发表于 07-11 18:20 752次阅读
    【<b class='flag-5'>HarmonyOS</b> 5】金融应用开发鸿蒙组件<b class='flag-5'>实践</b>

    中软国际荣获华为云云商店“海外场景化商品组合奖”

    近日,华为开发者大会(HDC 2025)大会期间,中软国际云速云盘凭借优秀的产品实力与海外市场表现,成功斩获华为云云商店“海外场景化商品组合奖”。这是继2024年荣膺“华为云商店
    的头像 发表于 07-02 14:01 966次阅读

    HarmonyOS Next】ArkUI-X休闲益智接水果【进阶】

    ,下:iOS) 六、最佳实践总结 1. 图片格式选择矩阵 格式 iOS支持 HarmonyOS支持 适用场景 WebP ✅最佳 ✅ 通用水果图片 AVIF ❌ ✅
    发表于 06-28 22:14

    HarmonyOS next】ArkUI-X休闲益智记忆翻牌【进阶】

    34% 触摸响应延迟 92ms 75ms 18% 渲染一致性 65% 98% 33% 跨平台图片渲染效果对比(上:华为,下:iPhone) 六、总结与最佳实践 图片格式选择: 优先使用SVG
    发表于 06-28 22:12

    HarmonyOS next】ArkUI-X休闲益智打地鼠【进阶】

    平台开发不是追求100%一致,而是在理解差异的基础上实现最佳体验平衡。ArkUI-X的Web组件方案为多端适配提供了新思路,期待未来在HarmonyOS next中看到更强大的跨端能力。
    发表于 06-28 22:10

    HarmonyOS5云服务技术分享--应用预加载提速指南

    \"秒开\"体验。 二、准备阶段须知 环境要求: 已开通华为AGC预加载服务 安装DevEco Studio NEXT Developer Beta1+版本 调试证书和Profile文件
    发表于 05-22 20:39

    HarmonyOS5云服务技术分享--云函数预加载文章整理

    无缝对接HarmonyOS应用,实现预加载等高级功能。如果你在实践过程中遇到问题,欢迎在评论区留言,或到华为开发者社区提问(记得带上 #云函数 标签哦~)。 ​​最后,感谢你的耐心阅读!​​ ? 如果觉得有帮助,不妨点个赞或分享
    发表于 05-22 20:33

    HarmonyOS5云服务技术分享--认证文档问题

    各位开发者朋友好!本文将详细讲解如何基于HarmonyOS ArkTS框架集成华为AppGallery Connect(AGC)认证服务,涵盖从项目创建到SDK集成全流程。无论您是首次接入AGC
    发表于 05-22 13:20

    HarmonyOS NEXT】多目标产物构建实践

    ;: \"HarmonyOS\", \"material\": { \"storePassword\": \"xxxxxxxxxx\"
    发表于 05-16 16:22

    HarmonyOS Next V2 @Event

    HarmonyOS Next V2 @Event 背景 在上一节中,我们针对父子组件,讲了关于传递数据的知识。我们了解到 @Local 是管理自己内部的数据的, @Param 是负责接收父组件的数据
    的头像 发表于 03-31 09:42 614次阅读

    HarmonyOS NEXT 原生应用/元服务调试概述

    一、概述 DevEco Studio提供了丰富的HarmonyOS应用/元服务调试能力,支持JS、ArkTS、C/C单语言调试和ArkTS/JS+C/C跨语言调试能力,并且支持三方库源码调试,帮助
    发表于 02-26 11:03

    华为MatePad 11.5S平板迎来HarmonyOS NEXT 5.0.0.103升级

    华为MatePad 11.5S平板迎来了鸿蒙HarmonyOS NEXT 5.0.0.103版本的升级,此次升级面向Beta版用户,系统包大小约5.19GB。 此次升级亮点颇多。在界面设计上,引入
    的头像 发表于 01-23 15:29 7743次阅读

    名单公布!【书籍评测活动NO.56】极速探索HarmonyOS NEXT:纯血鸿蒙应用开发实践

    新特性在实际项目中的应用,例如新的性能优化机制、HarmonyOS SDK开放能力集的开发集成等内容。 此外,本书还提供了开发过程中的故障排查技巧和最佳实践经验。无论是初学者还是有一定经验的开发者,都能
    发表于 01-20 16:53