O que monitorar

Edge for Private Cloud v. 4.16.09

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 a rede administradores (ou operadores) devido a um erro ou uma falha. Todos os erros gerados são informados como um alerta no Apigee Edge. Para mais informações sobre alertas, consulte Práticas recomendadas de monitoramento.

Para facilitar, os componentes do 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 servidor Qpid e o servidor Postgres.
  • Serviços de terceiros: incluem o roteador Nginx, o Apache Cassandra, Apache ZooKeeper, OpenLDAP, banco de dados PostgreSQL e Qpid.

Em uma implantação local do Apigee Edge, a tabela a seguir mostra rapidamente os parâmetros que podem ser monitorados:

Componente

Verificações do sistema

Estatísticas no nível do processo

Verificações no nível da API

Verificações de 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 o seguinte monitoramento tarefas para rastrear o desempenho do Apigee Edge para instalação de nuvem privada.

Verificações de integridade do sistema

É muito importante medir os parâmetros de integridade do sistema, como a utilização da CPU, da memória e a conectividade da porta em um nível mais alto. Você pode monitorar os seguintes parâmetros para informações básicas sobre a integridade do sistema.

  • CPU Utilization: especifica as estatísticas básicas (Usuário/Sistema/E/S) espera/inativa) sobre a utilização da CPU. Por exemplo, a CPU total usada pelo sistema.
  • Memória livre/usada: especifica a utilização da memória do sistema em bytes. Por exemplo, memória física usada pelo sistema.
  • Uso de espaço em disco: especifica as informações do sistema de arquivos com base no uso atual do disco. Por exemplo, o espaço no disco rígido usado pelo sistema.
  • Load average: especifica o número de processos que aguardam para execução.
  • Estatísticas de rede - pacotes de rede e/ou bytes transmitidos e recebidos, juntamente com os erros de transmissão sobre um componente especificado.

Verificações de processos/aplicativos

No nível do processo, é possível exibir informações importantes sobre todos os processos que estão 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 e assim por diante, é possível monitorar o seguintes:

  • Identificação de processo: identifique um processo específico da Apigee. Por exemplo, você pode monitorar a existência de um processo Java do servidor da Apigee.
  • Estatísticas de linhas de execução: visualizar os padrões de linha de execução subjacentes que um processo usa. Por exemplo, é possível monitorar a contagem máxima de linhas e a contagem de linhas de todos os processos.
  • Utilização de memória: confira o uso de memória de todos os processos da Apigee. Por exemplo, você pode monitorar os parâmetros como o uso de memória heap, 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á ativo para chamadas de API usadas com frequência que são proxied pelo Apigee. Por exemplo, você pode fazer a verificação de API no servidor de gerenciamento, no roteador e o processador de mensagens invocando o seguinte comando cURL:

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

Em que &lt;host&gt; é o IP endereço IP do componente Apigee Edge. A tag <port> é específico para cada componente de borda. Exemplo:

Servidor de gerenciamento: 8080

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

Consulte as seções individuais abaixo para saber como executar esse comando em cada componente.

Essa chamada retorna o valor "true" e "false". Para melhores resultados, você também pode emitir chamadas de API diretamente no back-end (com o qual o software Apigee interage) para determinar rapidamente se há um erro no ambiente do software Apigee ou no back-end.

Observação: para monitorar seus proxies de API, também é possível usar a integridade da API da Apigee. A integridade da API faz chamadas programadas para os proxies da API e notifica você quando elas falham e como. Quando as chamadas têm sucesso, A integridade da API mostra os tempos de resposta e pode até mesmo notificá-lo quando a latência de resposta é 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 de fluxo de mensagens

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

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

Isso ajuda a fornecer painéis para o fluxo de mensagens da API.

Verificação de integridade do roteador da mensagem Processador

O roteador implementa um mecanismo de verificação de integridade para determinar quais dos processadores de mensagens estejam funcionando como esperado. Se um processador de mensagens for detectado como inativo ou lento, o roteador poderá automaticamente retirar o processador de mensagens da rotação. Se isso acontecer, o roteador vai gravar uma mensagem "Mark Down" no arquivo de registro do roteador em /<inst root>/apigee4/var/log/apigee/router/logs/system.log.

Você pode monitorar essas mensagens no arquivo de registro do roteador. Por exemplo, se o Roteador recebe O processador de mensagens está fora de rotação, ele grava a mensagem no registro no formato:

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 /&lt;MP_IP&gt;:&lt;PORT&gt; é o endereço IP e o número da porta do processador de mensagens.

Se, mais tarde, o roteador fizer uma verificação de integridade e determinar que o processador de mensagens está funcionando corretamente, o roteador vai colocar o processador de mensagens de volta na rotação automaticamente. O O roteador também grava uma marcação para o registro no formulário:

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

Para configurar o roteador para fazer a verificação de integridade, defina a seguinte propriedade como true em /<inst root&gt;/apigee4/conf/apigee/router/router.properties:

Client.pool.heartBeat.use.http=true

Em seguida, reinicie o roteador:

> /<inst-root>/apigee4/bin/apigee-service router restart