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):
health endpoint URL
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.Example for Request with SuperAdmin credentials
{
"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"
}
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/