O que monitorar

Edge para nuvem privada v4.18.01

Geralmente, em uma configuração de produção, é necessário ativar mecanismos de monitoramento em um Apigee Edge para implantação de nuvem privada. Essas técnicas de monitoramento avisam os administradores (ou operadores) de rede sobre um erro ou uma falha. Cada erro gerado é relatado como um alerta no Apigee Edge. Para mais informações sobre alertas, consulte Práticas recomendadas de monitoramento.

Para facilitar, os componentes da Apigee são classificados principalmente em duas categorias:

  • Serviços de servidor Java específicos da Apigee: incluem o servidor de gerenciamento, o processador de mensagens, o Qpid Server e o Postgres Server.
  • Serviços de terceiros: incluem o roteador Nginx, o Apache Cassandra, o Apache ZooKeeper, o OpenLDAP, o banco de dados PostgreSQL e o Qpid.

Em uma implantação local do Apigee Edge, a tabela a seguir fornece uma visão rápida dos parâmetros que é possível monitorar:

Componente

Verificações do sistema

Estatísticas do processo

Verificações no nível da API

Verificações do fluxo de mensagens

Específico do componente

Serviços Java específicos da Apigee

Servidor de gerenciamento

?

?

?

processador de mensagens

?

?

?

?

Servidor Qpid

?

?

?

Servidor Postgres

?

?

?

Serviços de terceiros

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

Banco de dados PostgreSQL

?

?

Qpid

?

?

Roteador Nginx

?

?

?

Em geral, após a instalação do Apigee Edge, é possível executar as tarefas de monitoramento a seguir para rastrear o desempenho de uma instalação do Apigee Edge para nuvem privada.

Verificações de integridade do sistema

É muito importante medir os parâmetros de integridade do sistema, como uso de CPU, utilização de memória e conectividade de porta em um nível superior. Monitore os parâmetros a seguir para conhecer os princípios básicos da integridade do sistema.

  • Utilização da CPU: especifica as estatísticas básicas (Usuário/Sistema/Espera de E/S/Inatividade) sobre a utilização da CPU. Por exemplo, o total de CPU usado pelo sistema.
  • Memória livre/usada: especifica a utilização da memória do sistema como bytes. Por exemplo, a memória física usada pelo sistema.
  • Disco Space Usage: especifica as informações do sistema de arquivos com base no uso atual do disco. Por exemplo, o espaço do disco rígido usado pelo sistema.
  • Média de carga: especifica o número de processos que aguardam execução.
  • Estatísticas de rede: bytes e/ou pacotes de rede transmitidos e recebidos, bem como os erros de transmissão sobre um componente especificado.

Processos/verificações de aplicativos

No nível do processo, é possível visualizar informações importantes sobre todos os processos em execução. Por exemplo, isso inclui estatísticas de uso de memória e CPU que um processo ou aplicativo utiliza. Para processos como qpidd, postgres postmaster, java etc, é possível monitorar o seguinte:

  • Identificação de processos: identifique um processo específico da Apigee. Por exemplo, é possível monitorar a existência de um processo Java do servidor da Apigee.
  • Estatísticas de linha de execução: visualize os padrões de linha de execução subjacentes que um processo usa. Por exemplo, você pode monitorar o pico de contagem de linhas de execução ou de todos os processos.
  • Utilização da memória: veja o uso da memória de todos os processos da Apigee. Por exemplo, você pode monitorar os parâmetros como o uso de memória heap e o uso de memória não heap usado por um processo.

Verificações no nível da API

No nível da API, é possível monitorar se o servidor está funcionando para chamadas de API usadas com frequência e encaminhadas por proxy pela Apigee. Por exemplo, é possível executar a verificação de API no servidor de gerenciamento, no roteador e no processador de mensagens invocando o seguinte comando cURL:

curl http://<host>:<port>/v1/servers/self/up

em que <host> é o endereço IP do componente do Apigee Edge. O número da <port> é específico para cada componente da borda. Exemplo:

Servidor de gerenciamento: 8080

  • Roteador: 8081
  • Processador de mensagens: 8082
  • etc.

Consulte as seções individuais abaixo para informações sobre como executar esse comando para cada componente

Essa chamada retorna os valores "verdadeiro" e "falso". Para melhores resultados, também é possível emitir chamadas de API diretamente no back-end (com que o software Apigee interage) para determinar rapidamente se há um erro no ambiente de software da Apigee ou no back-end.

Observação: para monitorar seus proxies de API, também é possível usar a API Health da Apigee. A API Health faz chamadas programadas para seus proxies de API e envia notificações quando elas falham e como. Quando as chamadas são bem-sucedidas, a integridade da API mostra os tempos de resposta e pode até mesmo notificar você quando a latência da resposta está alta. A API Health pode fazer chamadas de diferentes locais ao redor do mundo para comparar o comportamento da API entre regiões.

Verificações do fluxo de mensagens

É possível coletar dados de roteadores e processadores de mensagens sobre padrão/estatísticas do fluxo de mensagens. Isso permite que você monitore o seguinte:

  • Número de clientes ativos
  • Número de respostas (10X, 20X, 30X, 40X e 50X)
  • Falhas na conexão

Isso ajuda você a fornecer painéis para o fluxo de mensagens da API. Para mais informações, consulte:

Verificação de integridade do roteador do processador de mensagens

O roteador implementa um mecanismo de verificação de integridade para determinar quais processadores de mensagens estão funcionando conforme o esperado. Se um processador de mensagens for detectado como inativo ou lento, o roteador poderá removê-lo automaticamente da rotação. Se isso acontecer, o roteador gravará uma mensagem de "Marcação" no arquivo de registros do roteador em /opt/apigee/var/log/edge-router/logs/system.log.

Você pode monitorar essas mensagens no arquivo de registro do roteador. Por exemplo, se o roteador remover um processador de mensagens, ele gravará a mensagem no registro da seguinte forma:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

em que /<MP_IP>:<PORT> é o endereço IP e o número da porta do processador de mensagens.

Se mais tarde o roteador executar uma verificação de integridade e determinar que o processador de mensagens está funcionando corretamente, ele o colocará de volta na rotação. O roteador também escreve uma mensagem de "Marcação" no registro no formato:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up