Skip to main content
Version: NG-2.16

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 IPDestination IPDestination PortProtocolDirection
vuSmartMaps IPApache Solr Server IP8983*TCPOutbound

*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

  • Enable the 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 Save to close the data source window.

Metrics Collected

NameDescriptionData Type
TimestampEvent timestamp with millisecond precisionDateTime64(3)
@TimestampRaw timestamp stringString
NameMetric name or categoryLowCardinality(String)
DataTypeType of data being collectedLowCardinality(String)
CoreSolr core identifierLowCardinality(String)
HandlerHandler associated with requestLowCardinality(String)
HostHostname of the Solr instanceLowCardinality(String)
Num DocsCurrent number of documents (per core basis)UInt64
Max DocsMaximum number of documents (per core basis)UInt64
Deleted DocsNumber of deleted documents (per core – cumulative)UInt64
Size In BytesSize of indexed data (per core basisc)UInt64
RequestsNumber of inbound requests (cumulative)UInt64
TimeoutsNumber of timed out requests (cumulative)UInt64
Handler StartTimestamp when the handler startedUInt64
Total TimeTotal time spent on requests (cumulative)UInt64
ErrorsNumber of error response (non-200)UInt64
Server ErrorsNumber of server side error responses (5xx-6xx)UInt64
Client ErrorsNumber of client side error responses (4xx)UInt64
Avg Requests Per SecondAverage number of requests per second (cumulative)Float64
Avg Time Per RequestAverage time spent on every request (cumulative)Float64
Median Request TimeMedian of time per requestFloat64
AddsNumber of documents addedUInt64
Autocommit Max DocsAutocommitted maximum document count (cumulative)UInt64
Autocommit Max TimeMax Time taken for autocommit of documents (cumulative)UInt64
AutocommitsNumber of auto commits (instantaneous)UInt64
CommitsNumber of commits (instantaneous)UInt64
Cumulative AddsCumulative number of addsUInt64
Cumulative Deletes By IdCumulative number of documents deleted using idUInt64
Cumulative Deletes By QueryCumulative number of documents deleted using queryUInt64
Cumulative ErrorsCumulative error countUInt64
Deletes By IdNumber of delete operations by idUInt64
Deletes By QueryNumber of delete operations by queryUInt64
Docs PendingNumber of documents pending for commitUInt64
Expunge DeletesNumber of expunge deletesUInt64
OptimizesNumber of optimize operationsUInt64
RollbacksNumber of rollback operationsUInt64
Soft AutocommitsNumber of soft commitsUInt64
HitsNumber of cache hitsUInt64
HitratioCache hit ratioFloat64
Cumulative HitsCumulative cache hits since the cache creationUInt64
Cumulative HitratioCumulative cache hit ratioFloat64
InsertsNumber of insert operations on the cacheUInt64
EvictionsNumber of evict operations on the cacheUInt64
LookupsNumber of cache lookup operationsUInt64
Cumulative InsertsCumulative number of insert operations on the cacheUInt64
Cumulative EvictionsCumulative number of eviction operations on the cacheUInt64
Cumulative LookupsCumulative lookups on the cacheUInt64
SizeSize of the cacheUInt64
Warmup TimeCache warm up timeUInt64
ClusterCluster name the Solr instance belongs toLowCardinality(String)
UrlURL of the Solr endpointLowCardinality(String)
TargetTarget identifier for the Solr instanceLowCardinality(String)
PortPort number of the Solr instanceLowCardinality(String)
JVM SubsystemJVM Subsystem for which metrics is being reportedLowCardinality(String)
JVM Metric KeyName of the JVM metricString
JVM Metric Value UintJVM Metric value – unsigned integerNullable(UInt64)
JVM Metric Value FloatJVM Metric value – floatNullable(Float64)
JVM Metric Value StringJVM Metric value – stringNullable(String)
JVM Metric Value IntegerJVM Metric value – signed integerNullable(Int64)
Commit LatencyCommit operation latency in millisecondsUInt64