Health Check Endpoint

✅ 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:

Item

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
{
  "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:

Observation

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

Recommendation

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.

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.


Component: Engine

Feature Availability: 8.6.0 or later