Summary

Client health is a background service that monitors Nomad clients to ensure that they are running as expected and where it encounters issues, it will attempt a self-heal or remediation. It is installed as a 1E Client Health service and like NomadBranch, its Startup Type attribute is Automatic (Delayed Start).  It reports its health checks to Configuration Manager in the form of status messages which can be viewed in the Nomad dashboard.

On this page

Health check steps

Each health check when run goes through two steps:

  1. The status of the service or component is checked and its status reported: 
    • Pass – health check passed
    • Warning – health check passed, but with warnings
    • Error – when a health check (and its remediation) fails.
  2. If an error is found in 1 and a remediation is available, it is run. For example, if the NomadBranch service is in a stopped or disabled state, the remediation will try and start it.

Note that some health checks may not apply to certain kind of machines. For example, the Nomad DP LSZGen enabled health check applies only to DPs and not to regular client machines. If a health check is not applicable on a particular machine, it is automatically disabled when the Client Health service starts-up.

The client health feature is enabled by default on any Window system which has the .Net Framework 4.6 (or later) runtime library installed. By default, the ENABLECLIENTHEALTH installer property is enabled (set to 1) during installation but you can disable it by setting it to 0.

Available health checks

There are currently twelve health checks available. Their characteristics are as follows:

Health CheckApplies to ClientApplies to DPHas remediationNotes
ActiveEfficiency connectivity(tick)(tick)
If the ActiveEfficiency URL is present in the Nomad settings, it checks to see if the ActiveEfficiency server is reachable and is serving requests.
  1. It reports:
    • Warning if the URL is not present
    • Error when it is not reachable

If you are not integrating with ActiveEfficiency, disable Nomad AE Connectivity (Enabled=false).
Firewall exceptions(tick)(tick)(tick)Checks exceptions for NomadBranch.exe are present in Windows firewall.
  1. If the exceptions are not present, it attempts to fix them during self-heal.
  2. It reports:
    • Warning if Windows firewall is disabled
    • Error if the exceptions are not present
Nomad service running(tick)(tick)(tick)Checks if the NomadBranch service is running.
  1. It attempts to start the service (even if disabled) during self-heal.
  2. It reports:
    • Error if it is not running
Nomad share account(tick)(tick)(tick)Validates the share account and its properties (if custom share is not configured).
  1. It attempts to restart NomadBranch during self-heal.
  2. It reports:
    • Error if the share account is not present (P2P is enabled (SMB, HTTP, HTTPS) and Machine Account is not configured)
Nomad share(tick)(tick)(tick)Validates the share folder and its properties (if custom share is not configured).
  1. It attempts to restart NomadBranch during self-heal.
  2. It reports:
    • Error if the share is not present and P2P is configured over SMB.
Nomad hashing enabled(tick)(tick)
Checks to see if bit 19 is set on a DP and bit 20 on clients (they are enabled by default) on for the CompatibilityFlags registry values.
  1. It reports:
    • Error if these bits are not set
Nomad DP LSZ virtual directory
(tick)(tick)Checks if the LSZFILES virtual directory is in place on a DP.
  1. It attempts to recreate it during self-heal.
  2. It reports:
    • Error if the LSZFILE virtual directory is not present in the Configuration Manager site
Nomad DP LSZGen enabled
(tick)
Check LSZ generation is turned enabled on a DP.
  1. It reports:
    • Warning if LSZ generation is turned off
Nomad license state(tick)(tick)
Checks the status of Nomad's license.
  1. It reports:
    • Warning if your license is due to expire in the next 60 days
    • Error if your license has expired
Nomad crash dumps(tick)(tick)
Checks for the presence of Nomad crash dumps in the Nomad logs directory.
  1. It reports:
    • Error if there are any are found
Nomad disk availability(tick)(tick)
Checks disk space (it expects PercentAvailableDisk+5%) available to Nomad.
  1. It reports:
    • Warning if the disk availability is low
Nomad alternate content provider(tick)
(tick)Checks if Nomad is registered as an alternate content provider with Configuration Manager clients.
  1. It attempts to register Nomad as a alternate content provider during self-heal.
  2. It reports:
    • Error if it isn't
Nomad cache in temp(tick)

If Nomad cannot open or share its cache directory, it creates one in the System Temp folder.
  1. This health check is disabled by default.
  2. If enabled, a warning is raised is this folder is detected in the System Temp, for example C:\Windows\TEMP\NomadBranch

Configuration the behavior of health checks

The behavior health check is determined by its settings in the registry at: HKEY_LOCAL_MACHINE\SOFTWARE\1E\ClientHealth. If you update the registry values while the ClientHealth service is running, you must restart it for your changes to take effect. We recommend you back up your registry before making any updates.

To update a registry value:

  1. Open the Registry Editor.
  2. The Nomad ClientHealth registry values are held under the HKEY_LOCAL_MACHINE > SOFTWARE > 1E > ClientHealth key, as shown in the picture opposite.

    Each of the registry entries is described in the following table:

    Registry valueDefault valueInstaller propertyDescription
    LogFileName%ALLUSERSPROFILE%\1E\NomadBranch\
    LogFiles\ClientHealth.log

    LOGPATH

    This property sets the path for all the Nomad logs. The ClientHealth log file name is always set to the default ClientHealth.log.

    Sets the path and filename of the ClientHealth log file.


    MaxLogFileSize1048576 
    Sets the maximum size (in bytes) of the ClientHealth log file.
    ResendStatusPeriodHrs336RESENDHEALTHSTATUSHOURS

    Duration (in hours) before sending status messages to Configuration Manager. For example:

    • If you set the duration to 12 hours, ClientHealth will not update Configuration Manager until the duration has lapsed or if the status for a particular health check has changed, in which case, a new status message for that particular check is sent.
    • If you set the value to 0, ClientHealth updates Configuration Manager each time it runs its checks irrespective of the previous status of a particular check.

    SendStatusMessages

    FalseSENDHEALTHSTATUSMESSAGES

    This value sets whether Nomad sends the ClientHealth status messages to Configuration Manager or not. To enable this feature, you set this value to True.

    The Nomad Dashboard requires this value to be set to True.

     
  3. Each health check has its own key under the ClientHealth > HealthChecks key.
    1. If you want to enable a particular health check, update Enabled=true (the default is Enabled=false) in the health check's key
      Health check registry value 
    2. The interval (in seconds) between running the health checks can be globally set for all the checks during install time using the HEALTHCHECKPERIODSECS installer property.
    3. If you want to modify each health check's period individually, update the value for PeriodInSecs (the default is PeriodInSecs=3600) under the relevant health check's key.
  4. When you have finished making changes close the Registry Editor.