Monitoring Apache Solr


Apache Solr - An Overview

Solr is a popular, open source enterprise search platform built on Apache Lucene. Providing distributed search and index replication, Solr is designed for scalability and Fault tolerance. With load-balanced querying, automated failover and recovery, Solr drives the search and navigation features of many of the world's largest internet sites.

Monitoring Apache Solr - What we do

Let’s take a look at what you need to see to monitor Solr, the performance metrics to gather and how you can ensure that your Solr search server is up and operating as expected with Applications Manager:

  • Resource utilization details - Applications manager automatically discovers Solr servers, monitors memory and CPU and notifies you of changes in resource consumption.
  • Thread and JVM usage - Track thread usage in Solr by monitoring the status of the threads such as blocked, waiting, etc. Ensure open threads don’t overload Solr server's memory.
  • Core and Replication Statistics - Monitor the cores and their replicase with details like health and overall index size. Know if a core is a master or a slave node and its replication enabled status.
  • Query and update stats, cache level details and search times - Make sure Solr's query handler is processing incoming requests properly with metrics like the number of search requests, search errors, search timeouts and Luke requests per minute. Know cache level details like lookups, hit ration, evictions, and cache size. Understand how the update handler is handling update by looking at the number of commits, rollbacks and documents added/deleted/pending. Find out how long it takes for searcher or caches to load.
  • Fix performance problems faster - Get instant notifications when there are performance issues with the components of Apache Solr. Become aware of performance bottlenecks and take quick remedial actions before your end users experience issues.

Creating a new Apache Solr monitor

Supported versions : Apache Solr 6.0 and lower versions.

Using the REST API to add a new Apache Solr monitor: Click here

To create an Apache Solr Monitor, follow the steps given below:

  1. Click on New Monitor link. Choose Apache Solr.
  2. Enter Display Name of the monitor.
  3. Enter the IP Address or hostname of the host in which the Solr instance is running.
  4. Provide the port number in which the Solr instance is running.
  5. Enable SSL option, if SSL is enabled in Apache Solr Server.
  6. Enter the polling interval time in minutes.
  7. Click Test Credentials button, if you want to test the access to Apache Solr Server
  8. Choose the Monitor Group from the combo box with which you want to associate Apache Solr Monitor (optional). You can choose multiple groups to associate your monitor.
  9. Click Add Monitor(s). This discovers Apache Solr from the network and starts monitoring.

Monitored Parameters

Go to the Monitors Category View by clicking the Monitors tab. Click on Apache Solr under the Web Server/Services Table. Displayed is the Apache Solr bulk configuration view distributed into three tabs:

  • Availability tab  displays the Availability history for the past 24 hours or 30 days.
  • Performance tab displays the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

Click on the monitor name to see all the server details listed under the following tabs:

Core Details

Parameter Description
Core Details
Total number of cores The total number of Solr cores on a single Solr instance. (A Solr core is an index and associated transaction log and configuration files. An installation can have multiple cores.)
Active cores The total number of active Solr cores, i.e a core that is in active state for querying, on the Solr instance.
Lead Cores The total number of active leader Solr cores.
Cores
Core Name The name of the Solr core on the instance.
Host Name The host name of the machine running Solr.
Number of Docs / Min The number of documents added into a collection per minute.
Max Docs / Min The maximum number of documents that can be added to a collection per minute.
Deleted Docs / Min The number of documents deleted from the collection per minute.
State The state of corresponding core, whether it is active or inactive. This is referred in turn for querying.
Searcher Warmup Time The warmup time taken by searcher in between the query processing.
Average Search Time The average time taken for processing the query and searching.
Replication
Core Name The name of the Solr core on the instance.
Master Node Specifies if a replication instance of Solr is a master.
Slave Node Specifies if a replication instance of Solr is a slave.
Index Size Specifies the index size of the individual cores.
Replications Enabled Specifies if you have master/slave replication enabled.

JVM

