La integración de Apache Solr recopila métricas principales y de caché. Las métricas principales se enfocan en las solicitudes, el recuento de documentos y el tamaño del índice. Las métricas de caché se enfocan en el uso de la caché. La integración también recopila registros de Solr y los analiza en una carga útil de JSON. El resultado incluye campos para fragmento, réplica, núcleo, nivel y mensaje.
Para obtener más información sobre Solr, consulta la documentación de Apache Solr.
Requisitos previos
Para recopilar la telemetría de Solr, debes instalar el agente de operaciones:
- Para las métricas, instala la versión 2.10.0 o una posterior.
- Para los registros, instala la versión 2.10.0 o una posterior.
Esta integración es compatible con las versiones 8.x y 7.7 de Solr.
Configura tu instancia de Solr
Para exponer un extremo de JMX, debes configurar la propiedad del sistema com.sun.management.jmxremote.port
cuando inicies la JVM. También te recomendamos configurar la propiedad del sistema com.sun.management.jmxremote.rmi.port
en el mismo puerto. Para exponer un extremo JMX de forma remota, también debes configurar la propiedad del sistema java.rmi.server.hostname
.
De forma predeterminada, estas propiedades se establecen en el archivo solr-env.sh
de una implementación de Solr.
Para configurar las propiedades del sistema mediante argumentos de la línea de comandos, agrega el nombre de la propiedad con -D
cuando inicies la JVM. Por ejemplo, para configurar com.sun.management.jmxremote.port
en el puerto 18983
, especifica lo siguiente cuando inicies la JVM:
-Dcom.sun.management.jmxremote.port=18983
Configura el agente de operaciones para Solr
Mediante la guía Configura el Agente de operaciones, agrega los elementos necesarios para recopilar telemetría de las instancias de Solr y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recopilar y transferir la telemetría de Solr, y reinician el agente de operaciones.
Configura la recopilación de registros
A fin de transferir registros desde Solr, debes crear receptores para los registros que Solr produce y, luego, crear una canalización para los receptores nuevos.
A fin de configurar un receptor para tus registros solr_system
, especifica los siguientes campos:
Campo | Predeterminada | Descripción |
---|---|---|
exclude_paths |
Una lista de patrones de ruta de acceso del sistema de archivos que se excluirán del conjunto que coincide con include_paths . |
|
include_paths |
[/var/solr/logs/solr.log] |
Una lista de rutas de acceso del sistema de archivos que se leerán mediante la visualización del final de cada archivo. Se puede usar un comodín (* ) en las rutas. |
record_log_file_path |
false |
Si se configura como true , la ruta al archivo específico desde el que se obtuvo el registro aparece en la entrada de registro de salida como el valor de la etiqueta agent.googleapis.com/log_file_path . Cuando se usa un comodín, solo se registra la ruta de acceso del archivo del que se obtuvo el registro. |
type |
El valor debe ser solr_system . |
|
wildcard_refresh_interval |
60s |
El intervalo en el que se actualizan las rutas de acceso de archivos comodín en include_paths. Se proporciona como una duración de tiempo que se puede analizar mediante time.ParseDuration, por ejemplo, 30s o 2m . Esta propiedad puede ser útil en el caso de una capacidad de procesamiento de registro alta en la que los archivos de registro se rotan más rápido que el intervalo predeterminado. |
¿Qué se registra?
logName
se deriva de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry
son los siguientes.
Los registros solr_system
contienen los siguientes campos en LogEntry
:
Campo | Tipo | Descripción |
---|---|---|
jsonPayload.collection |
string | Colección de Solr relacionada con el registro |
jsonPayload.core |
string | Núcleo Solr relacionado con el registro |
jsonPayload.exception |
string | Excepción relacionada con el registro, incluido el seguimiento de pila detallado cuando se proporciona |
jsonPayload.level |
string | Nivel de entrada de registro |
jsonPayload.message |
string | Mensaje del registro |
jsonPayload.replica |
string | Réplica de Solr relacionada con el registro |
jsonPayload.shard |
string | Fragmento de Solr relacionado con el registro |
jsonPayload.source |
string | Fuente en la que se originó el registro |
jsonPayload.thread |
string | Subproceso donde se originó el registro |
severity |
string (LogSeverity ) |
Nivel de entrada de registro (traducido). |
Configura la recopilación de métricas
A fin de transferir métricas desde Solr, debes crear receptores para las métricas que produce Solr y, luego, una canalización para los receptores nuevos.
A fin de configurar un receptor para las métricas de solr
, especifica los siguientes campos:
Campo | Predeterminada | Descripción |
---|---|---|
collection_interval |
60s |
Un valor de duración de tiempo, como 30s o 5m . |
endpoint |
localhost:18983 |
La URL de servicio de JMX, o el host y el puerto que se usan para construir la URL de servicio. Debe tener el formato host:port . Los valores en formato host:port se usarán para crear una URL de servicio de service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi . |
password |
La contraseña configurada si JMX está configurado para requerir autenticación. | |
type |
Este valor debe ser solr . |
|
username |
El nombre de usuario configurado si JMX está configurado para requerir autenticación. |
Qué se supervisa
En la siguiente tabla, se proporciona una lista de métricas que el agente de operaciones recopila de la instancia de Solr.
Tipo de métrica | |
---|---|
Categoría, tipo Recursos supervisados |
Etiquetas |
workload.googleapis.com/solr.cache.eviction.count
|
|
CUMULATIVE , INT64 gce_instance |
cache core
|
workload.googleapis.com/solr.cache.hit.count
|
|
CUMULATIVE , INT64 gce_instance |
cache core
|
workload.googleapis.com/solr.cache.insert.count
|
|
CUMULATIVE , INT64 gce_instance |
cache core
|
workload.googleapis.com/solr.cache.lookup.count
|
|
CUMULATIVE , INT64 gce_instance |
cache core
|
workload.googleapis.com/solr.cache.size
|
|
GAUGE , INT64 gce_instance |
cache core
|
workload.googleapis.com/solr.document.count
|
|
GAUGE , INT64 gce_instance |
core
|
workload.googleapis.com/solr.index.size
|
|
GAUGE , INT64 gce_instance |
core
|
workload.googleapis.com/solr.request.count
|
|
CUMULATIVE , INT64 gce_instance |
core handler type
|
workload.googleapis.com/solr.request.error.count
|
|
CUMULATIVE , INT64 gce_instance |
core handler type
|
workload.googleapis.com/solr.request.time.average
|
|
GAUGE , DOUBLE gce_instance |
core handler type
|
workload.googleapis.com/solr.request.timeout.count
|
|
CUMULATIVE , INT64 gce_instance |
core handler type
|
Panel de muestra
Para ver tus métricas de Solr, debes tener configurado un gráfico o un panel. Cloud Monitoring proporciona una biblioteca de paneles de muestra para integraciones, que contienen gráficos preconfigurados. Para obtener información sobre la instalación de estos paneles, consulta Instala paneles de muestra.
Verifica la configuración
En esta sección, se describe cómo verificar que hayas configurado correctamente el receptor de Solr. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.
Para verificar que se transfieran los registros, ve a Explorador de registros y ejecuta la siguiente consulta a fin de ver los registros de Solr:
resource.type="gce_instance"
log_id("solr_system")
Para verificar que las métricas se transfieran, ve a Explorador de métricas y ejecuta la siguiente consulta en la pestaña MQL:
fetch gce_instance
| metric 'workload.googleapis.com/solr.cache.size'
| every 1m
¿Qué sigue?
Para obtener una explicación sobre cómo usar Ansible a fin de instalar el agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el agente de operaciones para solucionar problemas de apps de terceros.
ß