华为云用户手册

  • 问题描述 DDS集群持续写入数据,写入后查询报错。 示例: W SHARDING [Balancer] Failed to enforce tag ranges :: caused by :: ExceededTimeLimit: Unable to obtain shard utilization information for shard01 due to Operation timed out, request was RemoteCommand -- target: 192.168.*.*:8635, db: admin, cmd:{ getShardStatistics: 1, maxTimeMS: 30000 }
  • 什么情况下会触发主备切换 文档数据库服务支持两种高可用架构:分片集群(Sharding)和副本集(Replica Set)。 集群架构提供dds mongos、shard、config三类节点。其中,shard和config为三节点副本集架构,当路由主机出现故障时,可实时动态切换。 副本集架构提供Primary、Secondary、Hidden三个节点。其中,Primary和Secondary节点对外提供连接IP。副本集的主节点不是固定的,当出现副本集配置改变、主节点宕机、人为主备切换等状况,会导致主备节点切换,此时副本集可能会选举出新主节点,原来的主节点则降为备节点。 内存使用率过高,即实例的负载过高时,会发生主备切换。 更多信息,请参见集群架构和副本集架构。
  • 数据删了磁盘空间但没有减少 无论写入、更新或删除(包括索引插入和删除)等操作,在后台实际上都会转成写入。实例在使用过程中,删除数据并不会回收磁盘空间,这些未被回收的磁盘空间被称为磁盘碎片。磁盘碎片会被数据库继续使用,当有新数据插入时,会重复利用这些碎片,而不需要新申请磁盘空间。根据底层存储引擎的不同(RocksDB和WiredTiger),又会有不同的具体表现。 RocksDB在删除数据后,将删除操作直接转化为追加写,在积攒了一定数据量的冗余数据后,会自动触发后台compact线程对同一数据的多版本进行归并聚合,从而释放多余的磁盘空间,因此建议等待系统自动回收。当磁盘空间使用率较高,接近只读状态阈值时,请联系华为工程师处理。 WiredTiger在删除数据,进行数据多版本归并聚合后,也会空余出磁盘空间碎片,但wiredTiger并不会将这部分磁盘空间返还给操作系统,而是打上标记预留给当前collection后续的写入,此collection后续的写入会优先使用这部分预留的磁盘空间,如果需要释放这部分磁盘空间,可以尝试通过执行compact命令进行释放(注:此命令会阻塞正常业务,因此默认情况下是禁用状态)。 父主题: 资源及磁盘管理
  • 操作步骤 打开Robo 3T下载地址:https://robomongo.org/download,单击“Download Robo 3T”。 图1 下载页面 在弹出框中填写相关信息后,单击“Download for Windows”下载“robo3t-1.4.4-windows-x86_64-e6ac9ec5.zip”。 图2 下载工具 解压2下载的压缩包文件,双击解压目录下的“robo3t.exe”文件,开始执行安装。 安装完成后,打开工具,界面展示如图3所示。 图3 工具主界面 工具安装成功后,如需连接实例,请参见《文档数据库服务快速入门》中各实例类型下通过公网连接实例的内容。
  • 如何创建并登录弹性云服务器 创建并登录弹性云服务器,请参见《弹性云服务器快速入门》中“购买弹性云服务器”和“登录弹性云服务器”。 该弹性云服务器用于连接文档数据库实例,需要与待连接的实例处于同一虚拟私有云子网内。 创建弹性云服务器时,要选择操作系统,例如Redhat6.6,并为其绑定EIP(Elastic IP,弹性公网IP)。 正确配置安全组,使得弹性云服务器可以通过文档数据库服务“基本信息”页面下节点的“内网IP”访问文档数据库实例。 父主题: 数据库连接
  • 哪些数据会占用文档数据库实例空间 以下内容占用文档数据库实例空间: 您申请的磁盘空间会有必要的文件系统开销,这些开销包括索引节点和保留块,以及数据库运行必需的空间。 除备份数据以外的用户正常的数据。 文档数据库实例正常运行所需的数据,比如系统数据库、数据库回滚日志、索引等。 文档数据库服务产生的日志输出文件,这些文件会保证文档数据库实例正常稳定地运行。比如oplog文件,默认占磁盘空间的10%,oplog是轮转日志,所以oplog的留存时间主要由oplog产生速率决定,如需修改,可以通过控制台界面修改参数值oplogSizePercent,具体步骤请参见修改DDS实例参数。 父主题: 资源及磁盘管理
  • 为什么在虚拟私有云中使用文档数据库 虚拟私有云允许您在私有、隔离的网络创建虚拟网络环境,从中可以对私有IP地址范围、子网、路由表和网络网关等方面进行控制。借助虚拟私有云,您可以定义虚拟网络拓扑和网络配置,使其非常类似于您在自己的数据中心所操作的传统IP网络。 在下面的情况下您可能想在虚拟私有云中使用文档数据库服务: 您希望运行面向公众的Web应用程序,同时保留公众不可访问的后端服务器。您可以在一个虚拟私有云内同时创建一个文档数据库实例和弹性云服务器实例,同时为弹性云服务器实例分配公网IP,将Web服务器部署在弹性云服务器实例。 父主题: 网络安全
  • 用户平时需要关注实例的哪些性能指标 用户平时需要关注的监控指标有:CPU利用率、内存利用率、磁盘空间利用率。 更多监控指标信息,请参见文档数据库服务支持的监控指标。 可以根据实际应用场景配置告警提示,当收到告警,可采取相应措施消除告警。 配置示例: 如果在某段时间内(如5min),CPU的利用率出现多次(如3次)不低于某特定值(如90%)的情况,则发出相应 云监控 告警。 如果在某段时间内(如5min),内存的利用率出现多次(如4次)不低于某特定值(如90%)的情况,则发出相应云监控告警。 如果在某段时间内(如5min),磁盘的使用率出现多次(如5次)不低于某特定值(如85%)的情况,则发出相应云监控告警。 云监控告警详细配置方法,详见《云监控用户指南》中“告警规则管理”。 如果CPU、内存使用率长期较高,且无法扩容磁盘容量,可以选择变更CPU和内存规格。 采取措施: 收到与磁盘空间利用率有关的告警: 调查磁盘空间消耗,查看是否可以从实例中删除数据或是将数据存档到其他系统以释放空间。 通过磁盘空间扩容增大磁盘空间,请参见扩容存储。 父主题: 监控和告警
  • 操作步骤 获取安装包。 进入官网下载链接地址:https://www.mongodb.com/try/download/community。 在“Version”中选择“5.0.28”,在“Platform”中选择“RedHat/CentOS 8.0 ×64”,在“Package”中选择“tgz”。如图1所示。 图1 MongoDB官网页面 将安装包上传到弹性云服务器上,请参见如下两种方式: 如何登录弹性云服务器,请参见如何创建并登录弹性云服务器。 单击“Download”下载5.0.28版本的二进制安装包,安装包名称为“mongodb-linux-x86_64-rhel80-5.0.28.tgz”,将安装包上传至弹性云服务器上。 单击“Copy link”获取下载链接地址,登录弹性云服务器,执行wget copylink。 copylink请替换为实际下载的链接地址。 在弹性云服务器上,解压安装包。 tar zxvf mongodb-linux-x86_64-rhel80-5.0.28.tgz 安装包名字请根据实际情况替换。 进入安装包的“bin”文件夹下,获取客户端工具。 cd mongodb-linux-x86_64-rhel80-5.0.28/bin 安装包名字请根据实际情况替换。 其中,常用工具包含如下: MongoDB客户端mongo。 数据导出工具mongoexport。 数据导入工具mongoimport。 使用客户端工具前,需要对工具赋予执行权限。 执行chmod +x mongo,赋予连接实例的权限。 执行chmod +x mongoexport,赋予导出数据的权限。 执行chmod +x mongoimport,赋予导入数据的权限。 客户端安装成功后,如需连接实例,请参见连接集群实例、连接副本集实例和连接单节点实例。
  • DDS和社区版MongoDB有什么关系 DDS即文档数据库服务,完全兼容MongoDB社区版3.4/4.0/4.2,部分兼容社区版4.4。兼容性详情请参见版本兼容性。 DDS支持绝大部分的MongoDB命令操作,任何兼容MongoDB的客户端都可以与DDS建立连接进行数据存储及相应操作。 您可以通过文档数据库服务与自建数据库的对比优势来了解更多DDS的优势。 更多DDS的详细信息请参见什么是文档数据库服务。 父主题: 产品咨询
  • 副本集中主备同步存在多长时间的延迟 主节点与备节点的复制延迟是无法利用公式来计算的,它会受到以下因素的影响: 网络通信状况。 主节点的事务压力,即主机每秒执行的事务量。 主节点执行的事务大小,即一个事务要执行多久。 备节点的机器负载状况。 如果主节点在某个时间段压力非常大,每秒执行的事务量非常多,备机通常会出现延迟。 对于文档数据库服务而言,可以在云监控中查看副本集备节点的“主备延时”指标,来观察延迟情况。 父主题: 数据库性能
  • 使用文档数据库服务要注意什么 故障切换 文档数据库实例采用多路由+多分片+副本集的部署形态,当路由主机出现故障时,可实时动态切换。副本集包含多个副本,当主节点发生故障时,系统会在30秒之内切换到备节点。 实例的弹性云服务器,对用户都不可见,这意味着,只允许用户应用程序访问数据库对应的IP地址和端口。 文档数据库服务使用的 对象存储服务 上的文件(备份文件、慢日志文件、审计日志文件、错误日志文件),对用户不可见,它们只对后台管理系统可见。 申请文档数据库服务后,用户不需要进行数据库的基础运维(比如高可用、安全补丁等),但还需要重点关注以下事情: 文档数据库实例的CPU、IOPS、空间是否足够,如果不够需要优化或者扩容。 文档数据库实例是否存在性能问题,是否有大量的慢查询,查询语句是否需要优化,是否有多余的索引或者索引缺失等。 父主题: 产品咨询
  • 自定义角色 用户自定义角色是用户通过命令创建的定制化的角色,只包含CRUD操作的一种或多种,或者内置角色的一种或多种。可以通过命令针对不同的资源、不同的操作进行自定义,除了预置角色无法被修改以外,其他应用方式是相同的。 创建、修改和删除角色 要创建角色前,需使用具有权限的用户(可使用rwuser)连接到数据库实例。详情请参见连接数据库。 通过createRole创建自定义角色,可以针对不同db,不同的collection进行权限控制,也可以从其他角色上继承。 角色创建完成后如需调整权限可通过grantPrivilegesToRole,grantRolesToRole,revokeRolesFromRole或revokePrivilegesFromRole命令获取或者回收回权限。详情请参见创建并管理角色。 父主题: 角色管理
  • 预置角色 预置角色是系统自动生成的角色信息,客户端可用的预置角色名称有read,readWrite。 mongodb使用角色来管理数据库的,所以创建一个用户时就需要赋予一个角色。角色除了内置之外,也可以自定义角色。 表1 常见内置角色 角色 权限描述 包含的操作命令 read read角色包含读取所有非系统集合数据和订阅部分系统集合(system.indexes、system.js、system.namespaces)的权限。 changeStream、collStats、dbHash、dbStats、find、killCursors、listIndexes、listCollections readWrite readWrite角色包含read角色的权限同时增加了对非系统集合数据的修改权限,但只对系统集合system.js有修改权限。 collStats、convertToCapped、createCollection、dbHash、dbStats、dropCollection、createIndex、dropIndex、find、insert、killCursors、listIndexes、listCollections、remove、renameCollectionSameDB、update readAnyDatabase readAnyDatabase角色包含对除了config和local之外所有数据库的只读权限。同时对于整个集群包含listDatabases命令操作。 在MongoDB3.4版本之前,该角色包含对config和local数据库的读取权限。当前版本如果需要对这两个数据库进行读取,则需要在admin数据库授予用户对这两个数据库的read角色。 readWriteAnyDatabase readWriteAnyDatabase角色包含对除了config和local之外所有数据库的读写权限。同时对于整个集群包含listDatabases命令操作。 在MongoDB3.4版本之前,该角色包含对config和local数据库的读写权限。当前版本如果需要对这两个数据库进行读写,则需要在admin数据库授予用户对这两个数据库的readWrite角色。 dbAdmin dbAdmin角色包含执行某些管理任务(与schema相关、索引、收集统计信息)的权限,该角色不包含用户和角色管理的权限。 对于系统集合(system.indexes、system.namespaces、system.profile)包含命令操作:collStats、dbHash、dbStats、find、killCursors、listIndexes、listCollections、dropCollection and createCollection(仅适用system.profile) 对于非系统集合包含命令操作:bypassDocumentValidation、collMod、collStats、compact、convertToCapped、createCollection、createIndex、dbStats、dropCollection、dropDatabase、dropIndex、enableProfiler、reIndex、renameCollectionSameDB、repairDatabase、storageDetails、validate dbAdminAnyDatabase dbAdminAnyDatabase角色包含类似于dbAdmin角色对于所有数据库管理权限,除了config数据库和local数据库。同时对于整个集群包含listDatabases命令操作。 在MongoDB3.4版本之前,该角色包含对config和local数据库的管理权限。当前版本如果需要对这两个数据库进行管理,则需要在admin数据库授予用户对这两个数据库的dbAdmin角色。 clusterAdmin clusterAdmin角色包含MongoDB集群管理最高的操作权限。 clusterManager、clusterMonitor和hostManager三个角色的所有权限,并且还拥有dropDatabase操作命令的权限。 userAdmin userAdmin角色包含对当前数据库创建和修改角色和用户的权限。该角色允许向其它任何用户(包括自身)授予任何权限,所以这个角色也提供间接对超级用户(root)的访问权限,如果限定在admin数据中,也包括集群管理的权限。 changeCustomData、changePassword、createRole、createUser、dropRole、dropUser、grantRole、revokeRole、setAuthenticationRestriction、viewRole、viewUser userAdminAnyDatabase userAdminAnyDatabase角色包含类似于userAdmin角色对于所有数据库的用户管理权限,除了config数据库和local数据库。 对于集群包含命令操作:authSchemaUpgrade、invalidateUserCache、listDatabases 对于系统集合admin.system.users和admin.system.roles包含命令操作:collStats、dbHash、dbStats、find、killCursors、planCacheRead、createIndex、dropIndex 父主题: 角色管理
  • 示例 更新用户信息 products数据库中的用户appClient01,其信息如下: { "_id" : "products.appClient01", "token" : NumberLong("8424642624807814713"), "user" : "appClient01", "db" : "products", "customData" : { "empID" : "12345", "badge" : "9156" }, "roles" : [ { "role" : "readWrite", "db" : "products" }, { "role" : "read", "db" : "inventory" } ], "mechanisms" : [ "SC RAM -SHA-1", "SCRAM-SHA-256" ] } 下面操作会替换用户的自定义数据和角色数据: use products db.updateUser( "appClient01", { customData : { employeeId : "0x3039" }, roles : [ { role : "read", db : "assets" } ] } ) products数据库中的用户appClient01,经过更新后信息如下: { "_id" : "products.appClient01", "token" : NumberLong("8424642624807814713"), "user" : "appClient01", "db" : "products", "customData" : { "employeeId" : "0x3039" }, "roles" : [ { "role" : "read", "db" : "assets" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } 更新用户以仅使用SCRAM-SHA-256凭证 reporting数据库中的用户reportUser256,其信息如下: { "_id" : "reporting.reportUser256", "token" : NumberLong("2827251846225877395"), "user" : "reportUser256", "db" : "reporting", "roles" : [ ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } 以下操作会将当前同时拥有 SCRAM-SHA-256 和 SCRAM-SHA-1 全权证书的用户更新为只拥有 SCRAM-SHA-256 全权证书的用户。 如果密码未与mechanisms一起指定,则只能将mechanisms更新为用户当前SCRAM机制的子集。 如果密码与mechanisms一起指定,则可以指定任何受支持的SCRAM机制。 对于SCRAM-SHA-256,passwordDigestor必须是默认值 "server"。 db.updateUser( "reportUser256", { mechanisms: [ "SCRAM-SHA-256" ] } ) reporting数据库中的用户reportUser256,经过更新后信息如下: { "_id" : "reporting.reportUser256", "token" : NumberLong("2827251846225877395"), "user" : "reportUser256", "db" : "reporting", "roles" : [ ], "mechanisms" : [ "SCRAM-SHA-256" ] }
  • 操作须知 下面所有操作都对权限要求,默认rwuser用户具备所需权限,如果通过客户自定义用户进行管理,则需要关注是否具备操作权限。 使用具备权限的用户(可使用rwuser)连接到数据库实例。 通过createUser创建所需的用户,通过设置合适的角色来控制对应用户的权限。其中需要注意的是"passwordDigestor" 参数必须是 "server",否则命令会执行失败,增加这个约束是为了避免安全隐患。
  • 示例 创建用户时不同数据库赋予不同角色 使用db.createUser()在products数据库中创建accountAdmin01用户。 use products db.createUser( { user: "accountAdmin01", pwd: "Changeme_123", customData: { employeeId: 12345 }, roles: [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite"] }, { w: "majority" , wtimeout: 5000 } ) 以上操作赋予用户accountAdmin01以下角色: 在admin数据库中角色为clusterAdmin和readAnyDatabase。 在products数据库中角色为readWrite。 创建用户时同一数据库赋予多个角色 以下操作创建一个在products数据库中角色为readWrite和dbAdmin的用户,用户名为accountUser。 use products db.createUser( { user: "accountUser", pwd: "Changeme_123", roles: [ "readWrite", "dbAdmin" ] } ) 创建用户时不赋予角色 以下操作在admin数据库中创建一个用户名为reportsUser的用户,但是没有赋予用户角色。 use admin db.createUser( { user: "reportsUser", pwd: "Chagneme_123", roles: [ ] } ) 创建管理员用户并赋予角色 下面的操作将在admin 数据库中创建名为appAdmin的用户,并赋予该用户对config数据库的读写访问权限,使用户可以更改分片群集的某些设置,如分片均衡器设置。 use admin db.createUser( { user: "appAdmin", pwd: "Changeme_123", roles: [ { role: "readWrite", db: "config" }, "clusterAdmin" ] } ) 创建有身份验证限制的用户 以下操作将在管理员数据库中创建一个名为restricted的用户。该用户只能从IP地址192.0.2.0连接到IP地址198.51.100.0时才能进行身份验证。 use admin db.createUser( { user: "restricted", pwd: "Changeme_123", roles: [ { role: "readWrite", db: "reporting" } ], authenticationRestrictions: [ { clientSource: ["192.0.2.0"], serverAddress: ["198.51.100.0"] } ] } ) 仅使用SCRAM-SHA-256证书创建用户 下面的操作将创建一个只有SCRAM-SHA-256凭据的用户。 use reporting db.createUser( { user: "reportUser256", pwd: "Changeme_123", roles: [ { role: "readWrite", db: "reporting" } ], mechanisms: [ "SCRAM-SHA-256" ] } ) 如果设置了authenticationMechanisms参数,mechanisms字段只能包含authenticationMechanisms参数中指定的值。
  • 用户管理 DDS上用户的权限都是基于角色管理,通过给用户赋予不同的角色来进行差异化的权限控制。 为了给文档数据库实例提供管理服务,您在创建数据库实例时,文档数据库服务会自动为实例创建admin、monitor和backup账户。如果试图删掉、重命名、修改这些账户的密码和权限,会导致出错。 对于数据库管理员账户rwuser,以及您所创建的账户,允许修改账户的密码。 创建用户 更新用户 删除用户 父主题: 数据库权限
  • 约束限制 转为高可用只读实例时,原只读存储类型支持SSD云盘,性能规格仅支持独享型。 证书、磁盘加密、端口、子网信息跟已有高可用只读一致(若没有高可用只读,则跟主实例一致)时,非高可用只读才可变更到高可用只读。 创建高可用只读或是变更到高可用只读时,需要保证实例所在子网的可用私有IP数量≥ 3。 不建议修改高可用只读实例的参数,否则会影响到高可用只读的可靠性。 高可用只读不允许进行如下操作:修改端口、转换到非高可用只读实例。 单机版只读转为高可用只读对业务没有影响。
  • 修改标签 在“实例管理”页面,选择指定的实例,单击实例名称,进入实例概览页面。 在左侧导航栏,单击“标签”,进入标签页面。 单击“编辑标签”,在弹出框中,修改已有标签的键和值,单击“确定”。 输入标签的键和值时,系统会自动联想当前用户的所有实例(除当前实例外)的所有关联的预定义标签。 标签的键不能为空且必须唯一,长度为1~128个字符,可以包含任意语种字母、数字、空格和 _ . : = + - @,但首尾不能含有空格,不能以_sys_开头。 标签的值可以为空字符串,长度为0~255个字符,可以包含任意语种字母、数字、空格和 _ . : / = + - @。 修改成功后,您可在当前实例的所有关联的标签集合中,查询并管理自己的标签。
  • TaurusDB标准版支持审计的关键操作列表 通过 云审计 服务,您可以记录与TaurusDB标准版实例相关的操作事件,便于日后的查询、审计和回溯。 表1 云审计服务支持的操作列表 操作名称 资源类型 事件名称 创建实例、创建只读、恢复到新实例 instance createInstance 扩容、规格变更 instance instanceAction 实例重启 instance instanceRestart 恢复到原有实例 instance instanceRestore 实例重命名 instance instanceRename 重置密码 instance resetPassword 设置数据库版本配置参数 instance setDBParameters 重置实例的数据库版本配置参数 instance resetDBParameters 设置备份策略-打开,关闭,修改 instance setBackupPolicy 修改数据库端口号 instance changeInstancePort 绑定解绑EIP instance setOrResetPublicIP 修改安全组 instance modifySecurityGroup 创建标签 instance createTag 删除标签 instance deleteTag 修改标签 instance modifyTag 删除实例 instance deleteInstance 主备倒换 instance instanceFailOver 修改主备同步模式 instance instanceFailOverMode 修改主备倒换策略 instance instanceFailOverStrategy 单机转高可用实例 instance modifySingleToHaInstance 创建快照 backup createManualSnapshot 复制快照 backup copySnapshot 下载备份(通过OBS下载) backup downLoadSnapshot 下载备份(通过浏览器下载) backup backupsDownLoad 删除快照 backup deleteManualSnapshot 合并下载binlog backup packBackupsDownLoad 创建参数模板 parameterGroup createParameterGroup 修改参数模板 parameterGroup updateParameterGroup 删除参数模板 parameterGroup deleteParameterGroup 复制参数模板 parameterGroup copyParameterGroup 重置参数模板 parameterGroup resetParameterGroup 应用参数模板 parameterGroup applyParameterGroup 保存参数模板 parameterGroup saveParameterGroup 冻结删除 all rdsUnsubscribeInstance 实例冻结 all rdsfreezeInstance 按需转包周期、续费 all bssUpdateMetadata 父主题: CTS 审计
  • TaurusDB标准版事件监控支持的事件说明 表1 资源异常事件 事件来源 事件名称 事件ID 事件级别 事件说明 处理建议 事件影响 RDS 创建实例业务失败 createInstanceFailed 重要 创建实例失败产生的事件,一般是磁盘个数,配额大小不足,底层资源耗尽导致。 检查磁盘个数、配额大小,释放资源后重新创建。 无法创建数据库实例。 实例全量备份失败 fullBackupFailed 重要 单次全量备份失败产生的事件,不影响以前成功备份的文件,但会对“恢复到指定时间点”的功能有一些影响,导致“恢复到指定时间点”时增量备份的恢复时间延长。 重新执行一次手工备份。 备份失败。 主备切换异常 activeStandBySwitchFailed 重要 主备切换异常是由于网络、物理机有某种故障导致备机没有接管主机的业务,短时间内会恢复到原主机继续提供服务。 检查应用和数据库之间的连接是否重新建立了连接。 无 复制状态异常 abnormalReplicationStatus 重要 出现”复制状态异常“事件通常有两种情况: 1、主备之间复制时延太大(一般在写入大量数据或执行大事务的时候出现),在业务高峰期容易出现阻塞。 2、主备间的网络中断,导致主备复制异常。 提交工单。 但不会导致原来单实例的读写中断,客户的应用是无感知的。 复制状态异常已恢复 replicationStatusRecovered 重要 即复制时延已回到正常范围内,或者主备之间的网络通信恢复。 不需要处理。 无 实例运行状态异常 faultyDBInstance 重要 由于灾难或者物理机故障导致单机或者主实例故障时会上报本事件,属于关键告警事件。 检查是否有设置自动备份策略,并且提交工单。 可能导致数据库服务不可用。 实例运行状态异常已恢复 DBInstanceRecovered 重要 针对灾难性的故障,TaurusDB标准版有高可用工具会自动进行备机重建,重建完成之后即会上报本事件。 不需要处理。 无 单机实例转高可用实例失败 singleToHaFailed 重要 创建备机时或备机创建完成后主备机之间配置同步发生故障时会产生此事件,一般是由于备节点所在数据中心资源不足导致。 提交工单。 “单机实例转高可用实例失败”不会导致原来单实例的读写中断,客户的应用是无感知的。 数据库进程重新启动 DatabaseProcessRestarted 重要 一般是内存不足、负载过高导致数据库进程停止 通过云监控的数据,查看是否有内存飙升、cpu长期过高、磁盘满使用率不足等的情况,可以选择提升CPU内存规格或者优化业务逻辑 进程挂掉的时候,业务中断。TaurusDB服务会自动拉起进程,尝试恢复业务。 实例磁盘满 instanceDiskFull 重要 一般是由于数据空间占用过大导致。 对实例进行扩容操作。 实例由于磁盘空间满将会变成只读实例,数据库不可进行写入操作。 实例磁盘满恢复 instanceDiskFullRecovered 重要 实例磁盘状态恢复正常。 不需要处理。 实例解除只读状态,恢复写操作。 kafka连接失败 kafkaConnectionFailed 重要 一般是由于网络波动或kafka服务端出现异常等原因导致。 检查网络状况和kafka服务端状态。 审计日志无法发送到kafka服务端。 表2 操作类事件 事件来源 事件名称 事件ID 事件级别 事件说明 RDS 重置数据库管理员密码 resetPassword 重要 重置数据库管理员密码 集群扩容等操作 instanceAction 重要 磁盘扩容、规格变更 删除集群下的实例 deleteInstance 次要 删除集群下的实例 修改备份策略 setBackupPolicy 次要 修改备份策略 修改参数组 updateParameterGroup 次要 修改参数组 删除参数组 deleteParameterGroup 次要 删除参数组 重置参数组 resetParameterGroup 次要 重置参数组 修改数据库端口号 changeInstancePort 重要 修改数据库端口号 实例主备切换 PrimaryStandbySwitched 重要 实例主备切换 父主题: 事件监控
  • TaurusDB标准版事件监控简介 事件监控提供了事件类型数据上报、查询和告警的功能。方便您将业务中的各类重要事件或对云资源的操作事件收集到 云监控服务 ,并在事件发生时进行告警。 事件即云监控服务保存并监控的资源的关键操作,您可以通过“事件”了解到谁在什么时间对系统哪些资源做了什么操作,如重置数据库管理员密码、修改备份策略等。 事件监控默认开通,您可以在事件监控中查看系统事件和自定义事件的监控详情,目前支持的系统事件请参见TaurusDB标准版事件监控支持的事件说明。 事件监控为您提供上报自定义事件的接口,方便您将业务产生的异常事件或重要变更事件采集上报到云监控服务。 上报自定义事件请参见上报事件。 父主题: 事件监控
  • 告警策略 TaurusDB标准版默认对以下指标开启自动告警:CPU使用率(rds001_cpu_util)、磁盘利用率(rds039_disk_util)、连接数使用率(rds072_conn_usage)。更多监控指标,请参考TaurusDB标准版实例支持的监控指标。 自动告警初始化时,绑定的手机号与邮箱为主账号的手机号和邮箱。 自动告警开启后,新实例将自动加入到告警监控资源列表中。超过既定阈值时触发告警,并通过 SMN 发送通知给绑定的手机或邮箱。 如需针对已有实例新增告警监控,或者将指定实例移出告警监控资源列表,可通过云监控服务( CES )进行调整,详情请参见修改告警规则。
  • 操作场景 TaurusDB标准版支持针对CPU、磁盘使用率等重要指标,开启自动告警功能。开启后,新实例将自动加入到CES告警监控列表。超过既定阈值时触发告警,并通过SMN发送通知给绑定的手机或邮箱。 查看或修改自动告警所监控的实例,可跳转至云监控服务(CES)进行查看或调整,详情请参见修改告警规则。 查看或修改自动告警所绑定的手机号和邮箱,可通过云监控服务(CES)的告警规则详情页跳转至 消息通知 服务(SMN)进行查看或调整,详情请参见添加订阅。
  • 使用须知 打开SQL审计功能可能会有一定的性能影响。 主实例和只读实例都支持开启SQL审计日志。 审计日志使用UTC时间,不受时区配置的影响。 审计日志开通后,系统会将SQL操作记录下来,生成的审计日志文件会暂存在本地,随后上传到OBS并保存在备份存储空间。如果审计日志的大小超过了备份空间容量,就会按照超出的部分进行计费。 审计日志清理周期为1小时。修改审计日志的保留天数,1个小时后开始清理过期的审计日志。 审计日志开通后,在业务高峰期可能会产生大量的审计日志,导致本地暂存较多的日志文件,有磁盘打满风险,建议同步开启磁盘自动扩容。
  • 参数解析 表1 慢日志相关的参数解析 参数名称 说明 long_query_time 大于等于此时间记录慢日志,精度可达微秒级别,默认为1s,当SQL语句执行时间超过此数值时,就会被记录到慢日志中。 建议设置为1s。注意:锁等待时间并不计算在执行时间内。 log_queries_not_using_indexes 是否记录未使用索引的查询,默认OFF。 log_throttle_queries_not_using_indexes 每分钟允许写入到慢日志的未使用索引的语句,默认为0。
  • 操作场景 您可以复制您创建的自定义数据库参数模板。当您已创建一个数据库参数模板,并且想在新的数据库参数模板中包含该组中的大部分自定义参数和值时,复制参数模板是一个方便的解决方案。您还可以导出某数据库实例应用的参数列表,生成一个新的参数模板,供您后期使用。 复制数据库参数模板之后,新参数模板可能不会立即显示,建议您等待5分钟再使用。 您无法复制默认参数模板。不过,您可以创建基于默认参数模板的新参数模板。
  • 敏感参数 若干参数相关说明如下: “lower_case_table_names” 默认值:“1”。 作用:该参数表示创建数据库及表时,表存储是否大小写敏感。默认值“1”,表示创建数据库及表时,默认小写,不区分大小写。 TaurusDB标准版8.0版本不支持该参数。 影响:修改该参数可能会导致主从复制异常,请谨慎修改。如果必须要修改,请根据以下场景设置数据库参数: 参数值从1变为0的设置顺序:先修改和重启只读库,后修改和重启主库。 参数值从0变为1的设置顺序:先修改和重启主库,在主库执行SELECT @@GLOBAL.GTID_EXECUTED。然后在只读库执行SELECT @@GLOBAL.GTID_EXECUTED,直到结果集合大于或者等于主库的SELECT @@GLOBAL.GTID_EXECUTED的结果集合,再修改和重启只读库。 “innodb_flush_log_at_trx_commit” 默认值:“1”。 作用:该参数控制提交操作在严格遵守ACID合规性和高性能之间的平衡。设置为默认值“1”,是为了保证完整的ACID,每次提交事务时,把事务日志从缓存区写到日志文件中,并刷新日志文件的数据到磁盘上;当设为“0”时,每秒把事务日志缓存区的数据写入日志文件,并刷新到磁盘;如果设为“2”,每次提交事务都会把事务日志从缓存区写入日志文件,每隔一秒左右会刷新到磁盘。 影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致数据丢失。 POC建议值:“2”。 “sync_binlog” 云数据库默认值:“1”。 作用:该参数控制MySQL服务器将二进制日志同步到磁盘的频率。设置为默认值“1”,表示MySQL每次事务提交,binlog同步写入磁盘,是最安全的设置;设置为“0”时,表示MySQL不控制binlog的刷新,由文件系统自己控制其缓存的刷新。此时的性能最好,但风险最大,因为一旦断电或操作系统崩溃,在“binlog_cache”中的所有binlog信息都会被丢失。 影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致binlog丢失。 POC建议值:“1000”。 “innodb_buffer_pool_size” 云数据库默认值:“规格参数,不同实例规格默认值也不同”。 作用:该参数为Innodb缓冲池大小,用来缓存表和索引数据的内存区域,增加该值可减少磁盘I/O。 影响:过大的buffer pool可能导致系统崩溃,请谨慎修改。 POC建议值:32G及以上规格可将其调整至内存的70%~75%。
  • 联动参数 “character_set_server”:修改该参数的值, 系统会联动调整“collation_server”、“character_set_database”,和“collation_database”的取值。 其中,字符序“character_set_server”跟字符集“collation_server”存在对应关系,比如针对TaurusDB标准版5.7而言,“character_set_server”为“latin1”时,对应的“collation_server”默认值为“latin1_swedish_ci”,此时“collation_server”的取值区间为以“latin1”开头的字符序。 “innodb_io_capacity”:该参数的取值必须小于等于“innodb_io_capacity_max”的取值。 比如“innodb_io_capacity_max”为“2000”, 则“innodb_io_capacity”最大设置为“2000”。 “innodb_buffer_pool_size”: 该参数受“innodb_buffer_pool_chunk_size ”* “innodb_buffer_pool_instances”的影响,为两参数乘积的整数倍向上取值。 比如“innodb_buffer_pool_chunk_size”为“134217728”,“ innodb_buffer_pool_instances”为“1”,那“innodb_buffer_pool_size”必须大于等于“134217728”。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全