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

    文章

    2714

    浏览量

    17742
  • HarmonyOS
    +关注

    关注

    79

    文章

    1987

    浏览量

    31020
  • 鸿蒙操作系统

    关注

    0

    文章

    44

    浏览量

    2995
收藏 人收藏

    评论

    相关推荐

    脱离安卓,完全自研,纯血鸿蒙HarmonyOS NEXT开始打造自主生态圈

    电子发烧友网报道(文/黄山明)6月21日,华为开发者大会上,期待已久的HarmonyOS NEXT(纯血版鸿蒙)新版本正式发布。早在4月份,华为轮值董事长徐直军便公开表示,打造鸿蒙原生
    的头像 发表于 06-22 00:05 4794次阅读
    脱离安卓,完全自研,纯血鸿蒙<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b>开始打造自主生态圈

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

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

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

    HarmonyOS会结合底层采集的时间、空间、设备状态等数据共同理解用户行为上下文。最后HarmonyOS结合应用/元服务历史上共享过的数据重建响应意图任务并进行预测推荐,例如在用户
    发表于 11-19 17:59

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试

    意图框架向开发者提供真机测试能力,即开发者可连接设备进行调测。开发者完成代码开发之后,功能正式上架应用市场前,可以在HarmonyOS NEXT设备上面进行自验证,打磨体验。真机测试分为三个步骤
    发表于 11-18 17:39

    HarmonyOS Next MQTT演示

    HarmonyOS Next MQTT演示
    发表于 11-07 16:54

    华为大气啊!HarmonyOS NEXT公测发福利~这个可以有

    HarmonyOS NEXT火热公测中,首批100万名公测用户速来领取多重权益!这波福利不错
    的头像 发表于 11-06 10:26 467次阅读
    <b class='flag-5'>华为</b>大气啊!<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b>公测发福利~这个可以有

    名单公布!【书籍评测活动NO.47】HarmonyOS NEXT启程:零基础构建纯血鸿蒙应用

    ! 2024年10月8日,华为官方正式宣布,其最新的操作系统HarmonyOS NEXT正式开启公测。 此次公测的首批机型包括华为Mate 60系列、
    发表于 10-14 14:36

    华为HarmonyOS NEXT 10月8日开启公测

    华为宣布,万众瞩目的HarmonyOS NEXT操作系统将于10月8日正式开启公测,标志着这一创新力作即将与广大用户见面。HarmonyOS NEX
    的头像 发表于 09-24 15:41 1042次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b> 10月8日开启公测

    华为“纯血”鸿蒙系统 HarmonyOS NEXT 将于9月底推出正式版

    据报道,正在举行的 2024 年中国国际服务贸易交易会(以下简称“服贸会”)一场论坛上,华为鸿蒙行业解决方案总经理陈欣欣透露,华为完全自主开发、原生安全、原生智能的华为“纯血”鸿蒙系统
    的头像 发表于 09-14 14:27 1672次阅读

    华为HarmonyOS NEXT鸿蒙星河版正式开启Beta计划

    在刚刚落幕的华为开发者大会(HDC 2024)盛会上,华为震撼宣布HarmonyOS NEXT鸿蒙星河版正式迈入Beta测试阶段,并预告其商用版本将于今年第四季度璀璨登场,预示着今年1
    的头像 发表于 07-15 15:59 1143次阅读

    HarmonyOS NEXT Developer Beta1中的Kit

    HarmonyOS NEXT Developer Preview1(API 11)版本开始,HarmonyOS SDK以Kit维度提供丰富、完备的开放能力,涵盖应用框架、系统、媒体、图形、应用
    发表于 06-26 10:47

    软通动力出席华为开发者大会2024

    6月22日,华为开发者大会2024进入第二天日程。软通动力举办“云云协同,以新质动力驱动智能化跃进”分论坛,邀请华为、合作伙伴、技术专家、学者以及企业代表,聚焦HarmonyOS
    的头像 发表于 06-24 09:34 770次阅读

    HDC 2024上,HarmonyOS NEXT有哪些精彩亮点值得期待?

    6月21日至6月23日,备受瞩目的HDC2024华为开发者大会将在松山湖盛大举办。近日,官方对外发出了亮点日程海报,围绕HarmonyOS NEXT,大会都将带来哪些精彩内容呢?让我们一探
    的头像 发表于 06-19 17:02 651次阅读
    HDC 2024上,<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b>有哪些精彩亮点值得期待?

    “中软国际移动应用鸿蒙化专家服务”联营商品正式上架华为云云商店

    近日,中软国际联合华为云推出的“中软国际移动应用鸿蒙化专家服务”正式上线华为云云商店,成为华为云联营商品。
    的头像 发表于 05-20 11:21 691次阅读
    “中软国际移动应用鸿蒙化专家<b class='flag-5'>服务</b>”联营商品正式上架<b class='flag-5'>华为</b><b class='flag-5'>云云</b>商店

    华为HarmonyOS Next支持企业应用安装,无须App Store审核

    华为宣布推出HarmonyOS开发者指南,明确表示开发人员可以利用专用的内部发行证书和Profile编译打包其应用,然后将应用包及其描述文件上传至服务器或第三方云端,供用户直接下载安装。
    的头像 发表于 05-18 11:44 1886次阅读