监控服务器

若要监控集群中各个服务器的状态,请使用 SHOW SERVERS 命令。

列出服务器

语法

SHOW SERVERS

返回

名称 类型 描述

名称 (name)

字符串

服务器的友好名称,如果未设置名称,则为其 UUID。

address

字符串

服务器 Bolt 端口的地址。可能为 null

state

字符串

服务器在拓扑结构中的状态。

health

字符串

服务器当前的可用性。

hosting

List<String>

此服务器当前正在运行的数据库。

state 的可能值

  • Free - 服务器已启动,但尚未添加到集群中。需要通过 ENABLE SERVER 将其添加。

  • Enabled - 服务器是集群的一部分,可以向其分配数据库。

  • Cordoned - 服务器可能正在托管数据库,但不能再向其分配任何新数据库。

  • Deallocating - 服务器正在移除其托管的数据库。这可能需要一些时间,因为它不会停止当前处于主(primary)模式的数据库副本,直到另一个服务器完全启动其副本为止,以保持所需的 primaries 数量。

  • Deallocated - 服务器已完成数据库的移除工作。

  • Dropped - 服务器已从集群中移除,但进程尚未退出。

health 的可能值

  • Available - 服务器近期与执行 SHOW SERVERS 的集群成员保持联系。

  • Unavailable - 服务器与集群的网络通信有一段时间不成功。

Unavailable 并不一定意味着服务器未运行,只是连接它时存在网络问题。

示例 1. 列出集群中的服务器

在集群中运行 SHOW SERVERS 时,预期会得到类似以下的输出

+------------------------------------------------------------------------------------------------------+
| name                                 | address        | state   | health    | hosting                |
+------------------------------------------------------------------------------------------------------+
|"f4ae1895-26f1-4b93-bd31-6f482be80d3d"|"localhost:7681"|"Enabled"|"Available"|["system","foo","neo4j"]|
|"ffa55a5b-2aca-45fc-be09-2a894067025c"|"localhost:7682"|"Enabled"|"Available"|["system","foo","neo4j"]|
|"server3"                             |"localhost:7683"|"Enabled"|"Available"|["system","neo4j"]      |
+------------------------------------------------------------------------------------------------------+

列出服务器的更多详细信息

如果需要关于服务器的更多详细信息,可以在 SHOW SERVERS 后添加 YIELD *

语法

SHOW SERVERS YIELD *

返回

名称 类型 描述

serverId

字符串

服务器的 UUID

名称 (name)

字符串

服务器的友好名称,如果未设置名称,则为其 UUID。

address

字符串

服务器 Bolt 端口的地址。可能为 null

httpAddress

字符串

服务器 HTTP 端口的地址。可能为 null

httpsAddress

字符串

服务器 HTTPS 端口的地址。可能为 null

state

字符串

服务器在拓扑结构中的状态。

health

字符串

服务器当前的可用性。

hosting

List<String>

此服务器当前正在运行的数据库。

requestedHosting

List<String>

此服务器应该运行的数据库。如果服务器正在安全停止某个数据库,该列表显示的数据库可能会较少;如果服务器正在启动某个数据库,则可能会较多。复合数据库目前不会出现在此列表中,尽管它们确实会出现在所有服务器的 hosting 中。

tags

List<String>

应用于此服务器的标签。用于路由策略。

allowedDatabases

List<String>

此服务器上仅允许运行的数据库列表。为空表示允许所有数据库。

deniedDatabases

List<String>

此服务器上不允许托管的数据库列表。为空表示允许所有数据库。

modeConstraint

字符串

对数据库在此服务器上可以采用的模式(即 primarysecondary)的限制。

version

字符串

此服务器正在运行的 Neo4j 版本。

allowedDatabasesdeniedDatabases 只能设置其中之一,因为它们是互斥的。

modeConstraint 的可能值

  • NONE - 任何模式都可以分配给此服务器。

  • PRIMARY - 仅主(primary)模式可以分配给此服务器。它们可能是数据库的写入目标。

  • SECONDARY - 仅从(secondary)模式可以分配给此服务器。它们永远不会写入数据库,仅供读取。

示例 2. 列出集群中服务器的更多详细信息

在集群中运行 SHOW SERVERS YIELD * 时,预期会得到类似以下的输出

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| serverId                             | name                                 | address        | httpAddress    | httpsAddress | state   | health    | hosting                | requestedHosting       | tags | allowedDatabases| deniedDatabases| modeConstraint| version        |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|"f4ae1895-26f1-4b93-bd31-6f482be80d3d"|"f4ae1895-26f1-4b93-bd31-6f482be80d3d"|"localhost:7681"|"localhost:7471"|null          |"Enabled"|"Available"|["system","foo","neo4j"]|["system","foo","neo4j"]|[]    |[]               |[]              |"NONE"         |"5.0.0-SNAPSHOT"|
|"ffa55a5b-2aca-45fc-be09-2a894067025c"|"ffa55a5b-2aca-45fc-be09-2a894067025c"|"localhost:7682"|"localhost:7472"|null          |"Enabled"|"Available"|["system","foo","neo4j"]|["system","foo","neo4j"]|[]    |[]               |[]              |"NONE"         |"5.0.0-SNAPSHOT"|
|"72bd3d0f-c1d1-4d39-9da7-015f5656e40b"|"server3"                             |"localhost:7683"|"localhost:7473"|null          |"Enabled"|"Available"|["system","neo4j"]      |["system","neo4j"]      |[]    |[]               |[]              |"NONE"         |"5.0.0-SNAPSHOT"|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+