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 <host> é 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>/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 /<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
Para configurar o roteador para fazer a verificação de integridade, defina a seguinte propriedade como true em /<inst root>/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