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 solr.apache.org/.
Requisitos previos
Para recopilar y transferir registros y métricas de Solr, debes instalar el agente de operaciones versión 2.10.0 o posterior.
Este receptor es compatible con las versiones 7.7 y 8.x de Apache 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 registros y métricas de tus instancias de Solr y reinicia el agente.
Configuración de ejemplo
El siguiente comando crea el archivo de configuración a fin de recopilar y transferir registros y métricas para Solr, y reinicia el agente de operaciones en Linux.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
receivers:
solr_system:
type: solr_system
service:
pipelines:
solr:
receivers:
- solr_system
metrics:
receivers:
solr:
type: solr
service:
pipelines:
solr:
receivers:
- solr
EOF
sudo service google-cloud-ops-agent restart
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 |
---|---|---|
type |
El valor debe ser solr_system . |
|
include_paths |
[/var/solr/logs/solr.log ] |
Los archivos de registro que se leerán. |
exclude_paths |
Los archivos de registro que se excluirán si include_paths contiene un glob o un directorio. |
|
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, 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?
Los logName
de los registros solr_system
derivan de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry
son los siguientes.
Campo | Tipo | Descripción |
---|---|---|
timestamp |
string (Timestamp ) |
Hora en que se recibió la solicitud. |
jsonPayload.collection |
string | Colección de Solr relacionada con el registro. |
jsonPayload.shard |
string | Fragmento de Solr relacionado con el registro. |
jsonPayload.replica |
string | Réplica de Solr relacionada con el registro. |
jsonPayload.core |
string | Núcleo Solr relacionado con el registro. |
jsonPayload.source |
string | Fuente desde la que se originó el registro. |
jsonPayload.thread |
string | Subproceso desde el que se originó el registro. |
jsonPayload.message |
string | Mensaje del registro. |
jsonPayload.exception |
string | Excepción relacionada con el registro, incluido el seguimiento de pila detallado cuando se proporciona. |
severity |
string (LogSeverity ) |
Nivel de entrada de registro (traducido). |
Configura la recopilación de métricas
A fin de recopilar métricas de Solr, debes crear un receptor para las métricas de Solr y, luego, crear una canalización destinada al receptor nuevo. A fin de configurar un receptor para las métricas de Solr, especifica los siguientes campos:
Campo | Predeterminada | Descripción |
---|---|---|
type |
El valor debe ser solr . |
|
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 . |
username |
El nombre de usuario configurado si JMX está configurado para requerir autenticación. | |
password |
La contraseña configurada si JMX está configurado para requerir autenticación. | |
collection_interval |
60s |
Un valor time.Duration, como 30s o 5m . |
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 |
handler
core
type
|
workload.googleapis.com/solr.request.error.count
|
|
CUMULATIVE , INT64 gce_instance |
handler
core
type
|
workload.googleapis.com/solr.request.time.average
|
|
GAUGE , DOUBLE gce_instance |
handler
core
type
|
workload.googleapis.com/solr.request.timeout.count
|
|
CUMULATIVE , INT64 gce_instance |
handler
core
type
|
Verifica la configuración
Puedes usar el Explorador de registros y el Explorador de métricas para verificar que configuraste de forma correcta el receptor de Solr. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar los registros y las métricas.
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"
logName=("projects/PROJECT_ID/logs/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.request.count'
| align rate(1m)
| every 1m