华为云用户手册

  • 不同模式工作空间的优劣势对比 表3 不同模式工作空间的优劣势对比 对比 简单模式 企业模式 优势 简单、方便、易用。 仅需要授权数据开发人员“开发者”角色即可完成所有数据开发工作。 提交脚本或作业后,您无需发布,脚本或作业即可进入调度系统周期性执行,产出结果数据。 安全、规范。 具备安全、规范的代码发布管控流程(包含代码评审、代码DIFF查看等功能),保障生产环境稳定性,避免不必要的因代码逻辑引起的脏数据蔓延或任务报错等非预期情况。 数据访问得到有效管控,数据安全得以保障。 所有脚本或作业仅支持在开发环境编辑,开发者无法修改生产环境的脚本或作业。 开发环境和生产环境的数据隔离,开发者无法影响生产环境的数据。 开发环境下,脚本、作业以当前开发者的身份执行;生产环境下,脚本、作业则使用空间级的公共 IAM 账号或公共委托执行。 如果需要对生产环境进行变更,必须在开发环境通过开发者的发布操作才能将变更提交到生产环境,需要管理者或部署者审批通过,才能发布成功。 劣势 存在不稳定、不安全的风险。 无法设置开发环境和生产环境隔离,只能进行简单的数据开发。 无法对生产表权限进行控制。 说明: 开发调测阶段,开发者可直接访问生产 数据湖 的数据,随意对表进行增加、删除和修改等操作,存在数据安全风险。 无法对数据开发流程进行管控。 说明: 开发者可以不经过任何人审批,随时新增、修改脚本或作业并提交至调度系统,给业务带来不稳定因素。 流程相对复杂,一般情况下无法一人完成所有数据开发、生产流程。
  • 简单模式与企业模式介绍 简单模式:传统的 DataArts Studio 工作空间模式。简单模式工作空间下,DataArts Studio数据开发组件以及对应管理中心组件无法设置开发环境和生产环境,只能进行简单的数据开发,无法对数据开发流程和表权限进行强管控。一个数据湖作为DataArts Studio的生产环境。 图5 简单模式工作空间 企业模式:为解决简单模式存在的风险,DataArts Studio工作空间新增支持企业模式。企业模式下,DataArts Studio数据开发组件以及对应管理中心组件的数据连接支持设置开发环境和生产环境,有效隔离开发者对生产环境业务的影响。需要两个数据湖中,其中一个数据湖作为DataArts Studio开发环境,另一个作为DataArts Studio生产环境。其中: 开发环境只针对开发人员开放,只用于脚本或作业开发,开发完后发布到生产环境中。 生产环境内不能做任何修改,只对最终用户开放,任何修改必须回退到开发环境中重新修改发布。 图6 企业模式工作空间 您可选择创建任意模式工作空间体验DataArts Studio,使用企业模式工作空间实现DataArts Studio开发环境与生产环境代码隔离、不同环境计算资源隔离、权限隔离、任务发布流程管控等需求。 若您已在使用简单模式工作空间,并且希望保留当前简单模式工作空间的代码时,可选择工作空间模式升级,详情请参见创建企业模式工作空间。
  • 企业模式对使用流程的影响 简单模式工作空间下,DataArts Studio数据开发组件以及对应管理中心组件无法设置开发环境和生产环境,只能进行简单的数据开发,无法对数据开发流程和表权限进行强管控。提交脚本或作业后,您无需发布,脚本或作业即可进入调度系统周期性执行,产出结果数据。 图7 简单模式流程 企业模式下,DataArts Studio数据开发组件以及对应管理中心组件的数据连接支持设置开发环境和生产环境,有效隔离开发者对生产环境业务的影响。其中:开发环境只针对开发人员开放,只用于脚本或作业开发,开发完后发布到生产环境中。生产环境内不能做任何修改,只对最终用户开放,任何修改必须回退到开发环境中重新修改发布。 图8 企业模式流程
  • 背景信息 本文内容由以下几部分构成,从不同角度分别为您解决企业模式不同的问题。 表1 了解企业模式 分类 说明 简单模式与企业模式介绍 不同工作空间模式的介绍。 不同模式工作空间对生产任务开发与运维的影响 DataArts Studio建立于对应工作空间物理属性之上的任务开发与运维机制介绍。 不同模式工作空间的优劣势对比 不同工作空间模式的优劣势对比。 企业模式对使用流程的影响 介绍企业模式工作空间下的流程管控。 不同工作空间模式下,DataArts Studio模块对应操作 简单模式仅有生产环境,企业模式有开发环境和生产环境,此部分为您介绍各个环境与DataArts Studio模块的对应关系。
  • API调用方使用流程 您作为API调用者,需要实现一个API的调用,那么您需要完成以下工作: 获取API 从服务目录获取需要调用API。仅在API发布后,才支持被调用。 (可选)创建应用并获取授权 对于使用APP认证的API,需要完成创建应用和将API授权给应用。在API调用过程中,使用所创建应用的密钥对(AppKey、AppSecret),数据服务根据密钥对进行身份核对,完成鉴权。关于使用APP认证的方法,具体请参考数据服务SDK参考。 调用API API调用者完成以上步骤后,可以参考数据服务SDK参考进行API调用。
  • 总览页面说明 在总览页用户可以看到丰富的监控数据视图。数据服务总览页面分别从API开放方和API调用方的视角,统计了API的相关度量数据。 图2 API总览 表1 API开放方数据统计 界面 说明 发布趋势 从每天、每周、每月、每年的维度统计了API开放方发布的API数量。 调用趋势 从半天、每天、每周、每月的维度统计了API开放方发布的API,被调用的次数。 调用比率TOP5 统计API开放方所开放的API,被调用的比率,包含成功率、失败率、合法率和非法率。 调用时间TOP5 统计API开放方所开放的API,被调用时长,支持统计的维度包含时长平均总值、成功时长平均总值,失败时长平均总值。 调用次数TOP5 统计API开放方所开放的API,被调用次数排名TOP5的,支持统计的维度包含调用总次数、成功次数、失败次数、合法次数和非法次数。 已发布 统计API开放方已成功发布的API数量。 开发中 统计API开放方开发中的API数量。 申请者 统计API开放方已成功发布的API,被申请调用的应用数量。 调用成功 统计API开放方已成功发布的API,被应用成功调用的次数。 调用失败 统计API开放方已成功发布的API,被应用调用失败的次数。 总调用次数 统计API开放方已成功发布的API,被应用调用的总次数。 图3 调用总览 表2 API调用方数据统计 界面 说明 调用趋势 从每天、每周、每月、每年的维度统计了API调用方调用的API数量。 调用比率 统计调用方最近7天内调用API的成功和失败比例。 已申请 统计API调用方,在数据服务平台申请调用的API数量。 调用成功 统计API调用方在数据服务平台成功调用API的次数。 总调用次数 统计API调用方在数据服务平台调用API的总次数。
  • API开放方使用流程 您作为API提供者,需要实现一个或一组API的开放,那么您需要先后完成以下工作: 准备工作 如果您需要使用数据服务专享版,需要先购买专享版集群。 另外,在创建API前,您还需要新建审核人。 创建API 创建API即生成API和注册API。其中,生成API支持两种方式(向导模式生成API和脚本模式生成API)。 调试API API创建后需要验证服务是否正常,管理控制台提供了调试功能。 发布API 只有将API发布后,API才支持被调用。 (可选)管理API 您可以根据您的需要,对已创建发布的API进行管理。 (可选)流量控制 为了保护后端服务的稳定的考虑,您可以对API进行流量控制。
  • 适用场景 在某项目搬迁场景下,当您需要补充以前时间段内的历史业务数据,需要查看历史数据的详细信息时,可以使用补数据特性。 补数据是指作业执行一个调度任务,在过去某一段时间里生成一系列的实例。用户可以通过补数据,修正历史中出现数据错误的作业实例,或者构建更多的作业记录以便调试程序等。 补数据作业除了支持SQL脚本,其他节点也支持。 如果SQL脚本的内容有变化,补数据作业运行的是最新版本的脚本。 使用补数据功能时,如SQL中变量是DATE,脚本中就写${DATE},在作业参数中会自动增加脚本参数DATE,脚本参数DATE的值支持使用EL表达式。如果是变量时间的话,需要使用DateUtil内嵌对象的表达式,平台会自动转换成历史日期。EL表达式用法可参考EL表达式。 补数据作业除了支持作业参数,脚本参数或者全局环境变量也支持。
  • 逆向数据库导入表到维度模型中 在DataArts Studio控制台首页,选择实例,单击“进入控制台”,选择对应工作空间的“数据架构”模块,进入数据架构页面。 图1 选择数据架构 在DataArts Studio数据架构控制台,单击左侧导航栏的“维度建模”进入维度建模页面。 打开需要逆向数据库导入的维度或表的页签,然后单击列表上方的“逆向数据库”。 图2 选中对象 在“逆向数据库”对话框中配置参数。 表1 逆向数据库 参数名称 说明 所属主题 单击“选择主题”按钮选择所属的主题信息。 数据连接类型 选择维度建模的逆向数据库。 数据连接 选择所需要的数据连接。 如需从其他数据源逆向数据库到关系模型中,需要先在DataArts Studio管理中心创建一个数据连接,以便连接数据源。创建数据连接的操作,请参见管理数据连接。 数据库 选择数据库。 队列 仅限 DLI 连接类型,需选择DLI队列。 Schema DWS或POSTGRESQL的模式。该参数在DWS或POSTGRESQL连接类型有效。 更新已有表 在导入时,只有创建或更新操作,不会删除已有的表。 不更新:如果表已存在,将直接跳过,不更新。 更新:如果表已存在,更新已有的表信息。如果表处于“已发布”状态,表更新后,您需要重新发布表,才能使更新后的表生效。 数据表 选择“全部”时,将数据库中的所有的表都导入。 选择“部分”时,请选择需要导入的表。 单击“确定”开始执行逆向数据库操作。等待操作执行完成,即可在“上次逆向”中查看结果或者执行重新逆向操作。
  • 操作步骤 登录 CDM 管理控制台。单击左侧导航上的“集群管理”,进入集群管理界面。 图1 集群列表 “创建来源”列仅通过DataArts Studio服务进入数据集成界面可以看到。 单击集群名称后,选择“标签”页签。 图2 修改集群配置 单击“添加/编辑标签”,通过添加、修改标签为CDM集群设置资源标识。 图3 添加标签 一个集群最多可添加10个标签。 标签键(key)的最大长度为36个字符,标签值(value)的最大长度为43个字符。 (可选)在标签列表中,单击标签操作列“删除”,删除CDM集群标签。 通过以下两种方式筛选出所配置标签的资源。 在标签管理服务中,选择资源搜索条件,单击“搜索”即可筛选出所配置标签的资源。 在集群列表中,单击标签搜索,筛选出所配置标签的资源。
  • 数据准备 下载Flink作业资源包"wordcount.jar",下载地址:https://github.com/huaweicloudDocs/dgc/blob/master/WordCount.jar 下载的Flink作业资源包需要进行JAR包完整性校验。Windows操作系统下,打开本地命令提示符框,输入如下命令,在本地生成已下载JAR包的SHA256值,其中,“D:\wordcount.jar”为JAR包的本地存放路径和JAR包名,请根据实际情况修改。 certutil -hashfile D:\wordcount.jar SHA256 命令执行结果示例,如下所示: SHA256 的 D:\wordcount.jar 哈希: 0859965cb007c51f0d9ddaf7c964604eb27c39e2f1f56e082acb20c8eb05ccc4 CertUtil: -hashfile 命令成功完成。 对比所下载JAR包的SHA256值和下面JAR包的SHA256值。如果一致,则表示下载过程不存在篡改和丢包。 SHA256值:0859965cb007c51f0d9ddaf7c964604eb27c39e2f1f56e082acb20c8eb05ccc4 准备数据文件“in.txt”,内容为一段英文单词。
  • 操作步骤 将作业资源包和数据文件传入OBS桶中。 本例中,WordCount.jar文件上传路径为:lkj_test/WordCount.jar;word.txt 文件上传路径为:lkj_test/input/word.txt。 创建一个数据开发模块空作业,作业名称为“job_ MRS _Flink”。 图1 新建作业 进入到作业开发页面,拖动“MRS Flink”节点到画布中并单击,配置节点的属性。 图2 配置MRS Flink节点属性 参数设置说明: --Flink作业名称 wordcount --MRS集群名称 选择一个MRS集群 --运行程序参数 -c org.apache.flink.streaming.examples.wordcount.WordCount --Flink作业资源包 wordcount --输入数据路径 obs://dlf-test/lkj_test/input/word.txt --输出数据路径 obs://dlf-test/lkj_test/output.txt 其中: obs://dlf-test/lkj_test/input/word.txt为wordcount.jar的传入参数路径,可以把需要统计的单词写到里面; obs://dlf-test/lkj_test/output.txt为输出参数文件的路径(如已存在output.txt文件,会报错)。 单击“测试运行”,执行该MRS Flink作业。 待测试完成,执行“提交”。 在“作业监控”界面,查看作业执行结果。 查看OBS桶中返回的记录(没设置返回可跳过)。
  • 创建CDM集群并绑定EIP 如果是独立CDM服务,参考创建集群创建CDM集群;如果是作为DataArts Studio服务CDM组件使用,参考创建集群创建CDM集群。 关键配置如下: CDM集群的规格,按待迁移的数据量选择,一般选择cdm.medium即可,满足大部分迁移场景。 CDM集群创建完成后,选择集群操作列的“绑定弹性IP”,CDM通过EIP访问MySQL。 图1 集群列表 如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。
  • 约束限制 如果在字段映射界面,CDM通过获取样值的方式无法获得所有列(例如从HBase/CloudTable/MongoDB导出数据时,CDM有较大概率无法获得所有列),则可以单击后选择“添加新字段”来手动增加,确保导入到目的端的数据完整。 关系数据库、Hive、MRS Hudi及DLI做源端时,不支持获取样值功能。 SQLServer作为目的端数据源时,不支持timestamp类型字段的写入,需修改为其他时间类型字段写入(如datetime)。 当作业源端为OBS、迁移 CS V文件时,并且配置“解析首行为列名”参数的场景下显示列名。 当使用二进制格式进行文件到文件的迁移时,没有字段映射这一步。 自动创表场景下,需在目的端表中提前手动新增字段,再在字段映射里新增字段。 添加完字段后,新增的字段在界面不显示样值,不会影响字段值的传输,CDM会将字段值直接写入目的端。 如果字段映射关系不正确,您可以通过拖拽字段、单击对字段批量映射两种方式来调整字段映射关系。 如果是导入到 数据仓库 服务(DWS),则还需在目的字段中选择分布列,建议按如下顺序选取分布列: 有主键可以使用主键作为分布列。 多个数据段联合做主键的场景,建议设置所有主键作为分布列。 在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。 如CDM不支持源端迁移字段类型,请参见不支持数据类型转换规避指导将字段类型转换为CDM支持的类型。
  • 操作场景 作业参数配置完成后,将进行字段映射的配置,您可以通过字段映射界面的可自定义新增字段。 如果是文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,且源端“文件格式”配置为“二进制格式”(即不解析文件内容直接传输),则没有字段映射这一步骤。 其他场景下,CDM会自动匹配源端和目的端数据表字段,需用户检查字段映射关系和时间格式是否正确,例如:源字段类型是否可以转换为目的字段类型。 您可以单击字段映射界面的选择“添加新字段”自定义新增字段,通常用于标记数据库来源,以确保导入到目的端数据的完整性。 图1 字段映射 目前支持以下类型自定义字段: 常量 常量参数即参数值是固定的参数,不需要重新配置值。例如“lable”=“friends”用来标识常量值。 变量 您可以使用时间宏、表名宏、版本宏等变量来标记数据库来源信息。变量的语法:${variable},其中“variable”指的是变量。例如“input_time”=“${timestamp()}”用来标识当前时间的时间戳。 表达式 您可以使用表达式语言根据运行环境动态生成参数值。表达式的语法:#{expr},其中“expr”指的是表达式。例如“time”=“#{DateUtil.now()}”用来标识当前日期字符串。
  • 新建时间限定并发布 在DataArts Studio控制台首页,选择实例,单击“进入控制台”,选择对应工作空间的“数据架构”模块,进入数据架构页面。 图1 选择数据架构 (可选)在数据架构控制台,单击左侧导航树中的“配置中心”,在功能配置下选择是否开启“时间限定生成使用动态表达式”功能,默认关闭。 图2 功能配置 在数据架构控制台,单击左侧导航树中的“技术指标”,选择“时间限定”页签。 进入时间限定页面后,单击“新建”按钮。 在新建时间限定页面,参考表1配置参数,然后单击“发布”。 图3 时间限定 表1 新建时间限定参数说明 参数名称 说明 *限定名称 只能包含中文、英文字母、数字和下划线,且必须以中文或英文字母开头。 *限定英文名称 只能包含英文字母、数字和下划线。 *时间配置 可选择“按年”、“按月”、“按日”、“按小时”或“按分钟”,然后根据需要选择“快速选择”或“自定义”进行时间条件的设置。 自定义时,“-”表示从当前时间向前的时间段,“+”表示从当前时间向后的时间段。例如,过去一年到未来三年,可以按年自定义为“-1到+3”或“+3到-1”。 描述 描述信息。支持的长度0~490字符。 在弹出框中单击“确认提交”,提交发布审核。 等待审核人员审核。 审核通过后,时间限定创建完成。
  • 企业模式业务流程 当前DataArts Studio企业模式,主要涉及管理中心和数据开发组件,业务流程由管理员、开发者、部署者、运维者等角色共同完成。 图1 企业模式架构 管理员:管理员需要进行准备数据湖、配置数据连接和环境隔离、数据的导入导出、配置项目用户权限等操作。 开发者:开发者需要在数据开发的开发环境,进行脚本、作业开发等操作,开发完成后进行测试运行、提交版本,最终提交发布任务。 部署者:部署者需要在数据开发的开发环境,查看待审批任务,并进行发布审批操作。 运维者:部署者需要在数据开发的生产环境,基于开发者发布的资源,进行作业监控、通知管理、备份等操作。 自定义角色:用户可以对需要的操作权限进行自定义设置,来满足实际业务的需要。 访客:具备DataArts Studio只读权限,只允许对DataArts Studio进行数据读取,无法操作、更改工作项及配置,建议将只查看空间内容、不进行操作的用户设置为访客。 表1 企业模式内的权限 - 简单空间 企业空间 管理者 拥有生产环境管理中心的所有权限,包含连接配置、数据导入导出等。 增加了部署相关的新操作 进行管理中心的连接配置、环境隔离配置,数据导入导出等 进行数据开发配置,比如环境配置、调度身份配置、配置默认项等 开发者 拥有生产环境的作业及脚本开发的所有权限。 开发环境:所有操作 生产环境:只读操作 部署:增加了打包、查看发布项、查看发布项列表、查看发布包内容 环境信息配置:只读操作 部署者 无 查看发布包 查看发布项列表 发布包:只有部署者和管理者可以操作 撤销发布:只有部署者和管理者可以操作 运维者 拥有生产环境的作业及脚本实例的运行监控、运维调度等权限。 开发环境:只读操作 生产环境:所有操作 部署:查看发布包内容 环境信息配置:只读操作 访客 仅只读 仅只读 父主题: 企业模式
  • 时间宏变量和定时任务配合完成增量同步 这里列举两个简单的使用场景: 数据库表中存在表示时间的列DS,类型为“varchar(30)”,插入的时间格式类似于“2017-xx-xx”。 定时任务中,重复周期为1天,每天的凌晨0点执行定时任务。配置“Where子句”为DS='${dateformat(yyyy-MM-dd,-1,DAY)}',这样就可以在每天的凌晨0点导出前一天产生的所有数据。 数据库表中存在表示时间的列time,类型为“Number”,插入的时间格式为时间戳。 定时任务中,重复周期为1天,每天的凌晨0点执行定时任务。配置“Where子句”为time between ${timestamp(-1,DAY)} and ${timestamp()},这样就可以在每天的凌晨0点导出前一天产生的所有数据。 其它的配置方式原理相同。
  • timestamp timestamp支持两种形式的参数: timestamp() 返回当前时间的时间戳,即从1970年到现在的毫秒数,如1508078516286。 timestamp(dateOffset, dateType) 返回经过时间偏移后的时间戳,“dateOffset”和“dateType”表示日期的偏移量以及偏移量的类型。 例如当前日期为“2017-10-16 09:00:00”,则“timestamp(-10, MINUTE)”返回当前时间点10分钟前的时间戳,即“1508115000000”。
  • 时间变量宏定义具体展示 假设当前时间为“2017-10-16 09:00:00”,时间变量宏定义具体如表1所示。 表1 时间变量宏定义具体展示 宏变量 含义 实际显示效果 ${dateformat(yyyy-MM-dd)} 以yyyy-MM-dd格式返回当前时间。 2017-10-16 ${dateformat(yyyy/MM/dd)} 以yyyy/MM/dd格式返回当前时间。 2017/10/16 ${dateformat(yyyy_MM_dd HH:mm:ss)} 以yyyy_MM_dd HH:mm:ss格式返回当前时间。 2017_10_16 09:00:00 ${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)} 以yyyy-MM-dd HH:mm:ss格式返回时间,时间为当前时间的前一天。 2017-10-15 09:00:00 ${timestamp()} 返回当前时间的时间戳,即1970年1月1日(00:00:00 GMT)到当前时间的毫秒数。 1508115600000 ${timestamp(-10, MINUTE)} 返回当前时间点10分钟前的时间戳。 1508115000000 ${timestamp(dateformat(yyyyMMdd))} 返回今天0点的时间戳。 1508083200000 ${timestamp(dateformat(yyyyMMdd,-1,DAY))} 返回昨天0点的时间戳。 1507996800000 ${timestamp(dateformat(yyyyMMddHH))} 返回当前整小时的时间戳。 1508115600000
  • Where子句中的时间宏变量 以SQOOP.CDM_20171016表为例,该表中存在表示时间的列DS,如图2所示。 图2 表数据 假设当前时间为“2017-10-16”,要导出前一天的数据(即DS=‘2017-10-15’),则可以在创建作业时配置“Where子句”为DS='${dateformat(yyyy-MM-dd,-1,DAY)}',即可将符合DS=‘2017-10-15’条件的数据导出。
  • 路径和表名的时间宏变量 如图1所示,如果将: 源端的“表名”配置为“CDM_/${dateformat(yyyy-MM-dd)}”。 目的端的“写入目录”配置为“/opt/ttxx/${timestamp()}”。 经过宏定义转换,这个作业表示:将Oracle数据库的“SQOOP.CDM_20171016”表中数据,迁移到HDFS的“/opt/ttxx/1508115701746”目录中。 图1 源表名和写入目录配置为时间宏变量 目前也支持一个表名或路径名中有多个宏定义变量,例如“/opt/ttxx/${dateformat(yyyy-MM-dd)}/${timestamp()}”,经过转换后为“/opt/ttxx/2017-10-16/1508115701746”。
  • dateformat dateformat支持两种形式的参数: dateformat(format) format表示返回日期的格式,格式定义参考“java.text.SimpleDateFormat.java”中的定义。 例如当前日期为“2017-10-16 09:00:00”,则“yyyy-MM-dd HH:mm:ss”表示“2017-10-16 09:00:00”。 dateformat(format, dateOffset, dateType) format表示返回日期的格式。 dateOffset表示日期的偏移量。 dateType表示日期的偏移量的类型。 目前dateType支持以下几种类型:SECOND(秒),MINUTE(分钟),HOUR(小时),DAY(天),MONTH(月),YEAR(年)。 其中MONTH(月),YEAR(年)的偏移量类型存在特殊场景: 对于年、月来说,若进行偏移后实际没有该日期,则按照日历取该月最大的日期。 不支持在源端和目的端的“时间过滤”参数中的起始时间、终止时间使用年、月的偏移。 例如当前日期为“2023-03-01 09:00:00”,则: “dateformat(yyyy-MM-dd HH:mm:ss, -1, YEAR)”表示当前时间的前一年,也就是“2022-03-01 09:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -3, MONTH)”表示当前时间的前三月,也就是“2022-12-01 09:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)”表示当前时间的前一天,也就是“2023-02-28 09:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, HOUR)”表示当前时间的前一小时,也就是“2023-03-01 08:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, MINUTE)”表示当前时间的前一分钟,也就是“2023-03-01 08:59:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, SECOND)”表示当前时间的前一秒,也就是“2023-03-01 08:59:59”。
  • 创建CDM集群并绑定EIP 如果是独立CDM服务,参考创建集群创建CDM集群;如果是作为DataArts Studio服务CDM组件使用,参考创建集群创建CDM集群。 关键配置如下: CDM集群的规格,按待迁移的数据量选择,一般选择cdm.medium即可,满足大部分迁移场景。 CDM集群的VPC,选择和RDS的MySQL数据库实例所在的VPC一致,且推荐子网、安全组也与RDS上的MySQL一致。 如果安全控制原因不能使用相同子网和安全组,则可以修改安全组规则,允许CDM访问RDS。 CDM集群创建完成后,选择集群操作列的“绑定弹性IP”,CDM通过EIP访问本地MySQL数据库。 图1 集群列表 如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。
  • 操作场景 本章节介绍使用CDM整库迁移功能,将本地MySQL数据库迁移到云服务RDS中。 当前CDM支持将本地MySQL数据库,整库迁移到RDS上的MySQL、PostgreSQL或者Microsoft SQL Server任意一种数据库中。这里以整库迁移到RDS上的MySQL数据库(云数据库 MySQL)为例进行介绍,使用流程如下: 创建CDM集群并绑定EIP 创建MySQL连接 创建RDS连接 创建整库迁移作业
  • 配置步骤 在CCE中添加日志策略 在CCE中创建工作负载时,添加容器后,展开“容器日志”页签。 单击“添加日志策略”,设置自定义日志参数,配置日志策略,以nginx为例,不同工作负载根据实际情况配置。 图1 添加日志策略 存储类型有“主机路径”和“容器路径”两种类型可供选择: 主机路径:可将主机上的路径挂载到指定的容器路径。日志策略配置参数如下: 表1 添加日志策略-主机路径 参数 参数说明 存储类型 设置为“主机路径”。将主机上的路径挂载到指定的容器路径。 添加容器挂载 *主机路径 容器内日志文件所在路径挂载到主机上的位置,如:/var/paas/sys/log/nginx 挂载路径 输入数据逻辑卷挂载到容器上的路径,如:/tmp 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 AOM 只采集最近修改过的前20个日志文件,且默认采集两级子目录。 AOM只采集挂载路径下的“.log”、“.trace”、“.out”文本日志文件。 主机扩展路径 会在原先的“卷目录/子目录”中增加一个三级目录。使用户更方便获取单个Pod输出的文件。 None:不配置拓展路径。 PodUID:Pod的ID。 PodName:Pod的名称。 PodUID/ContainerName:Pod的ID/容器名称。 PodName/ContainerName:Pod名称/容器名称。 采集路径 设置采集路径可以更精确的指定采集内容,当前支持以下设置方式: 不设置则默认采集当前路径下.log .trace .out文件。 设置**表示递归采集5层目录下的.log .trace .out文件。 设置*表示模糊匹配。 例子: 采集路径为/tmp/**/test*.log 表示采集/tmp目录及其1-5层子目录下的全部以test开头的.log文件。 注意: 使用采集路径功能请确认您的采集器ICAgent版本为5.12.22或以上版本。 日志转储 此处日志转储是指日志的本地绕接。 设置:AOM每分钟扫描一次日志文件,当某个日志文件超过50MB时,会立即对其转储(转储时会在该日志文件所在的目录下生成一个新的zip文件。对于一个日志文件,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除),转储完成后AOM会将该日志文件清空。 不设置:若您在下拉列表框中选择“不设置”,则AOM不会对日志文件进行转储。 说明: AOM的日志绕接能力是使用copytruncate方式实现的,如果选择了设置,请务必保证您写日志文件的方式是append(追加模式),否则可能出现文件空洞问题。 当前主流的日志组件例如Log4j、Logback等均已经具备日志文件的绕接能力,如果您的日志文件已经实现了绕接能力,则无需设置。否则可能出现冲突。 建议您的业务自己实现绕接,可以更灵活的控制绕接文件的大小和个数。 容器路径:日志仅输出到容器路径,无需挂载主机路径。日志策略配置参数如下: 此功能需要采集器ICAgent版本升级到5.10.79或以上版本。 表2 添加日志策略-容器路径 参数 参数说明 存储类型 设置为“容器路径”。 日志仅输出到容器路径,无需挂载主机路径。此功能需要采集器ICAgent版本升级到5.10.79或以上版本。 添加容器挂载 挂载路径 输入数据逻辑卷挂载到容器上的路径,如:/tmp 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 AOM只采集最近修改过的前20个日志文件,且默认采集两级子目录。 AOM只采集挂载路径下的“.log”、“.trace”、“.out”文本日志文件。 采集路径 设置采集路径可以更精确的指定采集内容,当前支持以下设置方式: 不设置则默认采集当前路径下.log .trace .out文件。 设置**表示递归采集5层目录下的.log .trace .out文件。 设置*表示模糊匹配。 例子: 采集路径为/tmp/**/test*.log 表示采集/tmp目录及其1-5层子目录下的全部以test开头的.log文件。 注意: 使用采集路径功能请确认您的采集器ICAgent版本为5.12.22或以上版本。 日志转储 此处日志转储是指日志的本地绕接。 设置:AOM每分钟扫描一次日志文件,当某个日志文件超过50MB时,会立即对其转储(转储时会在该日志文件所在的目录下生成一个新的zip文件。对于一个日志文件,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除),转储完成后AOM会将该日志文件清空。 不设置:若您在下拉列表框中选择“不设置”,则AOM不会对日志文件进行转储。 说明: AOM的日志绕接能力是使用copytruncate方式实现的,如果选择了设置,请务必保证您写日志文件的方式是append(追加模式),否则可能出现文件空洞问题。 当前主流的日志组件例如Log4j、Logback等均已经具备日志文件的绕接能力,如果您的日志文件已经实现了绕接能力,则无需设置。否则可能出现冲突。 建议您的业务自己实现绕接,可以更灵活的控制绕接文件的大小和个数。 在ServiceStage中添加日志策略 在CCI中添加日志策略 在创建负载时,选择镜像后,单击“高级设置”,展开“日志采集”页签。 添加日志策略。 单击“添加日志存储”,参考表3进行配置。 图2 在CCI中添加日志策略 表3 参数说明 参数 参数说明 容器内日志路径 日志存储挂载到容器内的挂载路径,需要保证服务的日志输出路径与该路径一致,这样日志才能写入到日志存储卷中。 须知: 日志存储卷挂载后,会覆盖掉日志路径下已有的内容。请保证日志路径为一个独立的路径,否则原来的内容不可见。 AOM只采集最近修改过的前20个日志文件,且不采集子目录。 AOM只采集日志路径下的“.log”、“.trace”、“.out”文本日志文件。 日志存储空间 日志的存储空间大小。 AOM对日志卷中的日志按50MB进行防爆处理,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除。
  • 使用流程 AOM使用流程如下图所示。 图1 AOM使用流程 开通AOM(必选) 创建子账号并设置权限(可选) 购买云主机(必选) 安装ICAgent(必选) ICAgent是AOM的采集器,用于实时采集指标、日志和应用性能数据。 如果是通过CCE购买的云主机,购买后自动安装ICAgent。 配置应用发现规则(可选) 满足内置发现规则的应用,安装ICAgent后该应用会自动被发现;对于不满足内置应用发现规则的,您则需配置应用发现规则。 配置日志采集路径(可选) 如果您需使用AOM监控主机的日志,则需配置日志采集路径。 运维(可选) 您可使用AOM的监控总览、告警管理、资源监控、日志管理等功能进行日常运维。
  • 控制台说明 表1 AOM控制台说明 类别 说明 总览 提供监控概览及仪表盘功能。 监控概览 “监控概览”界面提供了资源、应用、应用用户体验的全链路、多层次、一站式运维界面。 仪表盘 通过仪表盘可将不同图表展示到同一个屏幕上,通过不同的仪表形式来展示资源数据,例如,曲线图、数字图等,进而全面、深入地掌握监控数据。 告警 提供告警列表、事件列表、告警规则、告警通知等功能。 告警列表 告警是指AOM自身或外部服务在异常情况或在可能导致异常情况下上报的信息,并且您需采取相应措施清除故障,否则会由于AOM自身或外部服务的功能异常而引起业务的异常。 告警列表展示已设时间范围内产生的告警。 事件列表 事件告诉您AOM自身或外部服务发生了某种变化,但不一定会引起业务异常,事件一般用来表达一些重要信息。 事件列表展示已设时间范围内产生的事件。 告警规则 通过告警规则可对服务设置事件条件或者对资源的指标设置阈值条件。当服务的资源数据满足事件条件时产生事件类告警。当资源的指标数据满足阈值条件时产生阈值告警,当没有指标数据上报时产生数据不足事件,以便您在第一时间发现异常并进行处理。 告警通知 AOM提供了告警通知功能,您可通过创建通知规则、告警行动规则或告警降噪进行详细配置,当AOM自身或外部服务存在异常或可能存在异常而产生告警时,可利用此功能将告警信息通过邮件或短信发送给您指定的人员,以便提醒相关人员及时采取措施清除故障,避免造成业务损失。 监控 提供应用监控、组件监控、主机监控、容器监控、指标浏览等功能。 应用监控 应用是您根据业务需要,对相同或者相近业务的一组组件进行逻辑划分,AOM提供以应用维度整体进行监控。 组件监控 组件即您部署的服务,包括容器和普通进程。 组件列表展示了每个组件的类型、CPU占用、内存占用和告警状态等信息,AOM支持从组件下钻到实例,从实例下钻到容器。通过各层状态,您可完成对组件的立体监控。 主机监控 通过AOM您可监控主机的资源占用与健康状态,监控主机的磁盘、文件系统等常用系统设备,监控运行在主机上的业务进程或实例的资源占用与健康状态。 容器监控 容器监控的对象仅为通过CCE部署的工作负载、通过ServiceStage创建应用。 指标浏览 指标浏览展示了各资源的指标数据,您可实时监控指标值及趋势,还可将关注的指标添加到仪表盘,对其创建阈值规则和导出监控报告等操作,以便实时查看业务及分析数据。 云服务监控 云服务监控展示华为云各服务实例的历史性能数据曲线。最长可查阅近6个月内的数据,有助于用户了解实例运行状况。 日志 提供日志搜索、日志文件、日志转储、日志路径等功能。 日志搜索 当需要通过日志来分析和定位问题时,使用日志搜索功能可帮您快速在海量日志中查询到所需的日志,您还可结合日志的来源信息和上下文原始数据一起辅助定位问题。 日志文件 您可快速查看组件实例的日志文件,以便定位问题。 日志转储 AOM支持将日志转储到 对象存储服务 (Object Storage Service,简称OBS)的OBS桶中,以便进行长期存储。 日志路径 AOM支持容器服务日志和虚机(这里的虚机指操作系统为Linux的弹性云服务器或裸金属服务器)日志采集,即采集您自定义的日志文件并展现在AOM界面中,以供您检索。使用该功能前首先要配置日志采集路径。 日志桶 日志桶是对日志文件逻辑上的分组,可用于转储、创建统计规则、以日志桶为单位查看日志等。 统计规则 统计规则以日志桶为单位,您可在规则中配置关键词,AOM会统计该关键词在日志桶中每分钟出现的条数,并生成日志指标。 日志结构化 日志结构化支持对原始日志按照正则表达式或者特殊字符进行分隔,以便对结构化后的日志按照SQL语法进行查询与分析。 接入LTS 通过添加接入规则,可以将AOM中的CCE、CCI或自定义集群的日志映射至LTS,通过LTS查看和分析日志。映射不会产生额外的费用(除重复映射外)。 配置管理 提供ICAgent管理、应用发现、日志配置等功能。 ICAgent管理 ICAgent用于采集指标、日志和应用性能数据。对于在ECS、BMS控制台直接购买的主机,您需手动安装ICAgent。对于通过CCE间接购买的主机,ICAgent会自动安装,您不用安装ICAgent。 数据订阅 支持用户订阅指标或者告警信息,订阅后可以将数据转发到用户配置的kafka或DMS的Topic中,供消费者消费转发的订阅的信息。 应用发现 应用发现是指AOM通过配置的规则发现和收集您主机上部署的应用和关联的指标。 日志配置 提供日志配额和分词设置功能。 配额配置 当指标超过配额时,时间较早的指标将会被删除。 指标配额可通过切换基础版(受限免费)和按需版(按需计费)来修改。 指标配置 指标采集开关用来控制是否对指标数据进行采集(SLA指标、自定义指标除外)。
  • 使用流程 应用运维管理 (Application Operations Management,以下简称AOM)是云上应用的一站式立体化运维管理平台,实时监控您的应用及相关云资源,分析应用健康状态,提供灵活的告警及丰富的 数据可视化 功能,帮助您及时发现故障,全面掌握应用、资源及业务的实时运行状况。 图1 AOM使用流程 开通AOM(必选) 创建子账号并设置权限(可选) 给企业中不同职能部门的员工创建IAM用户,还可以根据企业用户的职能设置不同的访问权限。 购买云主机(必选) 每一台主机对应云上的一台虚拟机(例如:弹性 云服务器ECS )或物理机(例如:裸金属服务器BMS)。主机可以在ECS、BMS直接购买,也可以通过CCE间接购买。 安装ICAgent(必选) ICAgent是AOM的采集器,用于实时采集指标、日志和应用性能数据。对于在ECS、BMS控制台直接购买的主机,您需要手动安装ICAgent。对于通过CCE购买的主机,ICAgent会自动安装。 配置应用发现规则(可选) 将运行在主机上的应用接入AOM,以便能在AOM界面监控。满足内置应用发现规则的应用,安装ICAgent后该应用会自动被发现;对于不满足内置应用发现规则的应用,您则需配置应用发现规则。 配置日志采集路径(可选) 如果您需使用AOM监控主机的日志,则需配置日志采集路径。 运维(可选) 您可使用AOM的仪表盘、告警通知等功能进行日常运维。
  • API概览 表1 流水线接口说明 分类 接口 模板管理 包括查询模板列表、创建流水线模板、查询模板详情等接口。 流水线管理 包括启动流水线、批量获取流水线状态、获取流水线状态/获取流水线执行详情等接口。 分组管理 包括新建流水线分组、更新流水线分组、删除流水线分组等接口。 规则管理 包括获取单条规则详情、分页获取规则列表、更新规则等接口。 租户级策略管理 包括创建规则集、修改规则集、获取规则集详情等接口。 租户级开源治理策略管理 包括创建租户级开源治理策略、修改租户级开源治理策略、查询租户级开源治理策略详情等接口。 项目级策略管理 包括获取项目级策略列表和查询项目级策略列表两个接口。 项目级开源治理策略管理 包括查询项目级开源治理策略详情和查询项目级开源治理策略列表两个接口。 扩展插件管理 包括创建插件版本、创建插件草稿版本、创建发布商等接口。 模板管理(旧版,待下线) 包括查询模板列表和查询模板详情两个接口。 流水线管理(旧版,待下线) 包括基于模板快速创建流水线及流水线内任务、检查流水线创建状态、启动流水线等接口。
共100000条