O que monitorar

Edge for Private Cloud v. 4.16.05

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. Cada erro gerado é informado 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 gerenciamento Server, Processor de mensagens, Servidor Qpid e 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 fornece uma visão rápida dos 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, depois que o Apigee Edge for instalado, será 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 utilização de CPU, e conectividade de portas 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 do espaço em disco – especifica as informações do sistema de arquivos com base na o uso atual do disco. Por exemplo, o espaço no disco rígido usado pelo sistema.
  • Média de carga: especifica o número de processos que aguardam correr.
  • Estatísticas de rede - pacotes de rede e/ou bytes transmitidos e recebidos, juntamente com os erros de transmissão sobre um componente especificado.

Processos/verificações de 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 seguinte:

  • Identificação do processo: identifica 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 linhas de execução: visualizar os padrões de linha de execução subjacentes que um processo usa. Por exemplo, é possível monitorar o pico de contagem de linhas de execução, a contagem de linhas de execução para todos os processos.
  • Utilização da memória: veja o uso da memória em 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, você pode monitorar se o servidor está em execução para as APIs usadas com frequência com proxy da 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 para 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 das APIs chamadas programadas para seus proxies de API e notifica você quando e como elas falham. 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. API A saúde pode fazer chamadas de diferentes locais ao redor do mundo para comparar o comportamento da API entre ou várias 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 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.

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

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 grava uma "Mark Down" mensagens para o arquivo de registro do roteador em /<inst root&gt;/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 realizar uma verificação de integridade e determinar que o processador de mensagens funcionando corretamente, o Roteador recoloca o Processador de Mensagens em rotação. A 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