Apache Solr

A integração com o Apache Solr coleta métricas básicas e de cache. As métricas principais se concentram em solicitações, contagem de documentos e tamanho do índice. As métricas de cache se concentram na utilização do cache. A integração também coleta registros do Solr e os analisa em um payload JSON. O resultado inclui campos para fragmento, réplica, núcleo, nível e mensagem.

Para mais informações sobre o Solr, consulte solr.apache.org/.

Pré-requisitos

Para coletar e ingerir registros e métricas do Solr, é necessário instalar o agente de operações versão 2.10.0 ou mais recente.

Este receptor suporta as versões 7.7 e 8.x do Apache Solr.

Configurar a instância do Solr

Para expor um endpoint JMX, você precisa definir a propriedade do sistema com.sun.management.jmxremote.port ao iniciar a JVM. Também recomendamos configurar a propriedade do sistema com.sun.management.jmxremote.rmi.port para a mesma porta. Para expor um endpoint JMX remotamente, você também precisa definir a propriedade do sistema java.rmi.server.hostname.

Por padrão, essas propriedades são definidas em um arquivo solr-env.sh da implantação do Solr.

Para definir as propriedades do sistema usando argumentos de linha de comando, adicione -D ao nome da propriedade ao iniciar a JVM. Por exemplo, para definir com.sun.management.jmxremote.port na porta 18983, especifique o seguinte ao iniciar a JVM:

-Dcom.sun.management.jmxremote.port=18983

Configurar o agente de operações para o Solr

Seguindo o guia para configurar o agente de operações, adicione os elementos necessários para coletar registros e métricas das instâncias do Solr e reiniciar o agente.

Exemplo de configuração

O comando a seguir cria o arquivo de configuração para coletar e ingerir registros e métricas do Solr e reiniciar o agente de operações no 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

Configurar a coleta de registros

Para ingerir registros do Solr, é preciso criar receptores para os registros que o Solr produz e criar um pipeline para os novos receptores. Para configurar um receptor para os registros solr_system, especifique os seguintes campos:

Campo Padrão Descrição
type O valor precisa ser solr_system.
include_paths [/var/solr/logs/solr.log] Os arquivos de registro a serem lidos.
exclude_paths Os arquivos de registro a serem excluídos, se include_paths contiver um glob ou diretório.
wildcard_refresh_interval 60s O intervalo em que os caminhos de arquivos curinga no include_paths são atualizados. Dado como uma duração de tempo, por exemplo, 30s ou 2m. Essa propriedade pode ser útil com capacidades de registro altas em que os arquivos de registro são alternados mais rapidamente do que o intervalo padrão.

O que é registrado

Os registros logName de solr_system são derivados dos IDs do receptor especificados na configuração. Os campos detalhados dentro de LogEntry são os seguintes.

Campo Tipo Descrição
timestamp string (Timestamp) Hora em que a solicitação foi recebida.
jsonPayload.collection string Coleção do Solr relacionada ao registro.
jsonPayload.shard string Fragmento do Solr relacionado ao registro.
jsonPayload.replica string Réplica do Solr relacionada ao registro.
jsonPayload.core string Núcleo do Solr relacionado ao registro.
jsonPayload.source string Origem do registro.
jsonPayload.thread string Linha de execução de origem do registro.
jsonPayload.message string Mensagem de registro.
jsonPayload.exception string Exceção relacionada ao registro, incluindo rastreamento de pilha detalhado, quando fornecido.
severity string (LogSeverity) Nível de entrada de registro (traduzido).

Configurar a coleta de métricas

Para coletar métricas do Solr, é preciso criar um receptor para as métricas do Solr e, em seguida, criar um pipeline para o novo receptor. Para configurar um receptor para suas métricas do Solr, especifique os campos a seguir:

Campo Padrão Descrição
type O valor precisa ser solr.
endpoint localhost:18983 O URL do serviço JMX ou o host e a porta usados para criar o URL do serviço. Precisa estar no formato de host:port. Os valores no formulário host:port serão usados para criar um URL de serviço de service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi.
username O nome de usuário configurado se o JMX estiver configurado para exigir autenticação.
password Senha configurada se o JMX estiver configurado para exigir autenticação.
collection_interval 60s Um valor de time.Duration, como 30s ou 5m.

O que é monitorado?

A tabela a seguir fornece a lista de métricas que o agente de operações coleta da instância do Solr.

Tipo de métrica 
Tipo, tipo
Recursos monitorados
Rótulos
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

Verificar a configuração

Use o Explorador de registros e o Metrics Explorer para verificar se você configurou corretamente o receptor do Solr. Pode levar um ou dois minutos para o agente de operações começar a coletar registros e métricas.

Para verificar se os registros são ingeridos, acesse o Explorador de registros e execute a seguinte consulta para ver os registros do Solr:

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/solr_system")


Para verificar se as métricas são ingeridas, acesse o Metrics Explorer e execute a seguinte consulta na guia do MQL.

fetch gce_instance
| metric 'workload.googleapis.com/solr.request.count'
| align rate(1m)
| every 1m

A seguir

Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.