本节描述如何从MySQL Enterprise Monitor的目录中删除有关资产和资产组的信息旋度
命令行上的实用程序。
从库存中删除资产不会从其安装位置删除或卸载资产。删除过程从MySQL Enterprise Service Manager的内部记录中删除一个资产或资产组的所有记录。这使您能够删除被监视但不再使用的集群、拓扑和实例的条目。
在试图从目录中删除资产或组之前,请确保资产或组未运行或未安装。
有关库存的更多信息,请参见附录B,管理库存.
本节介绍以下内容:
检索可删除资产信息:如何检查什么是可删除的。
列出相关的可删除资产:如何检查相关资产及其状态。
从库存中删除资产:如何删除资产。
请求状态码:从各种请求类型返回代码。
curl实用程序可以用于直接从MySQL企业服务管理器的监控资产目录中请求信息。要检索特定资产是否可以被删除的信息,并作为JSON数组检索,请使用以下语法执行curl请求:
curl -k -v——user用户名:密码“https://servername:port/v4/inventory/AssetType/AssetID/deletable”
地点:
用户名:密码
是对MySQL企业服务管理器具有管理员权限的用户的用户名和密码。servername:端口
是MySQL企业服务管理器的服务器名和端口号。AssetType
要检索的资产信息的类型。有效的资产类型如下:MySQL实例:
com.mysql.etools.inventory.model.mysql.MysqlServer
MySQL企业监控代理:
com.mysql.etools.inventory.model.agent.Agent
请注意如果代理的状态未知,代理正在运行,或者代理正在监视一个或多个MySQL实例,而这些MySQL实例没有计划在同一操作中删除,则不可能从目录中删除代理。
主机:
com.mysql.etools.inventory.model.os.Host
请注意如果主机包含的代理或MySQL实例不在同一操作中被计划删除,则不可能从目录中删除主机。
NDB集群:
com.mysql.etools.inventory.model.mysql.cluster.NdbCluster
NDB API节点:
com.mysql.etools.inventory.model.mysql.cluster.NdbApiNode
请注意删除一个NDBAPINode也会删除服务器。
NDB数据节点:
com.mysql.etools.inventory.model.mysql.cluster.NdbDataNode
NDB管理节点:
com.mysql.etools.inventory.model.mysql.cluster.NdbManagementNode
AssetID
是资产类型的惟一字母数字标识符。请注意找到
AssetID
,查看具体资产类型的清单页面。看到附录B,管理库存为更多的信息。
下面的示例检索具有惟一标识符的MYSQL实例的信息c14ee437 - a615 - 11 - e4 - 8334 f8b156b72e61
:
在下面的示例中,为了清晰起见,添加了换行符。
Curl -k -v——user admin:mysql "https://localhost:18443/v4/inventory/com.mysql.etools.inventory.model.mysql。MysqlServer / c14ee437 - a615 11 - e4 - 8334 f8b156b72e61 /可删除的”
如果MySQL实例是可删除的,请求返回以下数据,确认资产类型可以从目录中删除:
"asset": {"id": "c14ee437-a615-11e4-8334-f8b156b72e61", "assetClass": "com.mysql.etools.inventory.model.mysql. net "。MysqlServer"}, " isdeleetable ": true, "treeDeletable": true, "problems": [], "token": "3b66cd39467791a739e5131a8d6a856b"
地点:
资产
:列出请求资产的id和资产类别。isDeletable
:真|假。列出是否可以从清单中删除资产的信息。treeDeletable
:真|假。列出是否可以删除相关资产。问题
:列出资产信息不能从库存中删除的原因。可能的原因是:ACL_FAIL
:用户权限不足,无法执行该操作。删除资产需要管理允许服务器组和MySQL NDB集群.要从目录中删除资产,用户必须属于具有该权限的角色。
有关更多信息,请参见第22.3节“监控资产权限”.
IS_LIVE
:代理正在运行。代理正在运行并向服务管理器广播信息。无法从库存中删除正在运行的资产。要从库存中删除资产,必须首先停止或卸载它。UNKNOWN_LIVENESS
:无法确定代理的状态。此问题可能是由网络问题或其他问题(如停电)引起的,这导致服务管理器无法与代理联系。AGENT_HAS_UNRELATED_SERVER
:如果代理正在监视不包含在请求范围内的MySQL实例,则不可能删除服务器和相关代理。要包括它,您必须扩大相关请求的范围,包括代理
关键字。OS_HAS_UNRELATED_AGENT
:如果主机中存在未计划删除的代理,则无法删除主机。主机包含的代理不在请求的范围内。要包括它,您必须扩大相关请求的范围,包括代理
关键字。OS_HAS_UNRELATED_SERVER
:不可能删除一个主机,其中包含一个MySQL实例不计划删除。主机包含一个MySQL实例,它不包含在请求的作用域内。要包括它,您必须扩大相关请求的范围,包括mysqlserver
关键字。
令牌
:资产状态的唯一字母数字标识符。该令牌可以在删除
请求,以确认资产的状态在时间之间没有改变可删除的
请求已运行,并且时间删除
请求运行。
该请求还返回一个状态码,指示请求的成功或失败。有关更多信息,请参见请求状态码.
的相关的
Request使您能够返回与在类型字段中定义的主要资产相关的其他资产的数据。例如,使用related,您可以为MySQL实例、监视它的代理、它所驻留的主机等请求可删除的信息。相关的
还允许您通过一个请求从目录中删除多个资产。
相关的
接受以下值的逗号分隔列表:
代理
:与主资产相关的任何代理。mysqlserver
:与主资产相关的任何MySQL实例。ndbcluster
:与主资产相关的任何ndbcluster。操作系统
:与主资产相关的所有主机。
请求的语法如下:
curl -k -v——user username:password "https://servername:port/v4/inventory/AssetType/AssetID/deletable?相关的=代理、mysqlserver ndbcluster,操作系统”
例如,下面的代码使用AssetID请求MySQL实例上的可删除信息c14ee437 - a615 - 11 - e4 - 8334 f8b156b72e61
监视它的代理:
Curl -k -v——user admin:mysql "https://localhost:18443/v4/inventory/com.mysql.etools.inventory.model.mysql。MysqlServer / c14ee437 - a615 11 - e4 - 8334 f8b156b72e61 /可删除的吗?相关=代理”
返回如下JSON数组:
"asset": {"id": "c14ee437-a615-11e4-8334-f8b156b72e61", "assetClass": "com.mysql.etools.inventory.model.mysql. net "。MysqlServer"}, "isDeletable": true, "treeDeletable": false, "problems": [], "children": [{"asset": {"id": "b68947f9-39f2-4003-981f-8c9cc7a7409f", "assetClass": "com.mysql. etools.inventor.model.agent . properties "}, "isDeletable": true, "treeDeletable": false, "problems": [], "children": [{"asset": {"id": "b68947f9-39f2-4003-981f-8c9cc7a7409f", "assetClass": "Agent"}, "isDeletable": false, "treeDeletable": false, "problems": [{"code": "IS_LIVE", "description": "IS_LIVE"}]}], "token": "d0e3607f6029a91a35a9956950908761"
返回的数据表明,虽然MySQL实例是可删除的,但它是不可删除的treeDeletable
,这意味着不能在相关的删除
,因为监视代理仍在运行。
要从MySQL企业服务管理器的目录中删除单个资产,使用以下语法:
在试图从目录中删除资产之前,请确保资产或资产组未运行或未安装。
curl -k -v -X DELETE——header "X-Requested-With:XMLHttpRequest"——header "If-Match:tokenID"——user admin:mysql "https://servername:port/v4/inventory/AssetType/AssetID"
要从MySQL企业服务管理器目录中删除相关资产,请使用以下语法:
curl -k -v -X DELETE——header "X-Requested-With:XMLHttpRequest"——header "If-Match:tokenID"——user admin:mysql "https://servername:port/v4/inventory/AssetType/AssetID?相关的=代理、mysqlserver ndbcluster,操作系统”
——标题“If-Match: tokenID”
是可选的,仅当您想确认可删除的信息仍然准确时才应该使用。如果包含tokenID,并且与可删除请求检索的值匹配,则执行DELETE操作。
例如,下面显示了一个带有返回数据的可删除请求,列出了一个可删除的代理、MySQL实例、它用来监视的主机和驻留在同一服务器上的另一个代理:
Curl -k -v——user admin:mysql "https://localhost:18443/v4/inventory/com.mysql.etools.inventory.model.agent。代理/ d71ff41c - affd 4 -电子束曝光- 966 - e - 395 - e6f06b5e3 /可删除的吗?相关= mysqlserver,操作系统,代理”{ "asset" : { "id" : "d71ff41c-affd-4ebe-966e-395e6f06b5e3", "assetClass" : "com.mysql.etools.inventory.model.agent.Agent" }, "isDeletable" : true, "treeDeletable" : true, "problems" : [ ], "children" : [ { "asset" : { "id" : "sid:{S-1-5-21-700548433-2193620149-503502644}", "assetClass" : "com.mysql.etools.inventory.model.os.Host" }, "isDeletable" : true, "treeDeletable" : true, "problems" : [ ], "children" : [ { "asset" : { "id" : "b68947f9-39f2-4003-981f-8c9cc7a7409f", "assetClass" : "com.mysql.etools.inventory.model.agent.Agent" }, "isDeletable" : true, "treeDeletable" : true, "problems" : [ ], "children" : [ { "asset" : { "id" : "c14ee437-a615-11e4-8334-f8b156b72e61", "assetClass" : "com.mysql.etools.inventory.model.mysql.MysqlServer" }, "isDeletable" : true, "treeDeletable" : true, "problems" : [ ] } ] } ] } ], "token" : "7048b6e53c81f549b55c5f3e861c2eee"
下面的示例显示了一个相关的DELETE请求,删除所有在可删除示例中列出的可删除资产:
curl -k -v -X DELETE——header“X-Requested-With:XMLHttpRequest”——用户admin:mysql”https://localhost:18443/v4/inventory/com.mysql.etools.inventory.model.agent。代理/ d71ff41c - affd 4 -电子束曝光- 966 - e - 395 - e6f06b5e3吗?相关= mysqlserver,操作系统,代理”
与NDB集群不同,目前不可能删除整个复制拓扑,NDB集群可以使用com.mysql.etools.inventory.model.mysql.cluster.NdbCluster
资产类型。
若要删除复制拓扑中涉及的资产,必须分别删除每个资产,或使用相关的
请求类型。
状态码可以在返回消息的下面部分找到,在HTTP/1.1之后:
HTTP/1.1 200 Set-Cookie: JSESSIONID=8C0C2E1AFD45F170E7E41621F934723D;路径= /;安全的;HttpOnly Strict-Transport-Security: max-age=31536000;Pragma: no-cache Expires: 0 X-Content-Type-Options: no嗅Content-Type: application/json Transfer-Encoding: chunked日期:Tue, july 24 2018 12:31:47 GMT
返回以下状态码可删除的
而且删除
请求:
200
:删除请求成功。内容以JSON数组的形式返回。204
:删除请求成功。不返回任何内容。400
:请求无效。检查资产信息或请求的语法,检查错误、拼写错误等。403
: (删除
请求,只)X-Requested-With
标头不存在。404
:不正确的AssetID提供。409
:无法执行DELETE请求。进一步的信息在JSON数组中提供。412
:请求的令牌检查失败。