. . .

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/