The OpenTelemetry Collector, when configured with a JMX receiver, provides an integration with Solr. The Collector fetches Solr metrics from JMX. From there the metrics are processed and exported to Cloud Observability.
To complete the integration, you will:
opentelemetry-jmx-metrics.jar
file.The Solr JMX receiver periodically fetches metrics using a built-in OpenTelemetry helper utilizing a Groovy script. The script is configured to poll both the JMX Agent and the OpenTelemetry JMX Metric Gatherer operation.
For more details regarding configuring the Solr remote connection, see the official Solr documentation.
In the Collector configuration file, add JMX as a receiver and set the following:
jar_path
: The path to the opentelemetry-jmx-metrics.jar
file.endpoint
: The hostname/IP address and port or unix socket file path of the Solr instancetarget_system
: The metrics to collect. Valid values for this integration are jvm
and solr
1
2
3
4
5
6
receivers:
jmx:
jar_path: /opt/opentelemetry-jmx-metrics.jar
endpoint: "localhost:9999"
target_system: jvm,solr
The OpenTelemetry repo’s readme provides additional details about JMX configuration.
Once the Solr receiver is configured, enable it by adding it to one or more pipelines as described in the Collector configuration documentation.
You can validate that metrics are reporting to Cloud Observability on the Metrics details page in Settings.
In Cloud Observability, click Settings > Metric details.
Search for Solr metric names.
See the OpenTelemetry repo for a complete list of emitted metrics.
If needed, click on the metric to edit the description and how the units are displayed in Cloud Observability.
Use the Cloud Observability Terraform Provider to create a dashboard for the metrics.
For a more complete example that’s ready to run, see the Solr integration in Cloud Observability OpenTelemetry Examples.
Updated Dec 1, 2022