Checking System State

As described in Fusion Server Directories, Files, and Ports in the Deployment Guide, Fusion runs several components as separate JVMs running on different ports. Each of the components is capable of reporting its status. The proxy component reports status for all of the other components.

Full System Check

To see whether each component has been started, a simple API call to the proxy (running on port 8764 by default) will return the status of each component of the system.

 curl http://localhost:8764/api

The response should look similar to the following. If 'ping' is true for each service, all of the system components are running.

{"status":{"db":{"ping":true},"apolloZk":{"ping":true},"apollo":{"ping":true},
"connectors":{"ping":true},"fusion":{"ping":true}},"startTime":"2018-02-16T16:23:51Z",
"initMeta":{"initializedAt":"2018-02-15T21:50:43Z","version":"local",
"nativeRealmInstalled":"2018-02-15T21:53:44Z"},"enabledRealms":[{"name":"native","realmType":"native"},
{"name":"webapps-jwt-realm","realmType":"jwt"}],"version":"local"}

Solr Health Check

The Fusion UI and API services are not accessible if ZooKeeper and Solr are not in healthy state. A Solr health check can be performed with a ping request, for example:

curl http://localhost:8983/solr/collection-name/config/requestHandler?componentName=/admin/ping

The response will be a JSON response, similar to the following:

 {
   "responseHeader":{
     "status":0,
     "QTime":4},
   "config":{"requestHandler":{"/admin/ping":{
         "class":"solr.PingRequestHandler",
         "useParams":"_ADMIN_PING",
         "invariants":{
           "echoParams":"all",
           "q":"{!lucene}*:*"},
         "name":"/admin/ping"}}}}

The status should be 0 if Solr is running properly.

REST API Services Health Check

All of the Fusion API backend services (except Connectors and the UI) are started at port 8765 when the run.sh script is executed. The Fusion UI depends on all these services.

If all the services are started without any issues, then the below ping request should return the response ok.

 curl http://localhost:8765/api/v1

As an alternative check, you can also query the system/status endpoint, which returns the status.

curl http://localhost:8764/api/system/status

The response looks like something like this:

[ {
  "status" : "ok",
  "node" : "http://127.0.0.1:8984/connectors/v1/system",
  "messages" : [ ]
}, {
  "status" : "ok",
  "node" : "http://127.0.0.1:8764/api/system",
  "messages" : [ ]
} ]

Connectors Classic Health Check

You can perform a health check of the Connectors Classic Service by sending a ping request to port 8984. Similar to the previous ping request, the returned response is ok if the service started successfully.

 curl http://localhost:8984/connectors/v1

As an alternative check, you can also query the system/status endpoint, which returns the status.

curl http://localhost:8984/connectors/v1/system/status

The response looks like something like this:

[ {
  "status" : "ok",
  "node" : "http://127.0.0.1:8984/connectors/v1/system",
  "messages" : [ ]
}, {
  "status" : "ok",
  "node" : "http://127.0.0.1:8764/api/system",
  "messages" : [ ]
} ]