Check the System State
As described in Fusion 4.x Directories, Files, and Ports, 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.
Status Check for Zookeeper and connectors-classic
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/admin/ping
The response will be a JSON response, similar to the following:
{
"responseHeader": {
"zkConnected": true,
"status": 0,
"QTime": 0,
"params": {
"q": "{!lucene}*:*",
"distrib": "false",
"df": "_text_",
"rows": "10",
"echoParams": "all"
}
},
"status": "OK"
}
The status
should be OK
if Solr is able to return results for queries.
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://<FUSION_HOST>/api/
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" : [ ]
} ]