Apache Solr
Introduction
Apache Solr is an open-source, enterprise-grade search platform built on Apache Lucene. It provides distributed indexing, replication, load-balanced querying, and automated failover and recovery for high scalability and reliability. Solr supports advanced full-text search, faceted navigation, real-time indexing, and rich document handling including JSON, XML, and CSV
Getting Started
Compatibility
The Apache Solr O11ySource supports Apache Solr servers running 9.x and higher versions in either standalone or cloud mode that are within standard lifecycle support.
Data Collection Method
Telemetry data for Apache Solr includes metrics related to: Core document indexing and size Query handler and update handler performance Cache usage efficiency JVM runtime (optional) Metrics are collected using a data collector deployed within vuSmartMaps platform, which uses Solr’s administrative APIs to retrieve performance and usage data (MBeans, Cores, Metrics, and optional Info APIs).
Prerequisites
Dependent Configuration
To configure this O11ySource, create a 'credential' of type 'user' under the 'Definition' tab.
Inputs for Configuring Data Source
- IP or FQDN of Apache Solr Server: IP/Server name of the Apache Solr server to be monitored
- Access Protocol: Whether to use http or https to access the endpoint
- Port: Port
- Authentication Type: Select authentication type
- Credential: Credential object to derive the username and password to be used
- Server Mode: What mode is the server deployed in
- Interval (in seconds): Data collection interval in seconds.
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
| Source IP | Destination IP | Destination Port | Protocol | Direction | 
|---|---|---|---|---|
| vuSmartMaps IP | Apache Solr Server IP | 8983* | TCP | Outbound | 
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
Solr server must have the Admin APIs accessible (/solr/admin/... endpoints). Ensure the user (if authentication enabled) has access to: Core status API MBeans API for query/update handlers and cache Metrics and Info endpoints if enabled Required Permissions For basic authentication, create a Solr user with at least read access to core and metrics APIs. If Solr security is not enabled, only network access is required.
Configuration Steps
- Enablethe O11ySource.
- Select the sources tab and press the +button to add a new instance that has to be monitored.
- Provide the required configurations:
- *Server IP/FQDN
- *Access Protoocol (http/https)
- *Port (Default 8983)
- *Authentication Type (No Auth/Basic Auth)
- *Credential (only if Authentication Type is 'Basic Auth')
- *Server Mode (Standalone/Solr Cloud)
- *Interval (in seconds)
- Click Saveto close the data source window.
Metrics Collected
| Name | Description | Data Type | 
|---|---|---|
| Timestamp | Event timestamp with millisecond precision | DateTime64(3) | 
| @Timestamp | Raw timestamp string | String | 
| Name | Metric name or category | LowCardinality(String) | 
| DataType | Type of data being collected | LowCardinality(String) | 
| Core | Solr core identifier | LowCardinality(String) | 
| Handler | Handler associated with request | LowCardinality(String) | 
| Host | Hostname of the Solr instance | LowCardinality(String) | 
| Num Docs | Current number of documents (per core basis) | UInt64 | 
| Max Docs | Maximum number of documents (per core basis) | UInt64 | 
| Deleted Docs | Number of deleted documents (per core – cumulative) | UInt64 | 
| Size In Bytes | Size of indexed data (per core basisc) | UInt64 | 
| Requests | Number of inbound requests (cumulative) | UInt64 | 
| Timeouts | Number of timed out requests (cumulative) | UInt64 | 
| Handler Start | Timestamp when the handler started | UInt64 | 
| Total Time | Total time spent on requests (cumulative) | UInt64 | 
| Errors | Number of error response (non-200) | UInt64 | 
| Server Errors | Number of server side error responses (5xx-6xx) | UInt64 | 
| Client Errors | Number of client side error responses (4xx) | UInt64 | 
| Avg Requests Per Second | Average number of requests per second (cumulative) | Float64 | 
| Avg Time Per Request | Average time spent on every request (cumulative) | Float64 | 
| Median Request Time | Median of time per request | Float64 | 
| Adds | Number of documents added | UInt64 | 
| Autocommit Max Docs | Autocommitted maximum document count (cumulative) | UInt64 | 
| Autocommit Max Time | Max Time taken for autocommit of documents (cumulative) | UInt64 | 
| Autocommits | Number of auto commits (instantaneous) | UInt64 | 
| Commits | Number of commits (instantaneous) | UInt64 | 
| Cumulative Adds | Cumulative number of adds | UInt64 | 
| Cumulative Deletes By Id | Cumulative number of documents deleted using id | UInt64 | 
| Cumulative Deletes By Query | Cumulative number of documents deleted using query | UInt64 | 
| Cumulative Errors | Cumulative error count | UInt64 | 
| Deletes By Id | Number of delete operations by id | UInt64 | 
| Deletes By Query | Number of delete operations by query | UInt64 | 
| Docs Pending | Number of documents pending for commit | UInt64 | 
| Expunge Deletes | Number of expunge deletes | UInt64 | 
| Optimizes | Number of optimize operations | UInt64 | 
| Rollbacks | Number of rollback operations | UInt64 | 
| Soft Autocommits | Number of soft commits | UInt64 | 
| Hits | Number of cache hits | UInt64 | 
| Hitratio | Cache hit ratio | Float64 | 
| Cumulative Hits | Cumulative cache hits since the cache creation | UInt64 | 
| Cumulative Hitratio | Cumulative cache hit ratio | Float64 | 
| Inserts | Number of insert operations on the cache | UInt64 | 
| Evictions | Number of evict operations on the cache | UInt64 | 
| Lookups | Number of cache lookup operations | UInt64 | 
| Cumulative Inserts | Cumulative number of insert operations on the cache | UInt64 | 
| Cumulative Evictions | Cumulative number of eviction operations on the cache | UInt64 | 
| Cumulative Lookups | Cumulative lookups on the cache | UInt64 | 
| Size | Size of the cache | UInt64 | 
| Warmup Time | Cache warm up time | UInt64 | 
| Cluster | Cluster name the Solr instance belongs to | LowCardinality(String) | 
| Url | URL of the Solr endpoint | LowCardinality(String) | 
| Target | Target identifier for the Solr instance | LowCardinality(String) | 
| Port | Port number of the Solr instance | LowCardinality(String) | 
| JVM Subsystem | JVM Subsystem for which metrics is being reported | LowCardinality(String) | 
| JVM Metric Key | Name of the JVM metric | String | 
| JVM Metric Value Uint | JVM Metric value – unsigned integer | Nullable(UInt64) | 
| JVM Metric Value Float | JVM Metric value – float | Nullable(Float64) | 
| JVM Metric Value String | JVM Metric value – string | Nullable(String) | 
| JVM Metric Value Integer | JVM Metric value – signed integer | Nullable(Int64) | 
| Commit Latency | Commit operation latency in milliseconds | UInt64 | 