Parameter Description
Thread Details
WAITING Threads Thread State - A thread that is waiting indefinitely for another thread to perform a particular action.
TIMED_WAITING Threads Thread State - A thread that is waiting for another thread to perform an action for up to a specified waiting time.
RUNNABLE Threads Thread State - A thread executing in the Java virtual machine.
BLOCKED Threads Thread State - A thread that is blocked waiting for a monitor lock.
TERMINATED Threads Thread State - A thread that has exited.
Memory Usage
Core Name The name of the Solr core on the instance.
Used Memory (MB) The space that is currently occupied.
Free Memory (MB) The total free memory available to the JVM.
Committed Virtual Memory Size (MB) The total size of virtual memory that is currently occupied by the corresponding Solr cores.
Free Physical Memory Size (MB) The total size of physical memory that is free and available for the Solr cores.
Free Swap Space Size (MB) The total size of the swap space that is free and available for swapping when the virtual memory reaches the limit.
ProcessCPUTime (sec) The total CPU time taken by the corresponding Solr cores, for executing the instructions.
Used Memory (%) The percentage of space that is currently occupied.
Free Memory (%) The percentage of free memory available to the JVM.
Memory Utilization
Total Physical Memory Size The total size of physical memory that is available for the Solr for its operations and storage.
Total Swap Space Size The total size of the swap space that is available for swapping when the virtual memory reaches the limit.
Total Heap Memory The total heap memory available for the Solr instance.
Max Heap Memory The maximum heap memory that the Solr instance can use.

Core Statistics

Parameter Description
Query Handler
Core Name The name of the Solr core on the instance.
Search Requests / Min The total search requests handled by the corresponding Solr cores per minute.
Search Errors / Min The total errors that occur during the search requests handled by the corresponding Solr cores per minute.
Search Timeouts / Min The total timeouts that occur during the search requests handled by the corresponding Solr cores per minute.
Average Search Time The average time taken for handling the each search requests handled by the corresponding Solr cores per minute.
Replication Requests / Min The total replication requests handled by the corresponding Solr cores per minute.
Update Requests / Min The total update requests handled by the corresponding Solr cores per minute.
Luke Requests / Min The total Luke requests handled by the corresponding Solr cores per minute.
Cache
Core Name The name of the Solr core on the instance.
Cache Name The name of your application cache.
Lookups / Min Number of Solr query cache lookups per minute.
Hits / Min Number of query hits per minute.
Hit Ratio / Min The percentage of requests that are satisfied by entries already in the cache per minute.
Evictions / Min The number of entries removed from the cache per minute.
Cache Size (Bytes) The size of the field value cache.
Update Handler
Core Name The name of the Solr core on the instance.
Commits / Min The number of commits per minute. (A commit writes all loaded documents to one or more segment files on the disk.)
Rollbacks / Min The number of rollbacks per minute. (The rollback reverts all add and deletes made to the index since the last commit.)
Docs Add / Min The number of documents added per minute.
Docs Deleted by Query / Min The number of documents deleted by Query per minute.
Docs Deleted by ID / Min The number of documents deleted by ID per minute.
Docs Pending The number of documents pending commit.
Errors / Min The number of errors occurred per minute.
Optimizations / Min The number of optimizations done per minute.
Number of Transaction Logs The total number of the transaction logs.
Transaction Logs size (Bytes) The total size of the transaction logs.

Configuration

Parameter Description
OS Name The name of the operating system used in the running machine.
Architecture The architecture of the machine where the instance is running.
Available Processors The total available processors of the machine where the instance is running.
Java Installation Directory The home directory where the java instance used by Apache Solr is installed on the machine.
Java Version The version of the java instance used by Apache Solr installed in the machine.
Java Vendor The vendor of the Java instance used by Apache Solr installed in the machine.
Jetty Home The home directory where the jetty server is installed in the machine.
Controller Port The port where the jetty server is currently running in the machine.
Client Name The current machine name.
User Directory The home directory where the Solr is installed.
Solr Version The version of the Solr installed.
Lucene Version The version of the Lucene installed.
Deployment Mode The current deployment mode of the Solr (Cloud or Standalone).
Cluster Client TimeOut The maximum timeout set for the connection establishment with zookeeper.