Fusion Server has functions built in for observability and monitoring with Fusion’s tools or third-party monitoring tools.

Fusion system metrics

Fusion system metrics are logged and available in the UI, in log files, and through the REST API.

Additional tools for monitoring Fusion

  • Read about other necessary areas to monitor, such as Java Virtual Machines, Unix file systems, networks, and applications like Solr in Monitor Fusion 4.x.x.
  • Read about using notifications or alerts in Messaging Service.
  • Read about monitoring techniques and guidelines in Cluster Monitoring and Troubleshooting.
  • Read about health checks for components of your Fusion deployment in Check the System State.
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" : [ ]
} ]

For more information

In the Lucidworks Knowledge Base: From our blogs: