Apache Solr

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
CUMULATIVEINT64
gce_instance
cache
core
workload.googleapis.com/solr.cache.hit.count
CUMULATIVEINT64
gce_instance
cache
core
workload.googleapis.com/solr.cache.insert.count
CUMULATIVEINT64
gce_instance
cache
core
workload.googleapis.com/solr.cache.lookup.count
CUMULATIVEINT64
gce_instance
cache
core
workload.googleapis.com/solr.cache.size
GAUGEINT64
gce_instance
cache
core
workload.googleapis.com/solr.document.count
GAUGEINT64
gce_instance
core
workload.googleapis.com/solr.index.size
GAUGEINT64
gce_instance
core
workload.googleapis.com/solr.request.count
CUMULATIVEINT64
gce_instance
handler
core
type
workload.googleapis.com/solr.request.error.count
CUMULATIVEINT64
gce_instance
handler
core
type
workload.googleapis.com/solr.request.time.average
GAUGEDOUBLE
gce_instance
handler
core
type
workload.googleapis.com/solr.request.timeout.count
CUMULATIVEINT64
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

¿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.