华为云用户手册

  • 入门实践 当完成 MRS 集群部署后,可以根据自身的业务需求使用MRS提供的一系列常用实践。 表1 MRS常用最佳实践 实践 描述 数据分析 使用Spark2x实现车联网车主驾驶行为分析 本实践指导使用Spark实现车主驾驶行为分析。用于了解MRS的基本功能,利用MRS服务的Spark2x组件,对车主的驾驶行为进行分析统计,得到用户驾驶行为的分析结果,分析统计指定时间段内,车主急加速、急减速、空挡滑行、超速、疲劳驾驶等违法行为的次数。 使用Hive加载HDFS数据并分析图书评分情况 本实践指导使用Hive对原始数据进行导入、分析等操作,展示了如何构建弹性、低成本的离线大数据分析。以某图书网站后台用户的点评数据为原始数据,导入Hive表后通过SQL命令筛选出最受欢迎的畅销图书。 使用Hive加载OBS数据并分析企业雇员信息 本实践指导使用Hive对OBS中存储的原始数据进行导入、分析等操作,展示了如何构建弹性、低成本的存算分离大数据分析。以用户开发一个Hive数据分析应用为例,通过客户端连接Hive后,执行HQL语句访问OBS中的Hive数据。进行企业雇员信息的管理、查询。 通过Flink作业处理OBS数据 本实践指导使用MRS集群内置的Flink WordCount作业程序,来分析OBS文件系统中保存的源数据,以统计源数据中的单词出现次数。 MRS支持在大数据存储容量大、计算资源需要弹性扩展的场景下,用户将数据存储在OBS服务中,使用MRS集群仅做数据计算处理的存算分离模式。 数据迁移 数据迁移方案介绍 本实践适用于多种不同场景下的HDFS、HBase、Hive数据向MRS集群的迁移工作。 介绍数据迁移前的准备工作、元数据导出、数据拷贝、数据恢复等内容。 Hadoop数据迁移到华为云MRS服务 本实践使用华为云 CDM 服务将Hadoop集群中的数据(支持数据量在几十TB级别或以下的数据量级)迁移到华为云MRS服务。 HBase数据迁移到华为云MRS服务 本实践使用华为云CDM服务将HBase集群中的数据(支持数据量在几十TB级别或以下的数据量级)迁移到华为云MRS服务。HBase会把数据存储在HDFS上,主要包括HFile文件和WAL文件,由配置项“hbase.rootdir”指定在HDFS上的路径,华为云MRS的默认存储位置是“/hbase”文件夹下。 HBase自带的一些机制和工具命令也可以实现数据搬迁,例如:通过导出Snapshots快照、Export/Import、CopyTable方式等。 Hive数据迁移到华为云MRS服务 本实践使用华为云CDM服务将Hive集群中的数据(支持数据量在几十TB级别或以下的数据量级)迁移到华为云MRS服务。 Hive数据迁移分两部分内容: Hive的元数据信息,存储在MySQL等数据库中。MRS Hive集群的元数据会默认存储到MRS DBService(华为的Gaussdb数据库),也可以选择RDS(MySQL)作为外置元数据库。 Hive的业务数据,存储在HDFS文件系统或OBS对象存储中。 MySQL数据迁移到MRS集群Hive分区表 本实践使用CDM云服务将MySQL数据导入到MRS集群内的Hive分区表中。 Hive提供类SQL查询语言,帮助用户对大规模的数据进行提取、转换和加载,即通常所称的ETL(Extraction,Transformation,and Loading)操作。对庞大的数据集查询需要耗费大量的时间去处理,在许多场景下,可以通过建立Hive分区方法减少每一次扫描的总数据量,这种做法可以显著地改善性能。 MRS HDFS数据迁移到OBS 本实践以MRS HDFS数据迁移到OBS为例,介绍如何通过CDM将文件类数据迁移到文件中。 系统对接 使用DBeaver访问Phoenix 本实践介绍如何使用DBeaver访问Phoenix。 本地安装的DBeaver可通过Phoenix Jar包对接MRS集群HBase组件。对接成功后,可在DBeaver中创建HBase表并插入数据。 使用DBeaver访问HetuEngine 本实践介绍如何使用DBeaver访问HetuEngine。 本地安装的DBeaver可通过JDBC Jar包对接MRS集群HetuEngine组件。对接成功后,可在DBeaver中查看HetuEngine已对接的数据源信息。 Hive对接外置自建关系型数据库 本实践介绍如何使用Hive对接开源MySQL和Postgres数据库。 在已有Hive数据的集群上外置元数据库后,之前的元数据表不会自动同步。因此在安装Hive之初就要确认好元数据是外置数据库还是内置到DBService,如果是外置自建数据库,则需在安装Hive时或者暂无Hive数据时将元数据外置,安装后不允许修改,否则将会造成原有元数据丢失。 Hive对接 CSS 服务 本实践介绍如何使用Hive对接 CS S的Elasticsearch服务。 利用Elasticsearch-Hadoop插件,完成Hive和CSS服务的Elasticsearch直接的数据交互,通过Hive外部表的方式,可以快速将Elasticsearch索引数据映射到Hive表中。
  • 配置流程 将VPC1和VPC-NAT接入企业路由器中 配置NAT网关 配置VPC1路由表 (可选)使用业务VPC下的测试机访问外网测试网络连通性,正常访问则证明NAT配置成功。 开启VPC间防火墙防护,请参见开启VPC间防火墙。 (可选)再次使用业务VPC下测试机进行网络连通性测试,查看防火墙流量日志中有响应记录,则证明防火墙引流成功。查询流量日志请参见流量日志。 在防火墙上配置NAT防护规则。 (可选)使用测试机,访问IP或 域名 ,查看访问控制日志是否有命中该条规则的日志,有则证明防护规则生效,查询访问控制日志请参见访问控制日志。 在验证通过后,逐步切换类生产/现网业务到 云防火墙 。 图1 SNAT防护配置流程
  • 配置建议 建议为NAT网关创建独立VPC不用于云服务器等实例网络配置,避免影响后续的访问控制。 在前期网络规划复杂甚至不合理的情况下(例如存在VPC网段重叠、NAT网关已有复杂配置、已通过VPC-Peering配置东西向通信等场景下),请充分评估网络互连、环路、路由冲突等风险。 因涉及组件多,不建议直接将现网业务导入,可先创建测试机,并在业务VPC路由表中配置目的地址路由,利用业务VPC中的测试机验证整个业务流是否走通及配置的规则是否有效,再对现网业务进行切流。 使用云防火墙后,避免第一时间配置拦截规则。建议首先验证流量接入防火墙后业务是否正常,逐步增加规则,并及时验证功能,一旦发现有问题,需及时关闭防护,避免现网业务受损。 对于SNAT EIP,外到内无法主动访问,内到外的访问控制规则使用的是互联网边界防护的能力,建议不在“弹性公网IP管理”页面中对SNAT所绑定的EIP开启防护,避免规则和日志混乱。
  • 前提条件 已购买NAT网关:如果该网关对应的VPC未关联云资源(如云服务器),则可用于后续配置。 未购买NAT网关:需购买NAT网关,请参见购买公网NAT网关。关于NAT网关的收费,请参见计费说明(公网NAT网关)。 VPC-NAT关联NAT网关后,在默认路由表中默认添加一条路由(目的地址:0.0.0.0/0,“下一跳类型”为NAT网关),这个路由会将到达VPC-NAT的流量转向NAT网关,这条路由需注意不能删除。
  • 资源和成本规划 本节介绍SNAT防护中的资源和成本规划。 表1 资源说明 资源 资源说明 数量 成本说明 NAT网关(NAT Gateway) 被防护的资源。 1 具体的计费方式及标准请参考NAT网关计费说明。 弹性公网IP(Elastic IP) EIP,NAT网关绑定的EIP。 至少1个 具体的计费方式及标准请参考EIP计费说明。 虚拟私有云(Virtual Private Cloud) NAT网关所在的VPC; CFW通过防护VPC实现NAT网关的流量防护。 1 具体的计费方式及标准请参考VPC计费说明。 企业路由器(Enterprise Router) ER,连接VPC和互联网到云防火墙的流量。 1 具体的计费方式及标准请参考ER计费说明。 云防火墙(Cloud Firewall) CFW,仅专业版提供SNAT防护。 1 具体的计费方式及标准请参考CFW计费说明。 父主题: 通过配置CFW防护规则实现SNAT流量防护
  • 子表单调用次数 主表单提交一行数据,算1次调用,其中包含子表单几行数据算几次调用。 例如,员工信息表包含工作经历子表单和家庭成员子表单,提交一行员工信息时,增加了3行工作经历2行家庭成员,则共算6次调用。 批量导入主表单时,调用次数为“表格内的调用次数”+“导入动作1次”。 例如,表格内有2条数据,第一行是1个员工信息,包含3行工作经历2行家庭成员;第二行是1个员工信息,包含1行工作经历1个家庭成员。批量导入主表单时,调用次数计算10次,即6(1+3+2)+3(1+1+1)+1(导入动作)。 提交的主表单中包含子表单,批量上传导入子表单数据时,不计算调用次数,调用次数在提交该行主表单时统一进行计算。 导出表单数据时,导出动作算1次,下载导出文件算1次。
  • 集群管理功能 集群创建:在CloudTable集群管理界面完成集群的创建。支持用户创建Doris集群时选择Frontends\Backends的计算规格、存储规格。 集群查看:在CloudTable集群管理界面可以查看集群详情。 集群管理:对创建的集群进行管理。 集群监控指标查看:对接 CES 服务,可以查看Doris集群相关的监控指标,用户以图形化的方式呈现集群运行状况。当指标出现异常时,通过 消息通知 用户和管理员,及时人工介入。 重启集群:因长时间不重启导致系统运行缓慢等情况下,用户需要重启集群。重启操作将有可能会导致正在运行中的业务数据丢失,如果需要执行重启操作,请确定不存在正在运行的业务,所有数据都已经保存。 删除集群:当用户不再需要集群时,可选择删除集群。此操作为高危操作,删除集群可能导致数据丢失,因此在执行删除操作之前,请确认不存在正在运行的业务,所有数据都已经保存。 扩容集群:用户根据实际需要或业务情况,动态的增加计算单元的个数,保证读写性能。集群自适应的实现负载均衡,保证业务不中断,平滑扩容。
  • Doris产品介绍 Doris是基于MPP架构的高性能、实时的分析型数据库,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也可以支持高吞吐的复杂分析场景。因此,Doris能够较好的满足报表分析、即席查询、统一数仓构建、 数据湖 联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB实验平台、日志检索分析、用户画像分析、订单分析等应用。 Doris最早是诞生于广告报表业务的Palo项目。目前Doris社区已经聚集了来自不同行业近百家企业的300余位贡献者,并且每月活跃贡献者人数也接近100位。2022年6月,Doris成功从Apache孵化器毕业,正式成为Apache顶级项目(Top-Level Project,TLP),Doris如今在中国乃至全球范围内都拥有着广泛的用户群体,截止目前,Doris已经在全球超过500家企业的生产环境中得到应用,在中国市值或估值排行前50的互联网公司中,有超过80%长期使用Doris。同时在一些传统行业如金融、能源、制造等领域也有着丰富的应用。
  • 产品优势 性能优异:自带高效的列式存储引擎,减少数据扫描量的同时还实现了超高的数据压缩比例。同时Doris还提供了丰富的索引结构来加速数据读取与过滤,利用分区分桶裁剪功能,Doris可以支持在线服务业务的超高并发,单节点最高可支持上千QPS。更进一步,Doris结合了向量化执行引擎来充分发挥现代化CPU并行计算能力,辅以智能物化视图技术实现预聚合加速,并可以通过查询优化器同时进行基于规划和基于代价的查询优化。 简单易用:支持标准ANSI SQL语法,包括单表聚合、排序、过滤和多表Join、子查询等,还支持窗口函数、Grouping Set等复杂SQL语法。除此之外,Doris还实现了MySQL协议兼容,用户可以通过各类客户端工具来访问Doris,并支持与BI工具的无缝对接。 架构精简:系统只有两个Frontend(FE)和Backend(BE)两个模块,其中FE节点负责用户请求的接入、查询计划的解析、元数据存储及集群管理等工作,BE节点负责数据存储和查询计划的执行,自身就是一个完备的 分布式数据库 管理系统,用户无需安装任何第三方管控组件即可运行起Doris集群。同时,任一模块都可以支持横向拓展,集群最高可以拓展到数百个节点,支持存储超过10PB的超大规模数据。 稳定可靠:支持数据多副本存储,集群具备自愈功能,自身的分布式管理框架可以自动管理数据副本的分布、修复和均衡,副本损坏时系统可以自动感知并进行修复。 生态丰富:提供丰富的数据同步方式,支持快速加载来自本地、Hadoop、Flink、Spark、Kafka、SeaTunnel等系统中的数据,也可以直接访问MySQL、PostgreSQL、Oracle、S3、Hive、Iceberg、Elasticsearch等系统中的数据而无需数据复制。同时存储在Doris中的数据也可以被Spark、Flink读取,并且可以输出给上游数据应用进行展示分析。
  • 应用场景 用户行为分析。 在网站、App和游戏中,对用户的点击、浏览时长等使用数据进行收集,导入到云 数据仓库 ClickHouse中,构建用户特征分析大宽表。利用云ClickHouse的优异查询性能,分析系统进行多维度、多模式分析时,可以在亚秒级内响应,快速分析出用户行为特征和规律,为精准营销和会员转化等业务提供有效支持。 企业经营分析。 在企业经营分析中,把规模庞大的业务数据导入到云数据仓库ClickHouse,对数亿记录或更大规模的大宽表和数百维度的查询,都能在亚秒级内响应,得到查询结果。让客户随时进行个性化统计和不间断的分析,辅助商业决策。 访客来源分析展示。 通过批量离线计算对用户访问日志中的用户行为进行关联,生成用户行为路径大宽表同步到ClickHouse,基于ClickHoue构建交互式访客来源探索分析可视化系统。 BI报表。 利用ClickHouse构建实时交互查询报表,实时分析订单、收入、用户数等核心业务指标。 用户分群统计。 构建用户信息表,实时选择用户属性标签数据和筛选条件,通过大量的数据记录进行人群特征统计分析。
  • 使用预置框架 + 自定义镜像 此功能与直接基于预置框架创建训练作业的区别仅在于,镜像是由用户自行选择的。用户可以基于预置框架制作自定义镜像。基于预置框架制作自定义镜像可参考使用基础镜像构建新的训练镜像章节。 图1 使用预置框架+自定义镜像创建算法 该功能的行为与直接基于预置框架创建的训练作业相同,例如: 系统将会自动注入一系列环境变量 PATH=${MA_HOME}/anaconda/bin:${PATH} LD_LIBRARY_PATH=${MA_HOME}/anaconda/lib:${LD_LIBRARY_PATH} PYTHONPATH=${MA_JOB_DIR}:${PYTHONPATH} 您选择的启动文件将会被系统自动以python命令直接启动,因此请确保镜像中的Python命令为您预期的Python环境。注意到系统自动注入的PATH环境变量,您可以参考下述命令确认训练作业最终使用的Python版本: export MA_HOME=/home/ma-user; docker run --rm {image} ${MA_HOME}/anaconda/bin/python -V docker run --rm {image} $(which python) -V 系统将会自动添加预置框架关联的超参
  • 完全使用自定义镜像 图2 完全使用自定义镜像创建算法 训练支持的自定义镜像使用说明请参考使用自定义镜像创建训练作业。 完全使用自定义镜像场景下,指定的“conda env”启动训练方法如下: 由于训练作业运行时不是shell环境,因此无法直接使用“conda activate”命令激活指定的 “conda env”,需要使用其他方式以达成使用指定“conda env”来启动训练的效果。 假设您的自定义镜像中的“conda”安装于“/home/ma-user/anaconda3”目录“conda env”为“python-3.7.10”,训练脚本位于“/home/ma-user/modelarts/user-job-dir/code/train.py”。可通过以下方式使用指定的“conda env”启动训练: 方式一:为镜像设置正确的“DEFAULT_CONDA_ENV_NAME”环境变量与“ANACONDA_DIR”环境变量。 ANACONDA_DIR=/home/ma-user/anaconda3 DEFAULT_CONDA_ENV_NAME=python-3.7.10 您可以使用Python命令启动训练脚本。启动命令示例如下: python /home/ma-user/modelarts/user-job-dir/code/train.py 方式二:使用“conda env python”的绝对路径。 您可以使用“/home/ma-user/anaconda3/envs/python-3.7.10/bin/python”命令启动训练脚本。启动命令示例如下: /home/ma-user/anaconda3/envs/python-3.7.10/bin/python /home/ma-user/modelarts/user-job-dir/code/train.py 方式三:设置PATH环境变量。 您可以将指定的“conda env bin”目录配置到PATH环境变量中。您可以使用Python命令启动训练脚本。启动命令示例如下: export PATH=/home/ma-user/anaconda3/envs/python-3.7.10/bin:$PATH; python /home/ma-user/modelarts/user-job-dir/code/train.py 方式四:使用“conda run -n”命令。 您可以使用“/home/ma-user/anaconda3/bin/conda run -n python-3.7.10”命令来执行训练命令,启动命令示例如下: /home/ma-user/anaconda3/bin/conda run -n python-3.7.10 python /home/ma-user/modelarts/user-job-dir/code/train.py 如果在训练时发生找不到“$ANACONDA_DIR/envs/$DEFAULT_CONDA_ENV_NAME/lib ”目录下“.so”文件的相关报错,可以尝试将该目录加入到“LD_LIBRARY_PATH”,将以下命令放在上述启动方式命令前: export LD_LIBRARY_PATH=$ANACONDA_DIR/envs/$DEFAULT_CONDA_ENV_NAME/lib:$LD_LIBRARY_PATH; 例如,方式一的启动命令示例此时变为: export LD_LIBRARY_PATH=$ANACONDA_DIR/envs/$DEFAULT_CONDA_ENV_NAME/lib:$LD_LIBRARY_PATH; python /home/ma-user/modelarts/user-job-dir/code/train.py
  • Step1 登录SWR 登录 容器镜像服务 控制台,选择区域。 单击右上角“创建组织”,输入组织名称完成组织创建。您可以自定义组织名称,本示例使用“deep-learning”,实际操作时请重新命名一个组织名称。后续所有命令中使用到组织名称deep-learning时,均需要替换为此处实际创建的组织名称。 单击右上角“登录指令”,获取登录访问指令。 以root用户登录ECS环境,输入登录指令。 图1 在ECS中执行登录指令
  • 操作步骤 登录弹性云服务器管理控制台。 登录已创建好的Linux系统云服务器,用于同时访问SFS容量型文件系统和其他文件系统。 输入以下挂载命令,用于访问文件系统1。文件系统1是SFS容量型文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统1挂载地址 /mnt/src 输入以下挂载命令,用于访问文件系统2。文件系统2可以是通用文件系统或SFS Turbo文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统2挂载地址 /mnt/dst 在Linux云服务器中执行以下命令安装rclone工具。 wget https://downloads.rclone.org/v1.53.4/rclone-v1.53.4-linux-amd64.zip --no-check-certificate unzip rclone-v1.53.4-linux-amd64.zip chmod 0755 ./rclone-*/rclone cp ./rclone-*/rclone /usr/bin/ rm -rf ./rclone-* rclone工具不保留源端的文件权限或属组信息,有相关需求请使用rsync工具。 执行以下命令,进行数据同步。 rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs 参数说明如下,transfers和checkers数目可以根据系统规格自行配置: /mnt/src :源路径 /mnt/dst:目标路径 --transfers:传输文件的并发数目。 --checkers:扫描本地文件的并发数目。 -P:数据拷贝进度。 --links:复制源端的软链接,目的端保持为软链接的形式。 --copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。 --create-empty-src-dirs:复制源端的空目录到目的端。 等待数据完成同步后,可前往目标文件系统查看是否已成功迁移。
  • 操作步骤 已经成功在北京一可用区2创建一台CentOS系统的云服务器如ecs-whm,如图1所示。 图1 成功创建云服务器 以root用户登录弹性云服务器。安装NFS客户端。 查看系统是否安装NFS软件包。 CentOS、Red Hat、Oracle Enterprise Linux、SUSE、Euler OS、Fedora或OpenSUSE系统下,执行如下命令: rpm -qa|grep nfs Debian或Ubuntu系统下,执行如下命令: dpkg -l nfs-common 不同操作系统回显会有所不同,如果回显如下类似信息,说明已经成功安装NFS软件包,执行步骤3。如未显示,执行步骤2.2。 CentOS、Red Hat、Euler OS、Fedora或Oracle Enterprise Linux系统下,回显如下类似信息: libnfsidmap nfs-utils SUSE或OpenSUSE系统下,回显如下类似信息: nfsidmap nfs-client Debian或Ubuntu系统下,回显如下类似信息: nfs-common 如果查看到未安装,根据不同的操作系统,执行不同命令。 执行以下命令前要求云服务器已连接到互联网,否则安装NFS客户端失败。 CentOS、Red Hat、Euler OS、Fedora或Oracle Enterprise Linux系统下,执行如下命令: sudo yum -y install nfs-utils Debian或Ubuntu系统下,执行如下命令: sudo apt-get install nfs-common SUSE或OpenSUSE系统下,执行如下命令: zypper install nfs-client 执行如下命令,查看是否能解析文件系统挂载地址中的域名。如图2所示。 nslookup 文件系统域名 nslookup sfs-nas1.xx-xxxx-xx.xxxxxxxxxxx.com 文件系统域名仅为域名,如:sfs-nas1.xxxx.com。文件系统域名请从文件系统的挂载地址中获取,不需要输入整个挂载地址。 无法使用nslookup命令时,需要先安装bind-utils软件包。(可通过执行yum install bind-utils命令安装) 解析成功,执行步骤4。 解析失败,请先完成DNS服务器IP地址的配置再执行挂载文件系统的操作,具体配置操作请参见配置DNS。 图2 解析域名 执行如下命令,创建用于挂载文件系统的本地目录。此时记录本地目录名字,此处以root001为例。 mkdir 本地目录 mkdir root001 执行如下命令,将文件系统挂载到云服务器上。文件系统目前仅支持NFSv3协议挂载到Linux云服务器,其中变量说明见表1。 mount -t nfs -o vers=3,timeo=600,nolock 挂载地址 本地目录 已挂载文件系统的云服务器重启后,该云服务器上的挂载信息将会丢失,您可以通过在fstab文件中配置自动挂载来保证云服务器重启时自动挂载文件系统,具体操作请参见自动挂载文件系统。 表1 参数说明 参数 说明 vers 文件系统版本,目前只支持NFSv3。取值:3。 timeo NFS客户端重传请求前的等待时间(单位为0.1秒)。建议值:600。 lock/nolock 选择是否使用NLM协议在服务器上锁文件。当选择nolock选项时,锁对于同一主机的应用有效,对不同主机不受锁的影响。建议值:nolock。 挂载地址 SFS文件系统的格式为:文件系统域名:/路径,例如:example.com:/share-xxx。SFS Turbo文件系统的格式为:文件系统IP:/,例如192.168.0.0:/。 说明: x是数字或字母。 由于挂载地址名称较长,需要拉宽该栏以便完整显示。 本地目录 云服务上用于挂载文件系统的本地目录,例如“/local_path”。 图3 挂载地址 挂载完成后,执行如下命令,查看已挂载的文件系统。 mount -l 如果回显包含如下类似信息,说明挂载成功。 example.com:/share-xxx on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=) 挂载成功后,参考下一个章节创建普通用户和子目录。 如果挂载失败或超时,请参考故障排除处理。 支持写入的单个文件最大容量为240TB。
  • Prometheus 运行环境接入 通过该功能可将CCE 、CCI容器指标和ECS虚机指标上报到 AOM 。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“Prometheus 运行环境”面板单击需要接入的指标卡片。 云容器引擎CCE 在购买后集群后默认已经安装ICAgent,自动将CCE集群指标上报到AOM,用户无需手动接入。 单击“云容器引擎 CCE (ICAgent)”卡片,可查看已接入的CCE集群指标。自动上报到AOM的CCE集群指标,详细说明请参见基础指标-虚机指标。 云容器实例CCI服务默认自动将指标上报到AOM,其指标数据开箱即用。用户无需手动接入。 单击“云容器实例 CCI”卡片,可查看已接入的CCI指标。自动上报到AOM的CCI指标,详细说明请参见基础指标-虚机指标。 单击“ECS ICAgent (Old)”卡片,在“虚机接入”界面,单击“安装UniAgent”,为ECS主机安装UniAgent。 UniAgent成功安装后,会自动上报ECS虚机指标到AOM。ECS虚机指标的详细说明请参见基础指标-虚机指标。 单击“ECS Node Exporter”卡片,在“ECS Node Exporter”弹框中安装Node Exporter,具体操作请参见安装Node Exporter。
  • Prometheus 自定义插件接入 通过该功能可以自定义插件创建采集任务,从而监控该组件的相关指标,并通过Exporter上报数据库指标,用于异常报警和Grafana监控大盘展示。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“Prometheus 自定义插件接入”面板单击“新增自定义插件”。 配置插件参数,具体配置说明请参见创建自定义插件的参数说明。 自定义插件创建完成后,单击需要接入的自定义插件卡片。 单击“新增采集任务”页签,可以配置自定义插件采集任务,具体配置说明请参见自定义插件接入的参数说明部分。 单击“采集任务”页签,可以对此自定义插件的采集任务进行查看、启停、编辑、删除等操作,具体操作说明请参见其他相关操作。
  • 应用层接入 通过该功能可接入组件性能图表或接口性能指标,例如请求平均时延、错误调用次数、请求吞吐量。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“应用层”面板单击需要接入的指标卡片。 单击“Java”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见监控JAVA应用。 单击“Node.js”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见监控Node.js应用。 单击“Python”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见开始监控Python应用。 单击“Go”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见开始监控GO应用。 单击“Php”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见开始监控Php应用。 单击“.NET”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见开始监控.Net应用。 单击“C++”卡片,在“接入应用”界面接入相关应用层指标,具体操作请参见开始监控C++应用。
  • Prometheus 云服务接入 通过该功能可接入云服务相关指标,例如CPU使用率、内存使用率、健康状态。 ModelArts服务默认自动将指标上报到AOM,其指标数据开箱即用。ModelArts指标的详细说明请参考基础指标-Modelarts指标。 IoTDA服务默认自动将指标上报到AOM,其指标数据开箱即用。IoTDA指标的详细说明请参考基础指标-IoTDA指标。 IEF服务默认自动将指标上报到AOM,其指标数据开箱即用。IEF指标的详细说明请参考基础指标-IEF指标。 其他云服务( 函数工作流 FunctionGraph、云硬盘 EVS、云备份 CBR、 对象存储服务 OBS、虚拟私有云 VPC、弹性负载均衡 ELB、云专线 DC、NAT网关 NAT、分布式消息服务 DMS、分布式缓存 DCS、关系型数据库 RDS、文档数据库服务 DDS、 数据复制服务 DRS、 湖仓构建 LakeFormation 、云原生数据湖 MRS、数据仓库服务 GaussDB DWS、 云搜索服务 CSS、 Web应用防火墙 WAF)指标的详细描述请参见云服务指标说明。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“Prometheus 云服务”面板单击需要接入的云服务指标卡片。 在弹出的云服务“指标接入”对话框中接入云服务,具体操作说明请参见接入云服务。 云服务接入成功后,单击云服务“指标接入”对话框中的“查看 Prometheus 实力详情”,可以跳转至Prometheus For 云服务实例详情页面。
  • Prometheus 中间件接入 通过该功能可接入原生中间件或云中间件指标,例如文件系统容量、文件系统使用率、集群索引状态等。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“Prometheus 中间件”面板单击需要接入的指标卡片。 在“安装步骤”页签,可以配置采集任务和安装Exporter,具体操作请参见虚机场景Exporter接入。 在“采集任务”页签,可以对此中间件的采集任务进行查看、启停、编辑、删除等操作,具体操作请参见其他相关操作。
  • 业务层接入 通过该功能可获取提取的ELB日志、事务监控或上报的自定义指标,例如用户数、订单数。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“业务层”面板单击需要接入的指标卡片。 单击“基于ELB日志”卡片,在“日志指标规则”界面接入相关的ELB日志指标,具体操作请参见创建日志指标规则。 单击“基于 APM 事务”卡片,在“接入应用”界面接入相关的APM事务指标,具体操作请参见Agent管理。 单击“Browser监控”卡片,在“前端站点”页面,单击“接入前端站点”接入相关的前端站点指标,具体操作请参见接入前端站点。
  • 数据订阅格式说明 AOM格式的指标JSON格式代码片断 package metric type MetricDatas struct { Metrics []Metrics `json:"metrics"` ProjectId string `json:"project_id"` } type Metrics struct { Metric Metric `json:"metric"` Values []Value `json:"values"` CollectTime int64 `json:"collect_time"` } type Metric struct { Namespace string `json:"namespace"` Dimensions []Dimension `json:"dimensions"` } type Value struct { Value interface{} `json:"value"` Type string `json:"type"` Unit string `json:"unit"` StatisticValues string `json:"statisticvalues"` MetricName string `json:"metric_name"` } type Dimension struct { Name string `json:"name"` Value string `json:"value"` } kafka消息示例 key:, value:{"metrics":[{"metric":{"namespace":"PAAS.NODE","dimensions":[{"name":"nodeName","value":"test-aom-4-vss-cop-master-1"},{"name":"nodeIP","value":"1.1.1.1"},{"name":"hostID","value":"75d97111-4734-4c6c-ae9e-f6111111111"},{"name":"nameSpace","value":"default"},{"name":"clusterId","value":"46a7bc0d-1d8b-11ea-9b04-333333333333333"},{"name":"clusterName","value":"test-aom-4-vss-111"},{"name":"diskDevice","value":"vda"},{"name":"master","value":"true"}]},"values":[{"value":0,"type":"","unit":"Kilobytes/Second","statisticvalues":"","metric_name":"diskReadRate"},{"value":30.267,"type":"","unit":"Kilobytes/Second","statisticvalues":"","metric_name":"diskWriteRate"}],"collect_time":1597821030037}],"project_id":"111111111111111111111"} 告警数据格式说明 示例: { "events": [{ "id": "4346299651651991683", "starts_at": 1597822250194, "ends_at": 0, "arrives_at": 1597822250194, "timeout": 300000, "resource_group_id": "312313123112222222222232131312131", "metadata": { "kind": "Pod", "event_severity": "Major", "resource_type": "service", "clusterId": "6add4ef5-1358-11ea-a5bf-111111111", "event_type": "alarm", "clusterName": "cce-ief-4516140c-96ca-4a5f-8d85-1111111", "namespace": "PAAS.NODE", "name": "test15769793809553052-f5557bd7f-qnfkm", "event_name": "调度失败##FailedScheduling", "resource_id": "clusterName=cce-ief-4516140c-96ca-4a5f-8d85-111111;clusterID=6add4ef5-1358-11ea-a5bf-11111111111;kind=Pod;namespace=30d5758f166947c6b164af604a654b09;name=test15769793809553052-f5557bd7f-qnfkm;uid=589fc746-245d-11ea-a465-fa163e5fc15d", "nameSpace": "30d5758f166947c6b164af604a654b09", "resource_provider": "CCE", "nodeID": "589fc746-245d-11ea-a465-fa163e5fc15d" }, "annotations": { "alarm_probableCause_zh_cn": "FailedScheduling", "alarm_probableCause_en_us": "FailedScheduling", "message": "0/110 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 109 node(s) didn't match node selector." }, "attach_rule": { } }], "project_id": "312313123112222222222232131312131" } 参数说明: 表3 告警参数 参数 参数类型 描述 events Array of objects,详见 表4。 事件或者告警详情。 project_id String 租户从 IAM 申请到的projectid,一般为32位字符串。 表4 EventModel 参数 参数类型 描述 id String 事件或者告警id,系统自动生成。 starts_at Long 事件或者告警产生的时间,CST毫秒级时间戳。 ends_at Long 事件或者告警清除的时间,CST毫秒级时间戳,为0时表示未删除。 arrives_at Long 事件或者告警到达AOM的时间,CST毫秒级时间戳。 timeout Long 告警自动清除时间。毫秒数,例如一分钟则填写为60000。默认清除时间为3天。 resource_group_id String 资源组预留字段,当前默认和projectid的值一样。 metadata Object 事件或者告警的详细信息,为键值对形式。必须字段为: event_name:事件或者告警名称,类型为String; event_severity:事件级别枚举值。类型为String,四种类型 "Critical", "Major", "Minor", "Info"; event_type:事件类别枚举值。类型为String,event为普通告警,alarm为告警事件; resource_provider:事件对应云服务名称。类型为String; resource_type:事件对应资源类型。类型为String; resource_id:事件对应资源信息。类型为String。 annotations Object 事件或者告警附加字段,可以为空。 attach_rule Object 事件或者告警预留字段,为空。
  • 创建订阅规则 登录AOM 2.0控制台。 在左侧导航栏中选择“设置”,进入全局配置界面。 在左侧导航栏中选择“数据订阅”,单击“创建订阅规则”,根据实际需求,选择订阅内容为“分布式消息DMS订阅”或“Webhook”。 订阅内容选择“分布式消息服务DMS”。 请参考表1配置参数,设置相关参数后,单击“确定”。 表1 数据订阅规则参数说明 参数 说明 规则名称 订阅规则名称。 只能由大小写字母、数字、中划线和下划线组成,且必须以英文字母开头,最多不能超过64个字符。 订阅内容 选择“分布式消息DMS订阅”。 数据类型 支持“指标”和“告警”。 Prometheus实例 从下拉列表中选择需要转发指标的Prometheus实例。下拉列表中显示当前账号下的所有通用实例类型Prometheus实例。 该功能当前受限开放,如有需求可以通过提交工单,为您开放此功能。 实例 从下拉列表中选择合适的DMS实例。如现有DMS实例均不满足需要,请单击“创建DMS实例”创建。 验证DMS实例连通性。 数据订阅至DMS需要在IAM委托界面增加名为 "apm_admin_trust"委托,请确认是否已经创建。创建“apm_admin_trust”委托的详细操作请参见如何创建委托apm_admin_trust。 输入DMS用户名和密码。 单击“验证并保存DMS配置信息”。 选择数据发送topic后,单击“确定”。 订阅内容选择“Webhook”。 请参考表2配置参数,设置相关参数后,单击“确定”。 表2 数据订阅规则参数说明 参数 说明 规则名称 订阅规则名称。 只能由大小写字母、数字、中划线和下划线组成,且必须以英文字母开头,最多不能超过64个字符。 订阅内容 选择“webhook”。 自建普罗 Remote Write地址 请输入用户侧Prometheus实例的Remote Write地址,作为指标发送的目标地址。 传输请求的协议,请根据实际情况从下拉列表中选择,推荐使用HTTPS协议。 数据类型 默认为“指标”。 Prometheus实例 从下拉列表中选择需要转发指标的Prometheus实例。下拉列表中显示当前账号下的所有通用实例类型Prometheus实例。 鉴权方式 访问用户侧Prometheus实例的认证方式。 基础认证:输入用户侧Prometheus实例的用户名和密码。 Token:输入访问用户侧Prometheus实例的Token。 无认证:无需认证,即可访问用户侧Prometheus实例。 规则创建成功后,即可在规则列表中查看当前创建的数据订阅规则。
  • 创建委托apm_admin_trust 登录IAM控制台。 在左侧导航栏,单击“委托”,进入委托页面。 单击右上角“创建委托”,进入创建委托页面。 参考表5设置创建委托的参数。 表5 创建委托 名称 说明 样例 委托名称 标识该委托代理的名称。 须知: 委托名称必须为apm_admin_trust。 - 委托类型 选择“云服务”。 云服务 云服务 请选择“ 应用运维管理 AOM”。 - 持续时间 选择“永久”。 永久 描述 可选参数,用于补充说明该委托代理的详细信息。 - 单击“下一步”,进入“授权”页面。 在“选择策略”页签选择“DMS UserAccess”策略,并单击“下一步”。 DMS UserAccess策略:分布式消息服务普通用户权限(无实例创建、修改、删除、扩容、转储)。 在“设置最小授权范围”页签设置授权范围方案为“指定区域项目资源”,并在下方“项目[所属区域]”选定生效区域。 单击“确定”,委托关系创建成功。
  • 事件详情 单击事件卡片或列表,进入事件详情页面。在事件详情页面,事件巡检将提供RT、错误率等关键指标的检测图示,在图中展示异常时间段,并标注首个异常点及其上界。 应用服务整体平均响应时间突增:基于应用历史3小时数据,判断最近10分钟平均响应时间是否有异常突增点。 图5 应用服务整体平均响应时间突增 应用服务整体错误率突增:基于应用历史3小时数据,判断最近10分钟应用错误率是否有异常突增点。 图6 应用服务整体错误率突增 TopN接口平均响应时间突增:默认对流量Top 5的接口进行检测,基于接口历史3小时数据,判断最近10分钟平均响应时间是否有异常突增点。 图7 TopN接口平均响应时间突增 TopN接口错误率突增:默认对流量Top 5的接口进行检测,基于接口历史3小时数据,判断最近10分钟错误率是否有异常突增点。 图8 TopN接口错误率突增 应用服务整体流量不均:基于应用历史1小时数据,判断最近15分钟应用的所有实例是否出现流量不均的情况。 图9 应用服务整体流量不均
  • 事件总览 在“智能洞察(BETA)”主页面,默认以柱状图形式展示近30分钟的所有事件。您可以根据需要调整时间范围,查看近1小时、近6小时、近1天、近1周或自定义时间段的事件。 图2 事件统计视图 在事件统计图区域,还可以执行以下操作: 在图表左上角,查看设置的时间段内事件巡检检测到的异常事件总数。 将鼠标悬浮于柱状图上,查看对应时间点各类型的事件数量。 单击柱状图上方的图例,可以隐藏或显示对应事件类型的数据。 在搜索栏根据关键字过滤显示需要查看的事件。
  • 功能说明 事件巡检基于应用的历史数据,形成动态上界,以比对服务近期时间的数据是否有异常。 获取基础数据时间范围如下: 基于应用3小时内的历史数据,形成动态上界,以比对近10分钟的数据是否有异常。支持如下事件类型: 应用服务整体平均响应时间突增 TopN接口平均响应时间突增 应用服务整体错误率突增 TopN接口错误率突增 基于应用1小时内的历史数据,形成动态上界,以比对近15分钟的数据是否有异常。支持如下事件类型:应用服务整体流量不均。
  • 功能入口 登录AOM 2.0控制台。 左侧导航栏单击“智能洞察(BETA)”。 在页面右上角设置应用的时间范围。可通过如下两种方式设置时间范围: 方式一:使用AOM预定义好的时间标签,例如,近1小时、近6小时等,您可根据实际需要选择不同的时间粒度。 方式二:通过开始时间和结束时间,自定义时间范围。 在过滤器上方的下拉列表中选择需要查看的应用。 在“智能洞察(BETA)”页面,查看事件总览和详情信息。
  • 过滤器 “过滤器”区域显示了当前时间段被巡检捕获的事件类型和状态,可以通过选择不同的分组查看事件。 图1 过滤器视图 事件类型:事件类型按照事件巡检发现的事件异常类型划分。支持的异常事件类型包括: 应用服务整体平均响应时间突增 TopN接口平均响应时间突增 应用服务整体错误率突增 TopN接口错误率突增。 应用服务整体流量不均 事件状态:事件状态按照事件巡检发现事件的状态进行划分。若异常事件正在发生则为“进行中”,若异常事件已经结束则为“已结束”。
  • 功能介绍 事件巡检:提供基于 应用性能管理 APM平台的应用监控服务,通过应用服务和流量Top N接口的平均RT、错误率等关键指标看护服务质量,自动检测指标异常。 事件根因分析:提供基于应用性能管理APM平台的调用链追踪根因定位技术。可以从应用服务和流量Top N接口的指标、调用链维度,全局分析问题,快速诊断并定位故障根因。 故障传播链分析:提供基于应用性能管理APM平台的调用链和平均RT、错误率等分析关键指标数据,找出异常调用在调用链追踪链路trace中的传播关系,并展示服务及其关联服务的关键指标数据,可以更有效地定位根因。
共100000条