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

269 Views Asked by At

I am trying to monitor Marklogic server hosts using healthcheck app server, But the server is throwing 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>

2

There are 2 best solutions below

1
On BEST ANSWER

Like any other application, the HealthCheck application is set up as an app-server. It ships with App level security and has a default user named HealthCheck. This user is also normally shipped with ML.

So, based on the limited information provided, it appears that your default user HealthCheck is missing..

Verify that the user exists: Admin Interface -> Security -> Users

If you need to re-create it, just note that it ships configured with the role healthcheck-user.

Lastly, perhaps the ErrorLog provides more info?

0
On

First make sure your server is otherwise functioning properly. The error can be an indication that the server does not have connectivity to the Security Database.
Otherwise, this is likely due to a known upgrade issue that can occasionally occur where the HealthCheck user is installed with an unknown user ID. HealthCheck is only used by the product on Amazon AWS installations with the Cluster Management feature, but is installed with all installations (via the RPM). To fix this, David was on the right path.

  1. Temporarily change the 'default user' for the HealhCheck app on prot 7998 to some other user.
  2. Delete the HealthCheck user via Security -> Users
  3. Recreate the HealthCheck User and assign it the "healthcheck-user" role (it can be named anything).
  4. Go back to the HealthCheck app and select this new HealthCheck user as the default user.

Note that the HealthCheck application is extremely simplistic and intended to be customized if desired to accommodate your own use cases. By default the HealthCheck app is simply a static page, but implicitly validates that the host is properly initialized and joined to a cluster (or is a 'cluster of 1') by using a non-default user associated with a role. That will fail if the server is not functioning at at least a basic level.

For your purposes feel free to augment the application code to do whatever makes sense for your own purposes. If your not running the Managed Cluster feature on AWS it is otherwise unused and intended to be customized.