手动注册代理
代理注册是手动从 NOM UI 获取令牌信息以允许代理与 NOM 服务器通信的过程。
此步骤可以通过使用自动注册代理来省略,如自动注册代理中所述。
注册代理
在安装代理之前,需要将其注册到 NOM 服务器以提供服务器通信配置。
-
单击右上角的设置图标,它会将您重定向到全局设置。
-
单击代理,您将看到所有已注册代理的列表,以及它们上次联系时间和版本。
-
单击注册新代理按钮,输入新代理的名称和描述,然后单击注册按钮。
-
代理将被创建,并且随机生成的代理凭据将显示在屏幕上。
凭据和其他关键代理配置值将以环境变量声明的形式显示。您可以将它们复制到主机上以方便代理配置。
-
捕获凭据后,单击确认复选框和完成按钮。新创建的代理将显示在代理列表中。
作为服务运行
以服务模式运行代理意味着代理进程在后台运行并监控实例。代理生命周期由操作系统服务管理器处理。最佳实践是以服务模式运行代理。
Linux (systemd)
设置参数
运行以下命令以编辑服务
systemctl edit neo4j-ops-manager-agent.service
通过设置 Environment 或 EnvironmentFile 选项来设置环境变量。例如,使用 Environment 选项,覆盖文件可能如下所示
[Service]
Environment="CONFIG_SERVER_ADDRESS=<server grpc address>"
Environment="CONFIG_TOKEN_URL=<server http login url>"
Environment="CONFIG_TOKEN_CLIENT_ID=<client id>"
Environment="CONFIG_TOKEN_CLIENT_SECRET=<client secret>"
Environment="CONFIG_TLS_TRUSTED_CERTS=</path/to/trusted/certs/pem/file>"
Environment="CONFIG_LOG_FILE=</path/to/nom-agent/log.txt>"
Environment="CONFIG_INSTANCE_1_NAME=<instance name>"
Environment="CONFIG_INSTANCE_1_BOLT_URI=<bolt uri of the local instance>"
Environment="CONFIG_INSTANCE_1_BOLT_USERNAME=<local instance user name>"
Environment="CONFIG_INSTANCE_1_BOLT_PASSWORD=<local instance password>"
Environment="CONFIG_INSTANCE_1_QUERY_LOG_PORT=<an available port>"
Environment="CONFIG_INSTANCE_1_LOG_CONFIG_PATH=<path to server-logs.xml>"
请参阅完整的选项列表此处。
Windows
设置参数
-
打开注册表编辑器并导航到
HKLM\SYSTEM\CurrentControlSet\Services\neo4j-ops-manager-agent
。 -
创建一个名为
Environment
的类型为REG_MULTI_SZ
的键,并在单独的行上添加环境变量,例如CONFIG_SERVER_ADDRESS=<server grpc address> CONFIG_TOKEN_URL=<server http login url> CONFIG_TOKEN_CLIENT_ID=<client id> CONFIG_TOKEN_CLIENT_SECRET=<client secret> CONFIG_TLS_TRUSTED_CERTS=</path/to/the/trusted/certs/pem> CONFIG_LOG_FILE=</path/to/nom-agent/log.txt> CONFIG_INSTANCE_1_NAME=<instance name> CONFIG_INSTANCE_1_BOLT_URI=<bolt uri of the local instance> CONFIG_INSTANCE_1_BOLT_USERNAME=<local instance user name> CONFIG_INSTANCE_1_BOLT_PASSWORD=<local instance password> CONFIG_INSTANCE_1_QUERY_LOG_PORT=<an available port> CONFIG_INSTANCE_1_LOG_CONFIG_PATH=<path to server-logs.xml>
请参阅完整的选项列表此处。
作为控制台应用程序运行
在启动代理之前,应将代理的所有配置值设置为环境变量。
agent console
验证代理设置
确保代理已联系 NOM 服务器,处于联机状态,并正确报告 DBMS(s)。
-
返回到全局设置中的代理列表。
-
标识新创建的代理。
-
检查上次联系时间是否有值。
-
如果代理从未联系过 NOM 服务器,请返回到代理运行的位置并检查日志。可能是服务器地址配置不正确,或者 TLS 证书未正确指定。
-
-
验证代理当前状态是否为
联机
。-
如果代理当前未联机,请转到其运行位置并检查日志。
-
-
将鼠标悬停在新添加的代理上,然后从右侧菜单中选择“查看配置”以显示代理配置。检查配置是否符合预期。
-
导航到主页(如果此代理是第一个管理 DBMS 中实例的代理,则 DBMS 可能需要几分钟才能显示)。
-
选择警报选项卡,并确保新代理管理的任何 DBMS 都没有警报。
代理配置参考
此处的表格列出了要设置的配置键和值。
服务器通信配置(手动注册代理)
需要设置以下环境变量以允许代理与 NOM Server 通信。从注册步骤中代理凭据
对话框中复制前四个。
变量 | 描述 | 示例 |
---|---|---|
|
服务器 GRPC 地址 |
server:9090 |
|
服务器令牌 URL |
https://server:8080/api/login/agent |
|
代理的客户端 ID |
` 3ff98478-d6d2-4e1b-b816-e758c835f076` |
|
代理的客户端密钥 |
secret |
|
PEM 编码的受信任 CA 列表 () |
|
由于代理-服务器通信需要加密,因此您需要配置代理,使其信任服务器的证书。包含受信任证书列表(PEM 编码)的文件可以通过 |
代理日志记录配置
以下环境变量指定代理的日志配置
变量 | 描述 | 示例 |
---|---|---|
|
日志级别 (debug,info,warn,error) |
info |
|
日志文件路径 |
|
受监控实例配置
需要设置以下环境变量以允许代理访问实例。
如果同一个代理监控多个 DBMS,请重复并枚举每个 DBMS 的配置,将下面的数字 |
变量 | 描述 | 示例 |
---|---|---|
|
第一个实例的名称 |
my-instance-1 |
|
第一个实例的 Bolt URI,使用 bolt 或 bolt+s 协议 |
bolt://localhost:7687 或 bolt+s://localhost:7687 或 bolt+ssc://localhost:7687,具体取决于本地数据库的设置 |
|
第一个实例的 Bolt 用户名 |
neo4j |
|
第一个实例的 Bolt 密码 |
password |
您为 |
查询日志收集配置
变量 | 描述 | 示例 |
---|---|---|
|
代理连接到 Neo4j log4j 附加程序的端口。如果没有设置,则查询日志收集功能将被视为已禁用。 |
9500 |
|
实例log4j 配置文件的路径。如果设置,则会自动追加适当的日志附加程序(包括上面指定的端口)。 |
/var/lib/neo4j/conf/server-logs.xml |
|
要记录的查询的最小持续时间(毫秒)(可选) |
100 |
|
启用过滤器以过滤掉低于最小持续时间(毫秒)的错误(可选) |
true |
|
禁用查询中的字符串文字混淆(可选) |
true |
|
收集并显示来自 NOM 代理的查询(可选) |
true |
代理应该只监控本地实例,不应该配置为连接到远程实例。 |
参考 **Neo4j 实例需求** 以确保所有实例都满足 NOM 管理的需求。 |