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 aguardando 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 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 um 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 host é o endereço IP do componente Apigee Edge. O 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.
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. Para mais informações, consulte Como monitorar.
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" para o arquivo de registro 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 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 MP_IP:PORT é 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