> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Health Check Endpoint

> GermainUX exposes authenticated health endpoints that external systems can use to verify the status of Germain Enterprise services and dependencies.

Service
`Management`

Availability
2016.1 or later

> [card] [Service Endpoints](#service-endpoints)
>
> URL pattern for each service

> [card] [Health Information](#health-information)
>
> Component status indicators

> [card] [Example Response](#example-response)
>
> Sample UP status payload

> [card] [Monitoring Recommendations](#monitoring-recommendations)
>
> Wire health checks into alerts

## GermainUX Service Health Endpoints

GermainUX exposes authenticated health endpoints that external monitoring and alerting systems can use to verify the operating status of Germain Enterprise services and their dependencies.

## Overview

Each endpoint returns:

* The overall status of the service
* The health of available internal components
* Details about dependencies such as databases, disk space, email, service discovery, and ZooKeeper

All health endpoints require authentication. The requesting user or monitoring system must have a valid authenticated session and sufficient permissions.

## Service Endpoints

| Service | Health endpoint |
| - | - |
| **Action Service** | `https://<HOST>:<PORT>/actuator/health` |
| **Aggregation Service** | `https://<HOST>:<PORT>/actuator/health` |
| **Analytics Service** | `https://<HOST>:<PORT>/actuator/health` |
| **REST Service** | `https://<HOST>:<PORT>/actuator/health` |
| **Ingestion Service** | `https://<HOST>:<PORT>/ingestion/actuator/health` |
| **Session Tracking Service** | `https://<HOST>:<PORT>/actuator/health` |
| **Storage Service** | `https://<HOST>:<PORT>/actuator/health` |

Replace `<HOST>` and `<PORT>` with the hostname and port of the applicable GermainUX service.

The base path may vary according to the deployment architecture, reverse proxy, application context, and service configuration.

## Health Information

The endpoint provides a high-level status for the complete service and may include individual health indicators for components such as:

| Component | Information provided |
| - | - |
| **Database** | Database availability and validation status |
| **Disk space** | Total space, free space, and configured minimum threshold |
| **Email** | Connectivity to the configured SMTP service |
| **Service discovery** | Availability of registered discovery services |
| **ZooKeeper** | Connection and runtime state |
| **Ping** | Basic application availability |
| **Refresh scope** | Status of the application’s refreshable configuration scope |

The components returned depend on the service and its enabled integrations.

## Example Response

```json theme={null}
{
  "status": "UP",
  "components": {
    "db": {
      "status": "UP",
      "details": {
        "database": "MySQL",
        "validationQuery": "isValid()"
      }
    },
    "discoveryComposite": {
      "status": "UP",
      "components": {
        "discoveryClient": {
          "description": "Discovery Client not initialized",
          "status": "UNKNOWN"
        },
        "zookeeper": {
          "status": "UP",
          "details": {
            "services": []
          }
        }
      }
    },
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 260143104000,
        "free": 193304309760,
        "threshold": 10485760,
        "path": "/opt/tomcat/.",
        "exists": true
      }
    },
    "mail": {
      "status": "UP",
      "details": {
        "location": "email-smtp.example.com:587"
      }
    },
    "ping": {
      "status": "UP"
    },
    "refreshScope": {
      "status": "UP"
    },
    "zookeeper": {
      "status": "UP",
      "details": {
        "connectionString": "germain-zookeeper:2181",
        "state": "STARTED"
      }
    }
  }
}
```

In this example:

* The overall service status is `UP`.
* The database, disk-space, email, ping, and ZooKeeper checks are healthy.
* The discovery client reports `UNKNOWN` because it has not been initialized.

An `UNKNOWN` component does not necessarily mean that the complete service is unavailable. Alerting logic should evaluate the overall status and the importance of each dependency.

## Monitoring Recommendations

* Poll the endpoints from an authorized monitoring system.
* Use encrypted HTTPS connections.
* Store authentication details securely.
* Do not expose health endpoints publicly.
* Alert when the overall service is not `UP`.
* Create dependency-specific alerts for critical components.

> [accordion] Show all 10
>
> * Avoid alerting on optional components that are intentionally disabled.
> * Monitor repeated failures and status transitions, not only isolated responses.
> * Restrict access to detailed responses because they may reveal infrastructure information.
> * Combine endpoint monitoring with GermainUX Sentinel and the State dashboard for broader platform-health coverage.

## Get Help

> [card] [Contact GermainUX Support](https://docs.germainux.com/main/support.md)
>
> The GermainUX team helps you get up and running faster, empower your team, turn data into actionable insights, and optimize performance to deliver measurable business outcomes.

> [card] Can't find what you need?
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.