Uechi APM Web

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/.

img001ue

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.

img002ue

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.

img003ue

O Monitor do Dashboard se atualiza a cada “x” segundos conforme a sua configuração parametrizada.

img004ue

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:

uechiapmfluxpt

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.

GlassFish_4_Screenshot

c) Clique para localizar o arquivo .war depois de selecionado clique em ok.

GlassFish_4_Deploy

d) Baixe o arquivo properties em:

https://github.com/paulouechi/Uechi.APM.Web/blob/master/src/java/br/com/uechi/config/parametro.properties

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:

https://github.com/paulouechi/Uechi.APM.Services.Socket.Server.Linux/blob/master/dist/Uechi.APM.Services.Socket.Server.zip

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:

image005ue

c) Para inicializar o serviço:

# nohup java -Xms128M -Xmx3G -jar Uechi.APM.Service.Socket.Server.jar >/dev/null &

image006ue

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.

image007ue

c) Siga os procedimentos do Setup Wizard até o final conforme exemplo abaixo:

img010ue

img011ue

img013ue

img012ue

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.

img016ue

img017ue

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:

img015ue

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:

img018ue

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.

  • marcelo Barreto

    Amigo, boa tarde!
    Instalei a aplicação em um servidor Windows 2008, como indicado, porem não esta gravando o o IP e as configurações. Eu clico em salvar e ele simplesmente não salva.
    Existe alguma configuração a ser realizada?

    • Paulo Uechi

      Olá Marcelo, respondi por e-mail, qualquer coisa me avisa. Abs.