Monitoring
ApiOmat provides monitoring capabilities at all layers. For most methods, a Nagios compatible monitoring system is required.
Checking the YAMBAS service
After running, each application server provides a specific healthcheck REST endpoint to check whether the service is alive (usable for load balancers, etc):
http(s):
//YOURHOST/yambas/rest/health
The endpoint will respond with a HTTP statuscode 200, and a JSON object with status "UP" if the system is up and healthy. Otherwise it will respond with statuscode 503 and a JSON object with status "DOWN".
You can get detailed information about the health status by requesting the endpoint with SuperAdmin credentials. The endpoint will also provide additional health information, if the MongoDB is unavailable during server start or the SuperAdmin account does not exist.
{
"mongo"
: {
"status"
:
"UP"
},
"hazelcast"
: {
"localMemberSafe"
:
true
,
"clusterSafe"
:
true
,
"clusterState"
:
"ACTIVE"
,
"clusterSize"
:
1
,
"status"
:
"UP"
},
"systemStartChecks"
: {
"serverStarted"
:
true
,
"jobSchedulerOk"
:
true
,
"configOk"
:
true
,
"superAdminDoesNotExist"
:
false
,
"error"
:
""
,
"licenseOk"
:
true
,
"mongoOk"
:
true
,
"status"
:
"UP"
},
"jobScheduler"
: {
"publicAllNodeScheduler"
: {
"currentlyExecutingJobCount"
:
0
,
"started"
:
true
,
"inStandby"
:
false
,
"shutdown"
:
false
,
"status"
:
"UP"
},
"internalAllNodeScheduler"
: {
"currentlyExecutingJobCount"
:
0
,
"started"
:
true
,
"inStandby"
:
false
,
"shutdown"
:
false
,
"status"
:
"UP"
},
"internalSingleNodeScheduler"
: {
"currentlyExecutingJobCount"
:
0
,
"started"
:
true
,
"inStandby"
:
false
,
"shutdown"
:
false
,
"status"
:
"UP"
},
"publicSingleNodeScheduler"
: {
"currentlyExecutingJobCount"
:
0
,
"started"
:
true
,
"inStandby"
:
false
,
"shutdown"
:
false
,
"status"
:
"UP"
},
"status"
:
"UP"
},
"status"
:
"UP"
}
Monitoring via ApiOmat Dashboard
Using the ApiOmat Dashboard to monitor your servers is an easy way to get an overview on different aspects of your servers like CPU and RAM usage.
To activate monitoring, install the Lurker service.
Checking the Apache Tomcat
The jolokia plugin monitors the status of the application container. Several parameters of a web application can be observed, like
-
track the number and rate of in coming requests per second
-
number of current connections
or common checks like memory and CPU usage of the whole Tomcat.
The plugin requires Jolokia and the agent plugin on the monitored server. Jolokia works with JMX.
Checking the MongoDB
MongoDB has its own Nagios/Check_MK plugin ( check_mk_active-mongodb) where e.g.
-
replication data
-
number of connections
-
current lock
-
database size
can be monitored.
Furthermore, mongo contains several command line tools to check performance and load: http://docs.mongodb.org/manual/administration/monitoring/
Configuration Details
Further configuration details to set up the monitoring service (e.g. running monitoring service on several nodes) are described within the article Configure Monitoring Extras.