✅ 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 |
|
|
Aggregation Service |
|
|
Analytics Service |
|
|
REST Service |
|
|
Ingestion Service |
|
|
Session Tracking Service |
|
|
Storage Service |
|
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 |
|
|
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
{
"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 |
|
The database, disk-space, email, ping, and ZooKeeper checks are healthy. |
|
The discovery client reports |
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 |
|
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