SEC-DEFAULTUSERDNE:默认用户不存在:HealthCheck/

SEC-DEFAULTUSERDNE: Default user does not exist: HealthCheck/

我正在尝试使用 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>

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

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

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

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

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

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

  1. 暂时将 prot 7998 上的 HealhCheck 应用程序的 'default user' 更改为其他用户。
  2. 通过安全 -> 用户删除 HealthCheck 用户
  3. 重新创建 HealthCheck 用户并为其分配 "healthcheck-user" 角色(可以任意命名)。
  4. 返回 HealthCheck 应用程序并将这个新的 HealthCheck 用户select设为默认用户。

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

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