云服务器内容精选

  • 示例代码 const miniSDK = require('lts-mini-sdk').default; // import miniSDK from 'lts-mini-sdk'; App({ onLaunch(options) { // 初始化 const baidumini = new miniSDK({ // 上报region region: string, // 华为云项目ID projectId: string, // 上报地址 url: string, // LTS日志组ID groupId: string, // LTS日志流ID streamId: string, // 日志所属组 group: string, // 调试日志等级 debug: string, // 当前小程序所属平台 platform: string, // 上报条数阈值 cacheThreshold: number, // 上报时间阈值 timeInterval: number, }); // 立即上报单条带标签 baidumini.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' }); // 立即上报单条 不带标签 baidumini.reportImmediately([{ key: 'value', number: 1, array: [], json: { json: 'json' } }, { 'key': 'value' }]); // 缓存上报多条 带标签 baidumini.report([{ 'name': 'xiaohong', 'age': 18 }, { 'name': 'xiaobai', 'age': 20 }], { 'key': 'value }); // 缓存上报多条 不带标签 baidumini.report([{ 'name': 'xiaohong', 'age': 18 }, { key: 'value', number: 1, array: [], json: { json: 'json' } }]); // 缓存上报多条 带多个标签(最多50个) baidumini.report([{ 'name': 'xiaohong', 'name': 'xiaolan' }], {'version': '1.0.0', 'render': 'mini', 'link': '/', from: 'baidu'}); } });
  • 版本更新说明 表1 版本更新说明 版本号 更新说明 1.0.24 支持更多region:华东-上海一、华南-广州。 1.0.23 新增支持快应用上报。 1.0.21 废弃config方法,优先使用new SDK创建一个新的实例。 去除代码中对三方包的依赖和存在的中文符号。 1.0.19 修改时间阈值的范围从1-60改为1-1800,其默认值从30改为3。 1.0.18 调整日志级别等级。 支持labels嵌套。 1.0.15 新增多实例上报。
  • 使用LTS SDK相关问题 本文介绍使用LTS SDK的常见问题和相关报错的处理方法。 端侧SDK日志接入LTS时需要注意什么? 答:请用户在使用端侧SDK日志接入LTS时,建议提前做好一键关闭日志上报、逐步提升上报流量等措施,做到及时止损,如果您的移动端日志流量非常大,请提前知会LTS技术支持为您提前预留资源。 端侧SDK中的上报日志report接口和立即上报日志reportImmediately接口如何选择? 答:建议使用上报日志report接口,通过调整上报策略,配置上报间隔、上报大小等参数。重要紧急的数据使用立即上报日志reportImmediately接口,即可进行立即上报。 端侧SDK上报的数据是放到labels参数还是contents参数? 答:固定数据(例如用户ID、设备型号、渠道、系统、网络等)可以放到labels参数,方便进行维度分析;其他数据建议都放到contents参数,然后按需进行索引配置。 集成接入SDK包后对于客户App大小和性能有什么影响吗? 答:iOS端App大小增加50KB左右,Android端App大小增加200KB左右,Web端大小可以忽略不计。在上传日志数据100条/每秒的情况下对性能没有影响。 iOS SDK和Android SDK支持哪些版本? 答:iOS SDK支持iOS10及以上版本,Android SDK支持Android7及以上版本。如果需要支持更低版本,请提交工单申请开通。 按文档要求操作接入后,但在LTS控制台查询不到上报的日志数据? 答:首先检查AK,SK,region,projectId这四个参数是否正确,更多信息请参考SDK接入。其次,在App控制台查看报错提示,详细请参考错误码。最后,请检查端侧权限是否已开通LTS白名单,若有需要,请提交工单申请开通。 App控制台上报日志失败,报错提示接口403? 答:在云日志服务控制台查看日志流是否开启了匿名上报。详细请参考日志流章节中如何开启匿名写入。 集成接入SDK的时候提示SDK初始化失败。 答:可以先开启debug模式,每个参数都会打印,根据提示可以定位到初始化失败的原因。 端侧上报一条日志长度和大小限制。 答:一条日志长度是30720个字符,超过该长度的内容会被删除,只截取30*1024长度的内容,然后以字符串方式上报LTS。上报日志的大小限制为1MB。 端侧SDK日志的上报策略是什么样的? 答:端侧SDK日志有时间和空间维度的自定义上报策略,上报间隔默认3s,上报条数默认200条,哪个先触发就先上报。 端侧SDK日志发送是异步发送还是同步发送? 答:端侧SDK日志发送是异步发送。 LTS能支持多大的端侧SDK并发量? 答:端侧SDK并发量与资源容量大小有关,理论上来说只要LTS资源足够,并发量不是问题。若需要支持更多端侧SDK并发量,请提交工单申请开通。 父主题: SDK接入
  • 错误码 表1 SDK错误码 错误类型 错误码 错误描述 可能原因 处理措施 参数类错误 (APM.00XX) APM.0001 %@ is null. 参数%@为空 请设置非空的参数后重试 APM.0002 %@ is invalid. 参数%@的类型、格式无效 请设置有效的参数后重试 APM.0003 The length of %@ exceeds the maximum value of %@. 参数%@的长度超过了最大值%@ 请修改参数长度后重试 APM.0004 The value of %@ must be between %@ and %@. 参数%@的值必须在%@-%@之间 请修改参数值后重试 APM.0006 %@ doesn't match pattern. 参数%@不匹配正则表达式 请设置符合正则表达式的参数后重试 APM.0007 Invalid configuration parameters. 无效的配置参数 请设置正确的配置项参数后重试 APM.0008 This feature needs to be enabled in the configuration file. 功能未启用 请在配置文件中启用此功能 APM.0009 Unsupported region. 上报日志不支持该地区 请使用下列有效区域:cn-north-4 集成类错误 (APM.01XX) APM.0100 The APMSDK is not initialized. SDK未初始化 请设置符合规则的配置参数,正确初始化SDK APM.0102 The APMSDK requires %@ or higher. SDK要求%@及以上操作系统 请根据提示调整最低操作系统版本 APM.0103 Open database failed, code=%@. 打开数据库失败 请根据sqlite3 error code查询具体情况 APM.0104 Create database table failed, code=%@, error=%@. 创建数据表失败 请根据sqlite3 error code查询具体情况 APM.0105 Insert into database failed, code=%@, error=%@. 插入数据失败 请根据sqlite3 error code查询具体情况 APM.0106 Delete from database failed, code=%@, error=%@. 删除数据失败 请根据sqlite3 error code查询具体情况 APM.0107 Select from database failed, code=%@, error=%@. 查询数据失败 请根据sqlite3 error code查询具体情况 APM.0108 Close database failed, code=%@. 关闭数据库失败 请根据sqlite3 error code查询具体情况 APM.0109 Reduce database size failed, code=%@, error=%@. 减小数据库大小失败 请根据sqlite3 error code查询具体情况 APM.0110 Begin transaction failed, code=%@, error=%@. 开启事务失败 请根据sqlite3 error code查询具体情况 APM.0111 Commit transaction failed, code=%@, error=%@. 提交事务失败 请根据sqlite3 error code查询具体情况 APM.0112 The count of database records exceeds the maximum value of %@,will delete %@ records before inserting. 数据库达到最大日志条数限制 将自动删除适量老日志,再插入新日志 APM.0113 Update column(%@) to database failed, code=%d, error=%s. 更新数据失败 请根据sqlite3 error code查询具体情况 系统类错误 (APM.02XX) APM.0202 Write to file failed. 写入文件失败 请检查文件写权限 APM.0203 No file read and write permissions. 无文件读写权限 请授权文件/目录读写权限 APM.0204 Call the system API failed,API=%s, error=%s. 调用系统API时发生错误 请根据系统API、错误描述查询具体情况 网络类错误 (APM.03XX) APM.0300 Request failed,response code=%@,error=%@. 请求发送失败 具体处理措施参见Status Code。 父主题: SDK接入
  • 上传并验证CA证书 登录设备发放控制台,进入“证书”界面,单击右上角“上传CA证书”,填写“证书名称”并上传上述“制作CA证书”步骤后生成的“CA证书(rootCA.crt文件)”,单击“确定”。 验证步骤1中上传的CA证书,只有成功验证证书后该证书方可使用。 为验证证书生成密钥对。 openssl genrsa -out verificationCert.key 2048 获取随机验证码。 利用此验证码生成证书签名请求文件CSR。 openssl req -new -key verificationCert.key -out verificationCert.csr CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写前一过程中获取到的随机验证码。 使用CA证书、CA证书私钥和CSR文件创建验证证书(verificationCert.crt)。 openssl x509 -req -in verificationCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out verificationCert.crt -days 500 -sha256 生成验证证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件。 “-days”后的参数值指定了该证书的有效天数,此处示例为500天,您可根据实际业务场景和需要进行调整。 上传验证证书进行验证。
  • 生成设备证书 使用OpenSSL工具为设备证书生成密钥对(设备私钥): openssl genrsa -out deviceCert.key 2048 使用设备密钥对,生成证书签名请求文件: openssl req -new -key deviceCert.key -out deviceCert.csr 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表2所示。 表3 证书签名请求文件参数说明 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / 使用CA证书、CA证书私钥和CSR文件创建设备证书(deviceCert.crt)。 openssl x509 -req -in deviceCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out deviceCert.crt -days 36500 -sha256 生成设备证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件,且需要完成“上传并验证CA证书”。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整。
  • 制作CA证书 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。 生成密钥对(rootCA.key): 生成“密钥对”时输入的密码在生成“证书签名请求文件”、“CA证书”,“验证证书”以及“设备证书”时需要用到,请妥善保存。 openssl genrsa -des3 -out rootCA.key 2048 使用密钥对生成证书签名请求文件: 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表1 所示。 表1 证书签名请求文件参数说明 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / openssl req -new -key rootCA.key -out rootCA.csr 生成CA证书(rootCA.crt): openssl x509 -req -days 50000 -in rootCA.csr -signkey rootCA.key -out rootCA.crt “-days”后的参数值指定了该证书的有效天数,此处示例为50000天,您可根据实际业务场景和需要进行调整。
  • 版本更新说明 表1 版本更新说明 版本号 更新说明 1.0.24 支持更多region:华东-上海一、华南-广州。 1.0.21 废弃config方法,优先使用new SDK创建一个新的实例。 去除代码中对三方包的依赖和存在的中文符号。 1.0.19 修改时间阈值的范围从1-60改为1-1800,其默认值从30改为3。 1.0.18 调整日志级别等级。 支持labels嵌套。 1.0.15 新增多实例。
  • NPM方式安装SDK 安装方法:在项目根目录下通过运行“npm i lts-web-sdk”命令,安装SDK软件包。 您可以在开源仓地址下载最新的SDK。 示例代码: const LTS_WEB_SDK = require('lts-web-sdk').default; // import LTS_WEB_SDK from 'lts-web-sdk'; // 初始化 const weblog = new LTS_WEB_SDK({ // 上报region region: string, // 华为云项目ID projectId: string, // 上报地址 url: string, // LTS日志组ID groupId: string, // LTS日志流ID streamId: string, // 调试日志等级 debug: string, // 上报条数阈值 cacheThreshold: number, // 上报时间阈值 timeInterval: number, }); // 立即上报单条带标签 weblog.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' }); // 立即上报单条 不带标签 weblog.reportImmediately([{ key: 'value', number: 1, array: [], json: { json: 'json' } }, { 'key': 'value' }]); // 缓存上报多条 带标签 weblog.report([{ 'name': 'xiaohong', 'age': 18 }, { 'name': 'xiaobai', 'age': 20 }], { 'key': 'value' }); // 缓存上报多条 不带标签 weblog.report([{ 'name': 'xiaohong', 'age': 18 }, { key: 'value', number: 1, array: [], json: { json: 'json' } }]); // 缓存上报多条 带多个标签(最多50个) weblog.report([{ 'name': 'xiaohong', 'name': 'xiaolan' }], {'version': '1.0.0', 'render': 'web', 'link': '/', from: 'web'});
  • 接入调试 在开发过程中可以启用调试模式,借助控制台日志实时查看上报日志的记录情况,观察具体结果并根据需要进行调整。 需要通过调用LTSSDK的静态方法来修改,SDK支持Debug、Info、Warning 、 Error 和 Off 5个级别的 默认为静默输出(Off)。5个级别分别对应的参数:LogLevel.DEBUG、LogLevel.INFO、LogLevel.WARNING、LogLevel.ERROR、LogLevel.OFF。代码示例如下: LTSSDK.setLogLevel(LogLevel.DEBUG)
  • 版本更新说明 SDK如何处理个人信息请参考华为云日志服务移动端日志采集SDK隐私声明。 您集成和使用我们的SDK时需要遵从个人信息保护基本要求,详情请参考华为云日志服务移动端日志采集SDK开发者合规指南。 表1 版本更新说明 版本号 更新说明 系统 1.0.26 修复了因异步修改入参导致数据异常的问题 Android 7 及以上 1.0.25 增强代码强壮性,添加参数保护 Android 7 及以上 1.0.24 支持更多region:华东-上海一、华南-广州 修改了程序目录,修改为com.cloud.lts.* Android 7 及以上 1.0.21 废弃setconfig方法,使用LTSSDK的构造方法代替。 Android 7 及以上 1.0.19 修改了上报时间间隔阈值。 修复了修改配置信息后导致无法获取缓存的问题。 Android 7 及以上 1.0.18 增强代码强壮性,修复多实例时可能会产生的崩溃。 修复最低 Android API 支持版本定义错误的问题。 增加设置调试日志级别接口:setLogLevel。 修改了 日志发送的入参 label 的类型,支持多层嵌套。 日志发送入参 content 支持数组类型,方便使用。 添加缓存存储条目最大值支持,如果超过会丢弃后再存储。 修改了请求失败时的控制策略,支持递进式等待。 对本地错误日志输出做了整理。 Android 7 及以上 1.0.17 首次发布,提供四个接口:初始化、配置config、上报日志report、立即上报日志reportImmediately。 Android 7 及以上
  • 配置参数说明 表4 初始化参数说明 参数名称 类型 是否必填 默认值 描述 projectId String 必填 - 华为云账号的项目ID。 accessKey String 必填 - 华为云账号的访问密钥,简称AK。注意:认证用的华为云账号AK、SK硬编码到代码中或者明文存储都有很大的安全风险,建议密文存放,使用时解密,确保安全。 secretKey String 必填 - 华为云账号的秘密访问密钥,简称SK。注意:认证用的华为云账号AK、SK硬编码到代码中或者明文存储都有很大的安全风险,建议密文存放,使用时解密,确保安全。 region String 必填 - LTS的服务区域。 groupId String 必填 - LTS的日志组ID。 streamId String 必填 - LTS的日志流ID。 url String 选填 null 用于上报的公网地址域名,如未设置,将根据region自动生成链接,格式如下:https://lts-access.{region}.myhuaweicloud.com cacheThreshold Long 选填 200条 当本地数据库日志存储条数达到该值会触发上报,取值范围为30-1000条。 timeInterval Long 选填 3秒 定时器每隔该值会触发上报,取值范围为1-1800秒。 isReportBackground boolean 选填 true 是否开启APP切入后台时上报功能。 isReportLaunch boolean 选填 false 是否开启APP启动时上报功能。
  • 参数获取方式 上线区域表,使用华为云主机时参考以下信息: 区域名称 RegionName Endpoint 华北-北京四 cn-north-4 https://lts-access.cn-north-4.myhuaweicloud.com:8102 华东-上海一 cn-east-3 https://lts-access.cn-east-3.myhuaweicloud.com:8102 华南-广州 cn-south-1 https://lts-access.cn-south-1.myhuaweicloud.com:8102 亚太-新加坡 ap-southeast-3 https://lts-access.ap-southeast-3.myhuaweicloud.com:8102 当前仅华北-北京四、华东-上海一、华南-广州区域使用SDK时支持跨云/本地上报日志,Endpoint端口使用443。 日志组ID:在云日志服务控制台,选择“日志管理”,鼠标悬浮在日志组名称上,可查看日志组名称和日志组ID。 日志流ID:单击日志组名称对应的按钮,鼠标悬浮在日志流名称上,可查看日志流名称和日志流ID。
  • 使用说明 当用户修改权限后,权限信息在一天后生效。 SDK支持跨云/本地上报日志,当前仅支持华北-北京四、华东-上海一、华南-广州、西南-贵阳一。使用详情见Appender配置参数说明表中的“enableLocalTest”参数,当该参数为true时,上报日志规格为单个机器200次/秒(即每秒只能发送200次,每次批量发送数量/大小详情见参数“batchSizeThresholdInBytes、batchCountThreshold、lingerMs”)。 通过SDK上报日志到LTS的时间相距当前时间不超过2天,否则上报日志会被LTS删除。
  • 参数获取方法 区域表 表2 区域表 区域名称 RegionName 华北-北京二 cn-north-2 华北-北京四 cn-north-4 华北-北京一 cn-north-1 华东-上海二 cn-east-2 华东-上海一 cn-east-3 华南-广州 cn-south-1 华南-深圳 cn-south-2 西南-贵阳一 cn-southwest-2 亚太-新加坡 ap-southeast-3 日志组ID:在云日志服务控制台,选择“日志管理”,鼠标悬浮在日志组名称上,可查看日志组名称和日志组ID。 日志流ID:单击日志组名称对应的按钮,鼠标悬浮在日志流名称上,可查看日志流名称和日志流ID。