Click here to view this article in English.
Sobre:
Uechi APM Web é um APM (Application Performance Management) monitor de desempenho de servidores Open Source escrito e desenvolvido em Java e C# para todas as plataformas Linux e Windows. O Uechi.APM.Web oferece um recurso completo para monitoramento ilimitado de Servidores em tempo real. Tenha total controle do consumo de CPU, Memória, Disco e trafico de Rede. A comunicação é feita através do Protocolo TCP através de conexão Socket.
Veja uma demonstração simulada clicando aqui ou acesse o endereço http://vm.uechi.com.br/Uechi.APM.Web/.
Através de um Front desenvolvido em Web, possibilita uma fácil configuração para monitoramento de um numero ilimitado de servidores em tempo real, contando ainda com alertas visuais de monitoramento.
A comunicação é feito através de Socket no protocolo TCP. Veja abaixo um exemplo do Dashboard do Monitor com 2 avisos, um alerta médio e um grave destacados pelas cores amarelo e vermelho.
O Monitor do Dashboard se atualiza a cada “x” segundos conforme a sua configuração parametrizada.
A compatibilidade do serviço é tanto para plataformas Linux e Windows 32bits e 64Bits.
Demonstração:
Todas as funcionalidades estão disponíveis no Demo simulado em funcionamento no endereço http://vm.uechi.com.br/Uechi.APM.Web/.
Visão Geral:
Uechi.APM.Web
Se comunica com os servidores através do Socket com protocolo TCP fazendo um requisição autenticada através de um Hash Key Criptografado MD5 e a opção solicitada, o Uechi.APM.Service.Socket.Server faz a validação e consulta requisição solicitada no servidor retornando a informação para o Uechi.APM.Web.
A configuração do Uechi.APM.Web e feita por parâmetros personalizadas como tempo, quantidade de visualização de servidores por tela, para melhor definição de resolução. O Projeto é responsivo, permitindo assim ser visualizados em diferentes tipos de resolução para outros equipamentos como Tabletes e Celulares. As configurações de chave de segurança deve ser feita através de um Hash Key com Criptografia MD5 de 128 bits de sua escolha, depois seguindo da porta de comunicação e dos servidores que serão feito a comunicação, separados por ‘,’ virgula. Você ainda conta com uma configuração de alertas de aviso de médio a grave sendo diferenciados pelas cores amarelo e vermelho, que pode ser configuradas conforme a sua sugestão de consumo de CPU, Memória, Disco e trafico de Rede.
Uechi.APM.Services.Socket.Server
Versão Linux é um Client do monitor de desempenho de servidores Open Source para plataformas Linux, que responde a solicitações feita pelo Uechi.APM.Web.
Uechi.APM.Services.Socket.Server
Versão Windows é um Client do monitor de desempenho de servidores Open Source para plataformas Windows, que responde a solicitações feita pelo Uechi.APM.Web.
Arquitetura:
Veja abaixo um fluxograma do funcionamento geral da estrutura:
Estrutura:
Uechi.APM.Web
Projeto Web de Monitoramento desenvolvido em JSP sobre a plataforma Java 1.8 e 1.7 compatível, rodando nos servidores Web Glassfish 4.0 ou Tomcat 8.0.
Versão Linux
Uechi.APM.Services.Socket.Server
Projeto Serviço Cliente Socket desenvolvido em Java 1.8 compatível com plataformas Linux.
Versão Windows
Uechi.APM.Services.Socket.Server
Projeto Serviço Cliente Socket desenvolvido em VS.NET Framework 4.0 compatível com plataformas Windows.
Módulos Suportados:
. Glassfish 4+
. Tomcat 8+
. JDK 1.7 +
. Framework 4.0
Testado e Homologado em:
Linux
CentOS x86_64 Versões 6 e 7.
Ubuntu x86_64 Versões 12 e 14.
Windows
Windows 2003 Advanced Server
Windows 2008 Server R2
Windows 2012 Server R2
Instalação:
Requisitos:
Uechi.APM.Web
. JDK 8 instalado
. Glassfish 4+ ou Tomcat 8+
. Windows ou Linux
Uechi.APM.Services.Socket.Server Linux
Sistema Operacional baseado em Linux compatível.
Uechi.APM.Services.Socket.Server Windows
Sistema Operacional Windows versões Servidor.
Uechi.APM.Web
a) Baixe o Deploy e publique no Glassfish ou Tomcat seguindo as instruções abaixo:
Versão 1.0.0 compatíveis com Glassfish e Tomcat:
Download Deploy War:
https://github.com/paulouechi/Uechi.APM.Web/blob/master/dist/Uechi.APM.Web.war
Download Compactado:
https://github.com/paulouechi/Uechi.APM.Web/blob/master/dist/Uechi.APM.Web.war.zip
Observação: Vou usar o exemplo do Glassfish, caso não tenha instalado acesse aqui.
b) Acesse o Admin do seu Glassfish, menu Applications, depois clique no botão Deploy.
c) Clique para localizar o arquivo .war depois de selecionado clique em ok.
d) Baixe o arquivo properties em:
e) Por padrão o arquivo properties deve estar no diretorio /opt/uechi/Uechi.APM.Web/ com as devidas permissões de escrita, para fazer isso faça o procedimento abaixo:
# sudo mkdir /opt/uechi && mkdir /opt/uechi/Uechi.APM.Web # sudo cp parametro.properties /opt/uechi/Uechi.APM.Web/ # sudo chmod 777 /opt/uechi/Uechi.APM.Web/parametro.properties ## Observação: substituir o "usuario" pelo usuário padrão onde o seu Glassfish/Tomcat é executado. # sudo chown usuario:usario /opt/uechi/Uechi.APM.Web/parametro.properties
Uechi.APM.Service.Socket.Server
Versão Linux
– Baixe o pacote com o Deploy mais dependências e siga as instruções abaixo:
a) Download do pacote completo compactado em:
b) Siga os procedimento abaixo para instalação:
# mkdir /opt/uechi # mkdir /opt/uechi/Uechi.APM.Service.Socket.Server # cd /opt/uechi/Uechi.APM.Service.Socket.Server # mkdir log # wget https://github.com/paulouechi/Uechi.APM.Services.Socket.Server.Linux/blob/master/dist/Uechi.APM.Services.Socket.Server.zip # unzip Uechi.APM.Service.Socket.Server.zip -d /opt/uechi/Uechi.APM.Service.Socket.Server/
Descompactando a pasta você vai ter os seguintes arquivos:
c) Para inicializar o serviço:
# nohup java -Xms128M -Xmx3G -jar Uechi.APM.Service.Socket.Server.jar >/dev/null &
Caso queira inicializar com log:
# nohup java -Xms128M -Xmx3G -jar Uechi.APM.Service.Socket.Server.jar >log/out.log & # tail -f log/out.log
d) Para finalizar o processo faça o seguinte:
# ps -aux | grep Uechi.APM ## Verifique qual é o PID do processo, pode retorna algo parecido com isso: ## root 1989 0.1 5.9 578 225 ? Sl Sep28 14:11 java -Xms512m -Xmx3G -jar Uechi.APM.Services.Socket.Server.jar ## No caso acima o PID é a segunda coluna do retorno [1989] ## Para matar o processo execute o comando: # sudo kill -9 1989
e) Configurações de chave e porta pode ser editados através do arquivo uechi.properties conforme exemplo abaixo:
# nano /opt/uechi/Uechi.APM.Services.Socket.Server/uechi.properties
f) Edite no arquivo os parâmetros “chave=698dc19d489c4e4db73e28a713eab07b” e “Porta=8888” para a sua configuração desejada.
Observações: Para geração de uma nova Key MD5 acesse o site http://passwordsgenerator.net/md5-hash-generator/ coloque a sua combinação desejada para gerar uma nova chave.
Uechi.APM.Service.Socket.Server
Versão Windows
a) Baixe o pacote Setup MSI e siga as instruções abaixo:
Para baixar o pacote clique em: https://github.com/paulouechi/Uechi.APM.Services.Socket.Server.Windows/blob/master/Uechi.APM.Services.Socket.Server.Setup/Debug/Uechi.APM.Services.Socket.Server.Setup.zip
b) Extrai o aquivo ZIP para obter o Setup.exe e o MSI.
c) Siga os procedimentos do Setup Wizard até o final conforme exemplo abaixo:
d) Depois de concluída a instalação, vá nas Ferramentas Administrativas do Windows e clique no ícone de Serviços, localize o Uechi.APM.Services.Socket.Server clique no botão direto e clique em iniciar.
Obs: O Serviço ira iniciar automaticamente caso o servidor seja reinicializado.
e) Configurações de chave e porta pode ser editados através do arquivo Uechi.APM.Services.Socket.Server.exe.config que por padrão se encontra na pasta “C:\Arquivos de Programas (x86)\Uechi.com.br\Uechi.APM.Services.Socket.Server\” conforme o exemplo abaixo:
f) Abra este arquivo no notepad e edite os parâmetros do <add key=”chave” value=”698dc19d489c4e4db73e28a713eab07b” /> e <add key=”Porta” value=”8888″ /> para a sua configuração desejada conforme imagem abaixo:
Salve o arquivo e reinicialize o serviço conforme a etapa d.
Observações:Para geração de uma nova Key MD5 acesse o site http://passwordsgenerator.net/md5-hash-generator/ coloque a sua combinação desejada para gerar uma nova chave.
Fontes:
Uechi.APM.Web
– Fontes disponíveis no GitHub:
Versão 1.0.0 – https://github.com/paulouechi/Uechi.APM.Web
Uechi.Service.Socket.Server.Monitor – Versão Linux
– Fontes disponíveis no GitHub:
Versão 1.0.0 – https://github.com/paulouechi/Uechi.APM.Services.Socket.Server.Linux
Uechi.Service.Socket.Server.Monitor – Versão Windows
– Fontes disponíveis no GitHub:
Versão 1.0.0 – https://github.com/paulouechi/Uechi.APM.Services.Socket.Server.Windows
Informações:
Esse projeto foi inicializado pela necessidade de um monitoramento básico rápido simples e objetivo de servidores. A ideia futura é armazenar as informações obtidas e apresentar um histórico de performance dos servidores monitorados e no futuro quem sabe até de aplicações.
Colaboração:
Caminha Nachbar – blog da Camila acesse aqui ou contate pelo e-mail camila.nachbar@gmail.com.
Contribuições:
Agradeço a todos que se interessar em contribuir e melhorar o projeto.
Caso tenha interesse em participar, por favor, baixe o projeto e faça as implementações necessárias. Depois entre em contato por e-mail, no caso de novas versões, podemos combinar releases dos projetos.
Licença:
Uechi.APM.Web e Uechi.APM.Services.Socket.Server versões Windows e Linux estão licenciados sob a Licença Apache, Versão 2.0. Veja LICENÇA para informações completas da licença.
Próximos passos:
1 – Uechi.APM.Web na versão ASP.NET
2 – Melhorar detalhes dos dados em tela.
3 – Criptografar toda a comunicação.
Informações:
Duvidas ou sugestões ou solicitações por favor faça nos comentários abaixo ou contate pelo e-mail paulouechi@gmail.com.