华为云用户手册

  • 步骤6:发送数据和查询结果 使用Kafka客户端向步骤2:创建Kafka的Topic中的Topic发送数据,模拟实时数据流。 Kafka生产和发送数据的方法请参考:DMS - 连接实例生产消费信息。 发送样例数据如下: {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:01:00", "product_id":"0002", "product_name":"name1"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 08:02:00", "product_id":"0002", "product_name":"name1"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 08:06:00", "product_id":"0004", "product_name":"name2"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:10:00", "product_id":"0003", "product_name":"name3"} {"user_id":"0003", "user_name":"Cindy", "event_time":"2021-03-24 08:15:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0003", "user_name":"Cindy", "event_time":"2021-03-24 08:16:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:56:00", "product_id":"0004", "product_name":"name2"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 09:05:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 09:10:00", "product_id":"0006", "product_name":"name5"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 09:13:00", "product_id":"0006", "product_name":"name5"} 登录RDS控制台,单击RDS数据库实例,单击创建的数据库名,如“testrdsdb”,在创建的表“clicktop”所在行的“操作”列,单击“SQL查询”,输入以下查询语句。 select * from `clicktop`; 在“SQL查询”界面,单击“执行SQL”,查看RDS表数据已写入成功。 图2 RDS表数据
  • 整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建Kafka的Topic:创建Kafka生产消费数据的Topic。 步骤3:创建RDS数据库和表:创建RDS MySQL数据库和表信息。 步骤4:创建增强型跨源连接:DLI上创建连接Kafka和RDS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:Kafka上发送流数据,在RDS上查看运行结果。
  • 场景描述 该场景为根据商品的实时点击量,获取每小时内点击量最高的3个商品及其相关信息。商品的实时点击量数据为输入源发送到Kafka中,再将Kafka数据的分析结果输出到RDS中。 例如,输入如下样例数据: {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:01:00", "product_id":"0002", "product_name":"name1"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 08:02:00", "product_id":"0002", "product_name":"name1"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 08:06:00", "product_id":"0004", "product_name":"name2"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:10:00", "product_id":"0003", "product_name":"name3"} {"user_id":"0003", "user_name":"Cindy", "event_time":"2021-03-24 08:15:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0003", "user_name":"Cindy", "event_time":"2021-03-24 08:16:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:56:00", "product_id":"0004", "product_name":"name2"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 09:05:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 09:10:00", "product_id":"0006", "product_name":"name5"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 09:13:00", "product_id":"0006", "product_name":"name5"} 预期输出: 2021-03-24 08:00:00 - 2021-03-24 08:59:59,0002,name1,2 2021-03-24 08:00:00 - 2021-03-24 08:59:59,0004,name2,2 2021-03-24 08:00:00 - 2021-03-24 08:59:59,0005,name4,2 2021-03-24 09:00:00 - 2021-03-24 09:59:59,0006,name5,2 2021-03-24 09:00:00 - 2021-03-24 09:59:59,0005,name4,1
  • 完整示例代码 通过DataFrame API 访问 from __future__ import print_function from pyspark.sql.types import StructType, StructField, IntegerType, StringType from pyspark.sql import SparkSession if __name__ == "__main__": # Create a SparkSession session. sparkSession = SparkSession.builder.appName("datasource-mongo").getOrCreate() # Create a DataFrame and initialize the DataFrame data. dataList = sparkSession.sparkContext.parallelize([("1", "Katie", 19),("2","Tom",20)]) # Setting schema schema = StructType([StructField("id", IntegerType(), False),StructField("name", StringType(), False), StructField("age", IntegerType(), False)]) # Create a DataFrame from RDD and schema dataFrame = sparkSession.createDataFrame(dataList, schema) # Setting connection parameters url = "192.168.4.62:8635,192.168.5.134:8635/test?authSource=admin" uri = "mongodb://username:pwd@host:8635/db" user = "rwuser" database = "test" collection = "test" password = "######" # Write data to the mongodb table dataFrame.write.format("mongo") .option("url", url)\ .option("uri", uri)\ .option("user",user)\ .option("password",password)\ .option("database",database)\ .option("collection",collection) .mode("Overwrite").save() # Read data jdbcDF = sparkSession.read.format("mongo") .option("url", url)\ .option("uri", uri)\ .option("user",user)\ .option("password",password)\ .option("database",database)\ .option("collection",collection)\ .load() jdbcDF.show() # close session sparkSession.stop() 通过SQL API 访问 from __future__ import print_function from pyspark.sql import SparkSession if __name__ == "__main__": # Create a SparkSession session. sparkSession = SparkSession.builder.appName("datasource-mongo").getOrCreate() # Createa data table for DLI - associated mongo sparkSession.sql( "create table test_dds(id string, name string, age int) using mongo options(\ 'url' = '192.168.4.62:8635,192.168.5.134:8635/test?authSource=admin',\ 'uri' = 'mongodb://username:pwd@host:8635/db',\ 'database' = 'test',\ 'collection' = 'test', \ 'user' = 'rwuser', \ 'password' = '######')") # Insert data into the DLI-table sparkSession.sql("insert into test_dds values('3', 'Ann',23)") # Read data from DLI-table sparkSession.sql("select * from test_dds").show() # close session sparkSession.stop()
  • 步骤3:创建DWS数据库和表 连接已创建的DWS集群。 请参考使用gsql命令行客户端连接DWS集群。 执行以下命令连接DWS集群的默认数据库“gaussdb”: gsql -d gaussdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r gaussdb:DWS集群默认数据库。 DWS集群连接地址:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 dbadmin:创建集群时设置的默认管理员用户名。 -W:默认管理员用户的密码。 在命令行窗口输入以下命令创建数据库“testdwsdb”。 CREATE DATABASE testdwsdb; 执行以下命令,退出gaussdb数据库,连接新创建的数据库“testdwsdb”。 \q gsql -d testdwsdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r 执行以下命令创建表。 create schema test; set current_schema= test; drop table if exists dwsresult; CREATE TABLE dwsresult ( car_id VARCHAR, car_owner VARCHAR, car_age INTEGER , average_speed FLOAT8, total_miles FLOAT8 );
  • 整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建RDS MySQL数据库和表:创建RDS MySQL的数据库和表。 步骤3:创建DWS数据库和表:创建用于接收数据的DWS数据库和表。 步骤4:创建增强型跨源连接:DLI上创建连接RDS和DWS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:RDS MySQL的表上插入数据,在DWS上查看运行结果。
  • 整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建RDS Postgres数据库:创建RDS Postgres的数据库和表。 步骤3:创建DWS数据库和表:创建用于接收数据的DWS数据库和表。 步骤4:创建增强型跨源连接:DLI上创建连接RDS和DWS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:RDS Postgres的表上插入数据,在DWS上查看运行结果。
  • 步骤3:创建DWS数据库和表 连接已创建的DWS集群。 请参考使用gsql命令行客户端连接DWS集群。 执行以下命令连接DWS集群的默认数据库“gaussdb”: gsql -d gaussdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r gaussdb:DWS集群默认数据库。 DWS集群连接地址:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 dbadmin:创建集群时设置的默认管理员用户名。 -W:默认管理员用户的密码。 在命令行窗口输入以下命令创建数据库“testdwsdb”。 CREATE DATABASE testdwsdb; 执行以下命令,退出gaussdb数据库,连接新创建的数据库“testdwsdb”。 \q gsql -d testdwsdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r 执行以下命令创建表。 create schema test; set current_schema= test; drop table if exists dws_order; CREATE TABLE dws_order ( order_id VARCHAR, order_channel VARCHAR, order_time VARCHAR, pay_amount FLOAT8, real_pay FLOAT8, pay_time VARCHAR, user_id VARCHAR, user_name VARCHAR, area_id VARCHAR );
  • 操作步骤 进入购买注册配置中心页面。 左侧导航栏选择“注册配置中心”。 在注册配置中心页面,单击“购买注册配置中心”。 参考下表设置参数,参数前面带*号的是必须设置的参数。 参数 说明 *计费模式 选择计费方式,目前支持: 包年/包月 按需计费 *企业项目 选择Nacos所在的项目,可在下拉框中搜索和选择需要的企业项目。 *引擎名称 输入Nacos引擎的名称。 *注册配置中心类型 选择“Nacos”。 说明: Nacos引擎默认多可用区部署,部署在三节点上的,可提供可用区级别容灾能力。 *选择实例数 选择需要购买的容量规格。 版本 只能创建最新版本。 *网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 标签 用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 您可以单击“ 添加标签”,在“添加标签”弹框输入标签键和标签值,添加标签,标签的命名规则请参见管理标签。在“添加标签”弹框,可单击“ 新增标签”同时添加多个标签,也可单击标签后的,删除该标签。 *购买时长 计费模式选择“包年/包月”时需要设置。可设置是否开通自动续费。 单击“立即购买”,进入引擎信息确认界面。 单击“提交”引擎开始创建,当“运行状态”为“可用”时,引擎创建完成。
  • 华为云“一键认证”失败的原因 华为云一键认证的功能只针对两种用户: 使用了华为云WAF的用户。 客户要扫描的网址对应的EIP是华为云华北、华东、华南、东北局点的EIP。 因此认证失败可能有以下原因: 用户不是上述的两种用户。 用户是华为云WAF的用户,但该WAF和漏洞管理服务不在一个账户下,则认证会失败,因为只有购买WAF的账户才能查看WAF的回源IP。 用户要扫描的EIP不是在该账户下购买的,因为系统是根据该账户去查询用户已经购买的EIP,然后和输入的EIP进行比对,所以不在同一个账号下无法一键认证。 域名信息跟规范不符 该类网站不能使用漏洞管理服务。
  • 计费模式 漏洞管理服务提供按需计费和包年/包月两种计费模式,用户可以根据实际需求选择计费模式。 表2 各服务版本计费方式 服务版本 支持的计费方式 说明 价格详情 基础版 配额内的服务免费 按需计费 基础版配额内仅支持Web网站漏洞扫描(域名个数:5个,扫描次数:每日5次)是免费的。 基础版提供的以下功能按需计费: 可以将Web漏洞扫描或主机漏洞扫描任务升级为专业版规格进行扫描,扫描完成后进行一次性扣费。 主机扫描一次最多支持20台主机。 产品价格详情 专业版 包年/包月 相对于按需付费,包年/包月购买方式能够提供更大的折扣,对于长期使用者,推荐该方式。包周期计费为按照订单的购买周期来进行结算。不限制扫描次数。 高级版 企业版
  • 漏洞管理服务与HSS、WAF有什么区别? 漏洞管理服务支持主机和Web漏洞扫描,从攻击者的视角扫描漏洞,提供详细的漏洞分析报告,并针对不同类型的漏洞提供专业可靠的修复建议。HSS是提升主机整体安全性的服务,通过安装在主机上的Agent守护主机安全,全面识别并管理主机中的信息资产。漏洞管理服务中的主机漏扫和HSS的区别如下: 漏洞管理服务功能:远程漏洞扫描工具,不用部署在主机上,包括Web漏洞扫描、操作系统漏洞扫描、资产及内容合规检测、安全配置基线检查。从类似黑盒的外部视角,对目标主机网站等进行扫描,发现暴露在外的安全风险。 HSS功能:终端主机安全防护工具,部署在主机上,包括资产管理、漏洞管理、基线检查、入侵检测、程序运行认证、文件完整性校验、安全运营、网页防篡改等功能,注重的是运行在主机上的业务的安全防护。 WAF是对网站业务流量进行多维度检测和防护,降低数据被篡改、失窃的风险。 华为云提供的漏洞管理服务、HSS服务、WAF服务,帮助您全面从网站、主机、Web应用等层面防御风险和威胁,提升系统安全指数。建议三个服务搭配使用。 表1 漏洞管理服务、HSS、WAF的区别 服务名称 所属分类 防护对象 功能差异 漏洞管理服务(CodeArts Inspector) 应用安全、主机安全 提升网站、主机整体安全性。 多元漏洞检测 网页内容检测 网站健康检测 基线合规检测 主机漏洞扫描 企业主机安全(HSS) 主机安全 提升主机整体安全性。 资产管理 漏洞管理 入侵检测 基线检查 网页防篡改 Web应用防火墙(WAF) 应用安全 保护Web应用程序的可用性、安全性。 Web基础防护 CC攻击防护 精准访问防护 父主题: 产品咨询类
  • 漏洞管理服务支持多个账号共享使用吗? 漏洞管理服务支持多个账号或多个IAM用户共享使用,说明如下: 多个账号共享使用 例如,您通过注册华为云创建了2个账号(“domain1”和“domain2”),如果您将“domain1”的权限委托给“domain2”,则“domain2”可以使用“domain1”的漏洞管理服务。 有关委托管理的详细操作,请参见创建委托。 多个IAM用户共享使用 例如,您通过注册华为云创建了1个账号(“domain1”),且由“domain1”账号在IAM中创建了2个IAM用户(“sub-user1a”和“sub-user1b”),如果您授权了“sub-user1b”用户漏洞管理服务的权限策略,则“sub-user1b”用户可以使用“sub-user1a”用户的漏洞管理服务。 有关漏洞管理服务权限管理的详细操作,请参见创建用户并授权使用漏洞管理服务。 父主题: 产品咨询类
  • 操作场景 ELB可以针对客户访问的业务为访问者提供个性化的管理策略,制定策略之前需要获取来访者的真实IP。TOA内核模块主要用来获取ELB转化过的访问者真实IP地址(仅支持IPv4),该插件安装在ELB后端服务器。 本文档仅适用于四层(TCP协议)服务,当客户需要在操作系统中编译TOA内核模块时,可参考本文档进行配置。 Linux内核版本为2.6.32和Linux内核版本为3.0以上的操作系统,在配置TOA内核模块的操作步骤上有所区别,具体操作请参照相应的操作步骤进行配置。
  • 概述 Redis监控器可对用户业务使用的Redis数据库进行探测,并且在数据库异常时自动触发流量切换。 表1 监控状态说明 监控状态 状态说明 绿色 监控正常。 红色 监控异常。从正常到异常,在允许自动切换的情况下,自动触发流量切换。 黄色 初始化监控失败。此状态表示MAS进程无法检测业务数据库,确保配置信息无误的情况下,需要联系运维处理。 浅灰 监控未生成或监控配置错误。 深灰 调用异常。监控连接ETCD状态异常。
  • 创建Redis监控 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击页面左上角的“新增监控”。 在新增监控页面配置监控基础配置,完成后单击“下一步:数据中心配置”。 图1 新增Redis监控-基础配置 表2 基础配置信息 参数 配置说明 监控 选择需要新增的监控类型,此处请选择“Redis监控”。 应用名称 选择应用列表中创建的应用。 监控器名称 自定义监控器名称。 异常通知设置 默认为“关”。 若设置为“开”: 当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务,请先配置密钥。 通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 路由算法 根据实际需求选择路由算法,单边读写/本地读异步双写/单边读异步双写。 模式 默认“正常”模式,还可选择“哨兵”或“集群”模式。具体根据Redis数据库的部署方式选择。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新增Redis监控-数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择 被监控Redis集群所属云。可选择第三方云厂商,实现跨云监控。 局点 被监控Redis集群所属区域。 azs 被监控Redis集群所部署的可用区。 连接地址 被监控Redis的连接地址和端口。 连接密码 被监控Redis的连接密码。 确认密码 请再次输入密码。 填写高级配置,完成后单击“下一步:确认配置”。 图3 新增Redis监控-高级配置 表4 高级配置信息 参数 配置说明 重试时间间隔 尝试重连时间间隔,以毫秒为单位,默认值3000ms。 输入值必须在1到300000之间,建议使用默认值。 监控超时时间 一个周期内监控器对数据库探测监控的超时时间,超过这个时间,则认为探测数据库失败,监控状态变为监控异常。 以毫秒为单位,默认值40000ms,输入值必须在1到600000之间,建议使用默认值。 说明: 如果您需要修改监控超时时间,监控超时时间建议大于故障时数据中心1的数据同步到数据中心2所需时间,否则切换数据中心后,数据中心2的数据可能存在不完整的情况。 确认配置无误后单击“立即创建”,完成创建Redis监控。 Redis监控器创建完成后,数据中心的正常监控状态标识为绿色。如果是其他异常状态,可能是监控器信息配置错误或者是监控的数据库本身存在异常,请进行故障排除。
  • 创建MongoDB监控 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击页面左上角的“新增监控”。 在新增监控页面配置监控基础配置,完成后单击“下一步:数据中心配置”。 图1 新增MongoDB监控-基础配置 表2 基础配置信息 参数 配置说明 监控 选择需要新增的监控类型,此处请选择“MongoDB监控”。 应用名称 选择应用列表中创建的应用。 监控器名称 自定义监控器名称。 异常通知设置 默认为“关”。 若设置为“开”: 当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务,请先配置密钥。 默认将开启云监控,请前往云监控确认是否已创建MAS事件监控告警规则,如已创建请忽略。 通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 监控用户名 被监控的数据库的用户名。 监控用户密码 被监控的数据库的用户密码。 确认密码 再次填写监控用户密码。 填写数据中心配置,完成后单击“下一步:数据库配置”。 图2 新增MongoDB监控-数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择 被监控的MongoDB数据库部署的环境。 局点 被监控数据库所在区域。 连接地址 MongoDB数据库的访问地址和端口。 填写数据库配置,完成后单击“下一步:高级配置”。 图3 新增MongoDB监控-数据库配置 表4 数据库配置信息 参数 配置说明 监控数据库 填写监控数据库的名称。 连接数据库 填写连接数据库的名称。 注意: 建议“连接数据库”和“监控数据库”的名称保持一致,且是被监控数据源中存在的数据库名。 填写高级配置,完成后单击“下一步:确认配置”。 图4 新增MongoDB监控-高级配置 表5 高级配置信息 参数 配置说明 重试时间间隔 尝试重连时间间隔,以毫秒为单位,默认值3000ms。 输入值必须在1到300000之间,建议使用默认值。 监控超时时间 一个周期内监控器对数据库探测监控的超时时间,超过这个时间,则认为探测数据库失败,监控状态变为监控异常。 以毫秒为单位,默认值40000ms,输入值必须在1到600000之间,建议使用默认值。 说明: 如果您需要修改监控超时时间,监控超时时间建议大于故障时数据中心1的数据同步到数据中心2所需时间,否则切换数据中心后,数据中心2的数据可能存在不完整的情况。 数据库访问超时时间 访问数据库超时时间,超过这个时间认为一次访问数据库失效,以毫秒为单位,默认值3000ms。 输入值必须在3000到100000之间,建议使用默认值。 确认配置无误后单击“立即创建”,完成创建MongoDB监控。 MongoDB监控器创建完成后,数据中心的正常监控状态标识为绿色。如果是其他异常状态,可能是监控器信息配置错误或者是监控的数据库本身存在异常,请进行故障排除。
  • 连接池配置 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击MongoDB监控所在行的“连接池配置”。 在连接池配置页面,填写配置信息,完成后单击“确认”。 图5 连接池配置信息 表6 连接池配置 参数 配置说明 数据库名 创建MongoDB监控配置的连接数据库名。 路由算法 选择路由算法,单边读写/单边写本地读。 AZs 被监控MongoDB部署的可用区。 数据源名称 自定义数据源名称。 数据库地址 MongoDB数据库的连接地址。 Schema 需要连接的Schema名称。
  • 概述 MongoDB监控器可对用户业务使用的MongoDB数据库进行探测,并且在数据库异常时自动触发流量切换。 表1 监控状态说明 监控状态 状态说明 绿色 监控正常。 红色 监控异常。从正常到异常,在允许自动切换的情况下,自动触发流量切换。 黄色 初始化监控失败。此状态表示Monitor启动时初次监控探测失败,确保配置信息无误的情况下,需要联系运维处理。 浅灰 监控未生成或监控配置错误。 深灰 调用异常。监控连接ETCD状态异常。
  • 创建Elasticsearch监控 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击页面左上角的“新增监控”。 在新增监控页面配置监控基础配置,完成后单击“下一步:数据中心配置”。 图1 新增Elasticsearch监控-基础配置 表2 基础配置信息 参数 配置说明 监控 选择需要新增的监控类型,此处请选择“Elasticsearch监控”。 应用名称 选择应用列表中创建的应用。 监控器名称 自定义监控器名称。 异常通知设置 默认为“关”。 若设置为“开”: 当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务,请先配置密钥。 默认将开启云监控,请前往云监控确认是否已创建MAS事件监控告警规则,如已创建请忽略。 通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 路由算法 选择路由算法,支持单边读写。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新增Elasticsearch监控-数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择 被监控的Elasticsearch部署的环境。 局点 被监控Elasticsearch部署的区域。 azs 被监控Elasticsearch部署的可用区。 连接地址 Elasticsearch的访问地址和端口。 添加连接地址 添加Elasticsearch的连接地址。 用户名 被监控的Elasticsearch的用户名。 注意: 建议监控用户名与业务用户名分开使用,不推荐与业务使用相同用户名,避免产生安全风险。 连接类型 Elasticsearch的连接类型,支持HTTPS和HTTP。 连接密码 被监控的Elasticsearch的连接密码。 确认密码 再次填写Elasticsearch的连接密码。 请确认密码正确,7.10.2及以上版本的elasticsearch,密码错误将导致数据源锁定15分钟,15分钟后监控状态才会显示正常。 填写高级配置,完成后单击“下一步:确认配置”。 图3 新增Elasticsearch监控-高级配置 表4 高级配置信息 参数 配置说明 重试时间间隔 尝试重连时间间隔,以毫秒为单位,默认值3000ms。 输入值必须在1到300000之间,建议使用默认值。 监控超时时间 一个周期内监控器对数据库探测监控的超时时间,超过这个时间,则认为探测数据库失败,监控状态变为监控异常。 以毫秒为单位,默认值40000ms,输入值必须在1到600000之间,建议使用默认值。 说明: 如果您需要修改监控超时时间,监控超时时间建议大于故障时数据中心1的数据同步到数据中心2所需时间,否则切换数据中心后,数据中心2的数据可能存在不完整的情况。 确认配置无误后单击“立即创建”,完成创建Elasticsearch监控。 Elasticsearch监控器创建完成后,数据中心的正常监控状态标识为绿色。如果是其他异常状态,可能是监控器信息配置错误或者是监控的数据库本身存在异常,请进行故障排除。
  • 概述 Elasticsearch监控器可对用户业务使用的Elasticsearch引擎进行探测,并且在Elasticsearch异常时自动触发流量切换。 表1 监控状态说明 监控状态 状态说明 绿色 监控正常。 红色 监控异常。从正常到异常,在允许自动切换的情况下,自动触发流量切换。 黄色 初始化监控失败。此状态表示Monitor启动时初次监控探测失败,确保配置信息无误的情况下,需要联系运维处理。 浅灰 监控未生成或监控配置错误。 深灰 调用异常。监控连接ETCD状态异常。
  • 操作步骤 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“应用列表”,单击“监控器切换”,在弹窗监控状态页,单击“一键切换”。 图1 监控器切换 “API监控”不支持监控切换。 在弹窗中单击“确定”。 当检测到对端数据中心状态异常时,直接切换会提示切换失败。如果用户需要强制切换数据中心,需要勾选强制切换复选框,再单击“确认”进行切换。 图2 强制切换监控器 业务数据库故障,触发监控器自动切换时,切换操作有10s的耗时,在这期间业务会存在中断的可能。 数据中心1异常自动触发切换后,若数据中心1恢复正常,此时监控器无法自动回切数据中心1,需要手动单击监控所在行的“回切”按钮从数据中心2切换回数据中心1; 当活跃为数据中心1,并数据中心1异常时,数据中心1支持自动切换数据中心2;当活跃为数据中心2,并数据中心2异常时,数据中心2不支持自动切换到数据中心1。
  • 添加密钥 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“全局配置”。 单击“密钥配置”页面左上角的“添加密钥”。 在弹窗中配置信息,单击“确定”。 图1 密钥配置 表1 密钥配置 参数 配置说明 云选择 选择消息服务所在的环境。 AK Access Key ID(访问密钥ID)。 SK Secret Access Key(秘密访问密钥)。 华为云访问密钥获取方法请参考访问密钥。
  • 操作步骤 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击页面左上角的“监控配置”。 配置全局监控配置(建议使用默认值),完成后单击“确定”。 表1 监控配置 参数 配置说明 监控类型 选择需要配置的监控类型,可选的监控类型依赖命名空间已选择的功能点。 MySQL监控 Oracle监控 PostgreSQL监控 Redis监控 MongoDB监控 Elasticsearch监控 API监控 监控超时时间 一个周期内监控器对数据库探测监控的超时时间,超过这个时间,则认为探测数据库失败,监控状态变为监控异常。 以毫秒为单位,输入值必须在1000到400000之间。 重试时间间隔 尝试重连时间间隔。 输入值必须在1000到30000之间。 数据库访问超时时间 当“监控类型”配置为“MySQL/Oracle/PostgreSQL监控”和“MongoDB监控”时可见; 访问数据库超时时间,超过这个时间认为一次访问数据库失效。 输入值必须在3000到100000之间。 健康精度 探测的健康精度。配置为1,表示多活实例的监控集群中只要有一个worker探测到数据库,则认为探测成功;当探测失败时,由Leader做故障处理。 输入值必须为1或2。 说明: “API监控”仅需配置“健康精度”,无需配置其他参数。
  • 创建API监控 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击页面左上角的“新增监控”。 在新增监控页面配置监控基础配置,完成后单击“下一步:数据中心配置”。 图1 新增API监控-基础配置 表2 基础配置信息 参数 配置说明 监控 选择需要新增的监控类型,此处请选择“API监控”。 应用名称 选择应用列表中创建的应用。 监控器名称 自定义监控器名称。 异常通知设置 默认为“关”。 若设置为“开”: 当监控器或被监控的API异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务,请先配置密钥。 默认将开启云监控,请前往云监控确认是否已创建MAS事件监控告警规则,如已创建请忽略。 通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认选“是”,若选择“否”则不会再监控APIG的状态。 填写数据中心配置,完成后单击“下一步:高级配置”。 图2 新增API监控-数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择 选择被监控的APIG部署的环境。 局点 被监控的APIG所在区域。 连接地址 协议选择http或https,地址填写APIG的连接地址。 请求路径 APIG的健康检查路径信息。 请求方法 可选择GET、POST、DELETE、PUT、PATCH方法。 响应码 根据监控的APIG的接口实际需求配置,例如200。 请求头 根据监控的APIG的接口实际需求配置请求头。 请求头若涉及敏感信息,请用户自行加密再填入。 填写高级配置,完成后单击“下一步:确认配置”。 图3 新增API监控-高级配置 表4 高级配置信息 参数 配置说明 重试时间间隔 尝试重连时间间隔,以毫秒为单位,默认值5000ms。 输入值必须在1到300000之间,建议使用默认值。 正常阈值 配置连接API次数的正常阈值,当连续连接次数达到或超过正常阈值,认为API连接正常。 说明: 输入值必须在1到5之间,默认为2,建议使用默认值。 异常阈值 配置连接API次数的异常阈值,当连续连接失败次数达到或超过异常阈值,认为API连接异常。 说明: 输入值必须在3到10之间,默认为3,建议使用默认值。 确认配置无误后单击“立即创建”,完成创建API监控。 API监控器创建完成后,数据中心的正常监控状态标识为绿色。如果是其他异常状态,可能是监控器信息配置错误或者是监控的API本身存在异常,请进行故障排除。
  • 数据中心级自动切换配置 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“全局配置”。 进入“数据中心级自动切换”页面,单击“是否自动切换”开关。 “是否自动切换”配置为“关”,当MAS发生脑裂或主机房故障时,如果应用数据源正常,此时这个MAS实例下的所有监控器不会切换数据中心。通过此配置,可避免因MAS故障而导致数据中心发生不必要的切换。 “是否自动切换”配置为“开”,当MAS发生脑裂或主机房故障,或者数据源故障时,此时这个MAS实例下的监控器会根据故障切换对应的数据中心。 脑裂是指高可用集群因网络等原因导致的集群分裂出现超过一个主“大脑”的情况,当集群发生脑裂时集群之间的数据可能会出现不一致的问题,从而影响监控结果的仲裁。 当MAS发生脑裂或主机房故障,此时这个MAS实例下的所有监控器都会切换数据中心;当数据源故障时,此时这个MAS实例下的对应监控器会切换数据中心。 当创建监控器时的基础配置参数“是否自动切换”默认配置为“是”时,监控器会自动切换数据中心。 图1 数据中心级自动切换 单击“确认”,完成变更自动切换配置。
  • 数据库读写状态配置 目前应用需要接入Java 1.2.6-RELEASE及以上版本的DB-SDK才能支持数据库禁写(不可写)配置。 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”。 单击待修改状态旁的。 图6 数据库读写状态配置 在“修改状态”弹窗单击选择所需状态,单击“确定”,完成数据库读写状态设置。 表7 数据库读写状态配置 参数 配置说明 是否可读 数据库是否可读。 “可读”,数据库状态正常,可以正常读取。 “不可读”,数据库状态异常,不可读;数据库状态从不可读恢复为可读状态,需要手动配置。 是否可写 数据库是否可写。 “可写”,此时可对数据库进行“写”操作。 “不可写”,此时不可对数据库进行“写”操作。 当活跃为数据中心1,并数据中心1异常时,数据中心1自动切换数据中心2,“可读”自动切为“不可读”;当数据中心1恢复后,点击“回切”按钮,需手动将“不可读”配置为“可读”。
  • 连接池配置 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击监控所在行的“更多>连接池配置”。 在连接池配置页面,填写配置信息,完成后单击“确认”。 图5 连接池配置信息 表6 连接池配置 参数 配置说明 数据库名 创建监控配置的连接数据库名。 路由算法 选择路由算法,单边读写/单边写本地读。 数据源名称 自定义数据源名称。 数据库地址 数据库的连接地址。 Schema 需要连接的Schema名称。 负载均衡算法 选择负载均衡算法,随机/轮询。 添加Data Source 添加备数据源的配置信息。
  • 创建监控 登录MAS控制台,在“多活管理”页面单击实例,进入实例控制台。 在页面顶端导航栏选择“监控列表”,单击页面左上角的“新增监控”。 在新增监控页面配置监控基础配置,完成后单击“下一步:数据中心配置”。 图1 新增监控-基础配置 表2 基础配置信息 参数 配置说明 监控 选择需要新增的监控类型,此处请选择如下类型: MySQL监控 Oracle监控 PostgreSQL监控 说明: 只有在功能模块已开通MySQL、Oracle和PostgreSQL功能点,且多活实例关联的命名空间下的功能点已勾选MySQL、Oracle和PostgreSQL时,才能同时支持这三种数据库监控,如果命名空间只选择其中一个功能点,则下拉框只显示对应所选的数据库监控。 应用名称 选择应用列表中创建的应用。 监控器名称 自定义监控器名称。 异常通知设置 默认为“关”。 若设置为“开”: 当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务,请先配置密钥。 默认将开启云监控,请前往云监控确认是否已创建MAS事件监控告警规则,如已创建请忽略。 通知主题 若异常通知设置选择“开”,则需要在通知主题列表选择主题,如无主题列表,单击新增,新增通知主题之后进行后续操作。 是否监控 默认“是”,选“否”则不会探测数据库异常情况。 是否自动切换 默认“是”,选“否”则不会自动切换数据库。 监控用户名 被监控数据库的用户名。 监控用户密码 被监控数据库的用户密码。 确认密码 再次填写监控用户密码。 DRS联动 默认为“关”。 若设置为“开”,目前仅支持关联DRS实时灾备任务。请先配置密钥,再开启DRS联动。 多活分区 选择主备多活分区。多活分区为多活实例所归属的命名空间所创建的分区名称。 说明: 此选项需要打开“DRS联动”才会显示。 DRS任务 若DRS联动设置为“开”,需要设置DRS任务,任务列表选其一,如无任务列表,单击“新增”,新增DRS实时灾备任务之后进行后续操作。 填写数据中心配置,完成后单击“下一步:数据库配置”。 图2 新增监控-数据中心配置 表3 数据中心配置信息 参数 配置说明 云选择 被监控的数据库部署的环境。 局点 被监控数据库所在区域。 IPv4地址 数据库的访问地址和端口。 添加读库地址 单击添加读库数据库地址。 填写数据库配置,完成后单击“下一步:高级配置”。 图3 新增监控-数据库配置 表4 数据库配置信息 参数 配置说明 监控数据库 填写监控数据库名称。 连接数据库 填写连接数据库名称。 注意: “连接数据库”和“监控数据库”的名称保持一致,且是被监控数据源中存在的数据库名。 填写高级配置,完成后单击“下一步:确认配置”。 图4 新增监控-高级配置 表5 高级配置信息 参数 配置说明 重试时间间隔 尝试重连时间间隔,以毫秒为单位,默认值3000ms。 输入值必须在1到300000之间,建议使用默认值。 监控超时时间 一个周期内监控器对数据库探测监控的超时时间,超过这个时间,则认为探测数据库失败,监控状态变为监控异常。 以毫秒为单位,默认值40000ms,输入值必须在1到600000之间,建议使用默认值。 说明: 如果您需要修改监控超时时间,监控超时时间建议大于故障时数据中心1的数据同步到数据中心2所需时间,否则切换数据中心后,数据中心2的数据可能存在不完整的情况。 数据库访问超时时间 访问数据库超时时间,超过这个时间认为一次访问数据库失效,以毫秒为单位,默认值3000ms。 输入值必须在3000到100000之间,建议使用默认值。 确认配置无误后单击“立即创建”,完成创建监控。 监控器创建完成后,数据中心的正常监控状态标识为绿色。如果是其他异常状态,可能是监控器信息配置错误或者是监控的数据库本身存在异常,请进行故障排除。
  • 概述 MySQL监控器、Oracle监控器、PostgreSQL监控器可对用户业务使用的对应数据库进行探测,并且在数据库异常时自动触发流量切换。 MySQL监控器、Oracle监控器、PostgreSQL监控器相关操作流程一致,故统一放在此章节介绍。 表1 监控状态说明 监控状态 状态说明 绿色 监控正常。 说明: MySQL监控器暂不支持MySQL数据库连接池占满、磁盘占满等亚健康状态探活能力。 只要MySQL实例处于活跃状态,连接正常保持,查询命令正常执行,即认为当前MySQL状态正常,监控状态正常。 红色 监控异常。从正常到异常,在允许自动切换的情况下,自动触发流量切换。 黄色 初始化监控失败。此状态表示MAS进程无法检测业务数据库,确保配置信息无误的情况下,需要联系运维处理。 浅灰 监控未生成或监控配置错误。 深灰 调用异常。监控连接ETCD状态异常。
共100000条