Ir para o final dos metadados
Ir para o início dos metadados

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 5 Próxima »

Escrito por: Paulo Borges
 

Monitoramento de API's




Objetivo
  • Este documento tem como objetivo, demonstrar como monitorar uma API, existem varias ferramentas para monitoramento de APIs, em nosso ambiente utilizaremos o Zabbix por ser uma solução consolidada, freeware e com vasta documentação disponível online.
Funcionalidade
  • Analisar o desempenho das APIs (disponibilidade, velocidade, tempo de resposta).
Operacionalização
 Requisitos

1- Servidor dedicado para monitoramento:

Sistema operacional:

  • Debian Buster 10 (stable) ou superior;

Recursos Mínimos:

  • Memória RAM: 2 GB
  • Disco: 20 GB

Recursos Recomendados:

  • Memória RAM: 4 GB
  • Disco: 40 GB


 Instalação
  1. Para realizar a instalação do Zabbix, basta executar os comandos a seguir (todos os comandos devem ser realizados como usuário root):

    Entrando no diretório Temporário do S.O.:  #cd /tmp


  2. Baixando pacote de repositório Oficial:

    wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb


  3. Instalando pacote do repositório

    dpkg -i zabbix-release_5.0-1+buster_all.deb


  4. Atualizando lista de pacotes disponíveis

    apt update


  5. Instalando o Zabbix Agent, Server e Frontend

    apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent


  6. Criando base de dados zabbix:

    mysql -e "create database zabbix character set utf8 collate utf8_bin"


  7. Criando usuário zabbix

    mysql -e "create user 'zabbix'@'localhost' identified by '123456'”


  8. Dando privilégios ao usuário zabbix para manipular a base de dados zabbix

    mysql -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' with grant option";


  9. Populando base de dados zabbix

    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql zabbix (este comando pode levar alguns minutos par ser concluído)


  10. Configurando o arquivo zabbix_server.conf, abra o arquivo para edição através seguinte caminho:

    nano /etc/zabbix/zabbix_server.conf
    (Localize a linha #DBPassword, descomente e inclua a senha configurada anteriormente)

    CTRL + O (SALVAR) CTRL + X (SAIR)

  11. Finalizada a alteração, salve o arquivo e reinicie o serviço zabbix-server:

    systemctl restart zabbix-server


  12. Ajustando o Time zone do Frontend (Editar configurações do site zabbix, descomente a linha e informe seu timezone), neste exemplo utilizamos "America/Sao_Paulo", altere de acordo com a sua realidade.

    nano /etc/zabbix/apache.conf


    CTRL + O (SALVAR) CTRL +X (SAIR)

  13. Terminado este ajuste, grave as mudanças no arquivo e reinicie o servidor Apache:

    systemctl restart apache2


  14. Finalizando a instalação pela interface Web, descubra qual o endereço IP de seu servidor

    hostname -I


  15. Use o endereço baseado no exemplo a seguir: http://ENDEREÇO_IP/zabbix

    Você será redirecionado para a tela de setup do Zabbix Frontend. Apenas clique em “Next step” (próximo passo).

  16. Agora, o sistema fará uma análise para validar que todos os requisitos foram perfeitamente atendidos. Caso todos os requisitos tenham sido atendidos, basta clicar em “Next step”.




  17. Na próxima tela, o Zabbix Frontend solicita que sejam fornecidos os dados de conexão com o banco de dados a ser utilizado. Sim! Aqueles dados lá do passo 7. É justamente pelo Banco de Dados que o Zabbix Backend e o Zabbix Frontend “conversam”.

    Insira então os dados conforme item 7 "Criando usuário" segue:

    Tipo de Banco de Dados: MySQL

    Servidor de Banco de Dados: localhost

    Porta do Banco de Dados: 0

    Nome do Banco de dados: zabbix

    Usuário: zabbix

    Senha: 123456


  18. Agora, uma tela com todo o sumário da instalação será exibida. Estando tudo certo, apenas clique em “Next step”.


  19. Se todos os passos foram seguidos corretamente a tela de “congratulations” será exibida e será possível fazer o login na interface web do zabbix.

  20. O primeiro Login no Zabbix Frontend:

    Quando criamos a base de dados Zabbix, o script se incumbiu de criar um usuário administrador para nós.

    As credenciais de acesso são:

    User: Admin

    Pass: zabbix

    Esta é a credencial padrão do Zabbix ao ser instalado. É importante ressaltar que o login Admin é com o "A" maiúsculo.


  21. A dashboad “default” do Zabbix.

 Configuração

Configuração de Host:

O monitoramento é feito a partir de um endereço http://IP:PORTA/statusapi (ip do servidor da API e a porta de comunicação seguido de uma chave para consulta de status); a partir desta “rota” o Zabbix consegue verificar o status, tempo de resposta entre outras métricas.

  • Criar ITEM
  1. Na tela inicial clique em configurações
  2. Em seguida em Hosts
  3. Clique em Itens para abrir a tela de criação
  4. Clique em Criar item





  • Criar TRIGGER:
  1. Na tela inicial clique em configurações
  2. Em seguida em hosts
  3. Clique em trigger para abrir a tela de criação
  4. Clique em Criar trigger


  • Criar TRIGGER:
  1. Crie um nome para identificar a trigger posteriormente
  2. Clique em Adicionar para abrir o assistente para criação da expressão regular que vai capturar a métrica.
  3. Informe a URL (esta foi criada para verificar o status para consulta do status da métrica: http://IP:PORTA/statusapi)


  • Configuração da trigger
  1. Selecione o item que será monitorizado pela a trigger.
  2. Selecione a função (status, tempo de resposta, velocidade de download, ping...)
  3. Informe a condição para o teste lógico


  • Dashboard

Um dashboard no Zabbix ajuda muito na visualização das métricas, todavia não existe um padrão, ficando a critério do responsável pelo monitoramento a criação do modelo que melhor atende o seu cenário.

  1. Na tela inicial da interface zabbix, acesse o menu lateral, expanda o menu Monitoramento e cliquem Dashboard.
  2. Clique em Criar dashboard.
  3. Mantenha o usuário adm do zabbix
  4. Crie um nome amigável para sua dashboard
  5. Clique em aplicar
  6. Selecione o tipo de widget (gráfico, disponibilidade, incidentes, relógio...)
  7. Crie um nome amigável para o widget
  8. Selecione o intervalo de atualização do widget
  9. No exemplo da imagem acima foi selecionado o widget “Gráfico” portanto é necessário indicar a origem dos dados que vão ser utilizados para exibição. Os outros tipo também exigem a origem dos dados.
  10. Clique em Adicionar.


Ao final das configurações é possível obter um resultado semelhante ao exemplo abaixo

*exemplo de dashboard.

Atenção

Documentação elaborada com base na versão vigente do sistema.



Editado por: Paulo Borges 03/09/2021
  • Sem rótulos