Link Search Menu Expand Document Documentation Menu

securityadmin.sh 故障排除

本页包含 securityadmin.sh 的故障排除步骤。该脚本位于 /plugins/opensearch-security/tools/securityadmin.sh。有关使用此工具的更多信息,请参阅应用配置更改


目录


集群不可达

如果 securityadmin.sh 无法访问集群,它会输出

OpenSearch Security Admin v6
Will connect to localhost:9200
ERR: Seems there is no opensearch running on localhost:9200 - Will exit

检查主机名

默认情况下,securityadmin.sh 使用 localhost。如果您的集群运行在其他主机上,请使用 -h 选项指定主机名。

检查端口

请检查您正在针对 HTTP 端口运行 securityadmin.sh,而不是传输端口。

默认情况下,securityadmin.sh 使用 9200。如果您的集群运行在其他端口,请使用 -p 选项指定端口号。

配置的节点均不可用

如果 securityadmin.sh 可以访问集群,但无法更新配置,它会输出此错误

Contacting opensearch cluster 'opensearch' and wait for YELLOW clusterstate ...
Cannot retrieve cluster state due to: None of the configured nodes are available: [{#transport#-1}{mr2NlX3XQ3WvtVG0Dv5eHw}{localhost}{127.0.0.1:9300}]. This is not an error, will keep on trying ...
  • 尝试使用 -icl-nhnv 运行 securityadmin.sh

    如果这有效,请检查您的集群名称以及 SSL 证书中的主机名。如果这无效,请尝试使用 --diagnose 运行 securityadmin.sh 并查看诊断跟踪日志文件。

  • 添加 --accept-red-cluster 以允许 securityadmin.sh 在红色集群上操作。

检查集群名称

默认情况下,securityadmin.sh 使用 opensearch 作为集群名称。

如果您的集群有不同的名称,您可以使用 -icl 选项完全忽略该名称,或者使用 -cn 选项指定该名称。

检查主机名验证

默认情况下,securityadmin.sh 会验证您节点证书中的主机名是否与节点的实际主机名匹配。

如果情况并非如此(例如,如果您正在使用演示证书),您可以通过添加 -nhnv 选项来禁用主机名验证。

检查集群状态

默认情况下,securityadmin.sh 仅在集群状态至少为黄色时执行。

如果您的集群状态为红色,您仍然可以执行 securityadmin.sh,但需要添加 -arc 选项。

检查安全索引名称

默认情况下,安全插件使用 .opendistro_security 作为配置索引的名称。如果您在 opensearch.yml 中配置了不同的索引名称,请使用 -i 选项指定它。

“错误:DN 不是管理员用户”

如果用于启动 securityadmin.sh 的 TLS 证书不是管理员证书,脚本会输出

Connected as CN=node-0.example.com,OU=SSL,O=Test,L=Test,C=DE
ERR: CN=node-0.example.com,OU=SSL,O=Test,L=Test,C=DE is not an admin user

执行脚本时必须使用管理员证书。要了解更多信息,请参阅配置超级管理员证书

使用诊断选项

有关 securityadmin.sh 未执行的更多信息,请添加 --diagnose 选项

./securityadmin.sh -diagnose -cd ../../../config/opensearch-security/ -cacert ... -cert ... -key ... -keypass ...

脚本将打印生成的诊断文件的位置。