3

我正在尝试使用 healthcheck 应用服务器监控 Marklogic 服务器主机,但服务器正在抛出SEC-DEFAULTUSERDNE: Default user does not exist: HealthCheck error.

kakula@ops3r:~/monitor$ curl -s --connect-timeout 2 -m 1 http://Hostname:7997

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     <pre><body>
<span class="error">
  <h1>500 Internal Server Error</h1>
  <dl>
    <dt>SEC-DEFAULTUSERDNE: Default user does not exist: HealthCheck/ = 10784468014522530524</dt>
    <dd></dd>
    <dt> [1.0-ml]</dt>
    <dd></dd>
  </dl>
</span>

4

2 回答 2

5

与任何其他应用程序一样,HealthCheck 应用程序设置为应用服务器。它附带应用级别的安全性,并有一个名为HealthCheck的默认用户。该用户通常也附带 ML。

因此,根据提供的有限信息,您的默认用户 HealthCheck 似乎丢失了。

验证用户是否存在:管理界面 -> 安全 -> 用户

如果您需要重新创建它,只需注意它附带配置了角色healthcheck-user

最后,也许ErrorLog提供了更多信息?

于 2016-04-29T22:21:13.447 回答
2

首先确保您的服务器正常运行。该错误可能表明服务器没有连接到安全数据库。
否则,这可能是由于安装了未知用户 ID 的 HealthCheck 用户偶尔会发生的已知升级问题。HealthCheck 仅由具有集群管理功能的 Amazon AWS 安装上的产品使用,但与所有安装一起安装(通过 RPM)。为了解决这个问题,大卫走上了正确的道路。

  1. 暂时将 prot 7998 上 HealhCheck 应用程序的“默认用户”更改为其他用户。
  2. 通过 Security -> Users 删除 HealthCheck 用户
  3. 重新创建 HealthCheck 用户并为其分配“healthcheck-user”角色(可以命名为任何名称)。
  4. 返回到 HealthCheck 应用并选择这个新的 HealthCheck 用户作为默认用户。

请注意,HealthCheck应用程序非常简单,并且可以根据需要进行定制以适应您自己的用例。默认情况下,HealthCheck 应用程序只是一个静态页面,但使用与角色关联的非默认用户隐式验证主机是否已正确初始化并加入集群(或“1 集群”)。如果服务器至少在基本级别上没有运行,那将失败。

出于您的目的,请随意扩充应用程序代码以执行对您自己的目的有意义的任何事情。如果您未在 AWS 上运行托管集群功能,则它不会被使用并打算进行自定义。

于 2016-04-30T13:42:34.043 回答