Solr
Solr collector, which collects statistics of Solr Cache, Request Times, and so on.
Configuration¶
Preconditions¶
DataKit uses the Solr Metrics API to collect metrics data and supports Solr 7.0 and above. Available for Solr 6.6, but the indicator data is incomplete.
Already tested version:
- 8.11.2
- 7.0.0
Collector Configuration¶
Go to the conf.d/db
directory under the DataKit installation directory, copy solr.conf.sample
and name it solr.conf
. Examples are as follows:
[[inputs.solr]]
##(optional) collect interval, default is 10 seconds
interval = '10s'
## specify a list of one or more Solr servers
servers = ["http://localhost:8983"]
## Optional HTTP Basic Auth Credentials
# username = "username"
# password = "pa$$word"
## Set true to enable election
election = true
# [inputs.solr.log]
# files = []
# #grok pipeline script path
# pipeline = "solr.p"
[inputs.solr.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
After configuration, restart DataKit.
The collector can now be turned on by ConfigMap Injection Collector Configuration.
To collect Solr's log, open files
in Solr.conf and write to the absolute path of the Solr log file. For example:
Metric¶
For all of the following data collections, the global election tags will added automatically, we can add extra tags in [inputs.solr.tags]
if needed:
solr_cache
¶
Tags & Fields | Description |
---|---|
category ( tag ) |
Category name. |
core ( tag ) |
Solr core. |
group ( tag ) |
Metric group. |
host ( tag ) |
System hostname. |
instance ( tag ) |
Instance name, generated based on server address. |
name ( tag ) |
Cache name. |
cumulative_evictions | Number of cache evictions across all caches since this node has been running. Type: int Unit: count |
cumulative_hitratio | Ratio of cache hits to lookups across all the caches since this node has been running. Type: float Unit: percent,percent |
cumulative_hits | Number of cache hits across all the caches since this node has been running. Type: int Unit: count |
cumulative_inserts | Number of cache insertions across all the caches since this node has been running. Type: int Unit: count |
cumulative_lookups | Number of cache lookups across all the caches since this node has been running. Type: int Unit: count |
evictions | Number of cache evictions for the current index searcher. Type: int Unit: count |
hitratio | Ratio of cache hits to lookups for the current index searcher. Type: float Unit: percent,percent |
hits | Number of hits for the current index searcher. Type: int Unit: count |
inserts | Number of inserts into the cache. Type: int Unit: count |
lookups | Number of lookups against the cache. Type: int Unit: count |
max_ram | Maximum heap that should be used by the cache beyond which keys will be evicted. Type: int Unit: digital,MB |
ram_bytes_used | Actual heap usage of the cache at that particular instance. Type: int Unit: digital,B |
size | Number of entries in the cache at that particular instance. Type: int Unit: count |
warmup | Warm-up time for the registered index searcher. This time is taken in account for the "auto-warming" of caches. Type: int Unit: time,ms |
solr_request_times
¶
Tags & Fields | Description |
---|---|
category ( tag ) |
Category name. |
core ( tag ) |
Solr core. |
group ( tag ) |
Metric group. |
handler ( tag ) |
Request handler. |
host ( tag ) |
System hostname. |
instance ( tag ) |
Instance name, generated based on server address. |
count | Total number of requests made since the Solr process was started. Type: int Unit: count |
max | Max of all the request processing time. Type: float Unit: time,ms |
mean | Mean of all the request processing time. Type: float Unit: time,ms |
median | Median of all the request processing time. Type: float Unit: time,ms |
min | Min of all the request processing time. Type: float Unit: time,ms |
p75 | Request processing time for the request which belongs to the 75th Percentile. Type: float Unit: time,ms |
p95 | Request processing time in milliseconds for the request which belongs to the 95th Percentile. Type: float Unit: time,ms |
p99 | Request processing time in milliseconds for the request which belongs to the 99th Percentile. Type: float Unit: time,ms |
p999 | Request processing time in milliseconds for the request which belongs to the 99.9th Percentile. Type: float Unit: time,ms |
rate_15min | Requests per second received over the past 15 minutes. Type: float Unit: throughput,reqps |
rate_1min | Requests per second received over the past 1 minutes. Type: float Unit: throughput,reqps |
rate_5min | Requests per second received over the past 5 minutes. Type: float Unit: throughput,reqps |
rate_mean | Average number of requests per second received Type: float Unit: throughput,reqps |
stddev | Stddev of all the request processing time. Type: float Unit: time,ms |
solr_searcher
¶
Tags & Fields | Description |
---|---|
category ( tag ) |
Category name. |
core ( tag ) |
Solr core. |
group ( tag ) |
Metric group. |
host ( tag ) |
System hostname. |
instance ( tag ) |
Instance name, generated based on server address. |
deleted_docs | The number of deleted documents. Type: int Unit: count |
max_docs | The largest possible document number. Type: int Unit: count |
num_docs | The total number of indexed documents. Type: int Unit: count |
warmup | The time spent warming up. Type: int Unit: time,ms |
Log Collection¶
Example of cutting logs:
Cut fields:
Field Name | Field Value |
---|---|
Reporter | webapp.reporter |
status | INFO |
thread | org.apache.solr.core.SolrCore |
time | 1380630788319000000 |