HrStatus - agilizando a virada do horário de verão

O HrStatus é um software Open Source desenvolvido em Java que tem como objetivo principal garantir que a virada do horário de verão sejam bem sucedidas, ele auxilia o administrador para realizar checagem de seus servidores e também Banco de Dados.

[ Hits: 10.647 ]

Por: Filippe em 14/09/2015


Configuração do ambiente



Para este artigo irei usar o seguinte setup:
  • Red Hat 6
  • WildFly 8.1-Final
  • hrstatus-4.0-Final
  • OpenJDK 1.7 (Pode ser utilizado qualquer outra versão do Java 7, ainda não fiz todos os testes com java 8, porém pode ser utilizado e se algum problema for encontrado basta registrar um issue)
  • MariaDB 5.5.X

Instalando binários necessários:
  • ntpdate: utilizado para realizar atualização de data/hora no servidor que o Hrstatus está em execução e também para atualizar máquinas remotas desatualizadas.
  • samba-common: necessário para buscar data/hora em servidores Windows.

# yum install samba-common ntpdate -y

Instalação mariaDb:

# yum install mysql mysql-server -y

Iniciando o MariaDb e configurando para ser iniciado juntamente com o sistema operacional:

# service mysqld start
# chkconfig mysqld on


Configurando senha para o usuário root:

# mysql

mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('MyPassword') WHERE User='root';
mysql> FLUSH PRIVILEGES;

Criando o banco de dados que será utilizado pela aplicação:

mysql> create database hrstatus;

Criando usuário do hrstatus no banco de dados:

mysql> CREATE USER hrstatus@localhost IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE ON hrstatus.* TO 'hrstatus'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

Observação: a senha utilizada é a default criptografada, maiores detalhes vide documentação. Todas as tabelas são criadas automaticamente pela aplicação quando for iniciada pela primeira vez.

Verificando a instalação do Java:

# java -version
java version "1.6.0_28"
OpenJDK Runtime Environment (IcedTea6 1.13.0pre) (rhel-1.66.1.13.0.el6-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)


Se não tiver nenhum java instalado ou não for versão 7, instale o java versão 7:

# yum install java-1.7.0-openjdk.x86_64 -y

# java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.7.el7_1-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)


Obtendo o WildFly já com o HrStatus configurado.

Realize o download da versão 8.1-Final:

# wget http://www.hrstatus.com.br/downloads/hrstatus/wildfly-8.1.0.Final.tgz

Após realizar o download, descompacte o WildFly em um diretório a sua escolha:

# tar -xzvf /root/wildfly-8.1.0.Final.tgz

Página anterior     Próxima página

Páginas do artigo
   1. HrStatus - O que é
   2. Configuração do ambiente
   3. Iniciando e configurando o HrStatus
   4. Configurando o HrStatus
   5. Overview e principais funcionalidades
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Lançamento do GFP 0.1.4.5 - Gerenciador Financeiro Pessoal

Portugol Online - Software livre para facilitar o estudo de algoritmos

Construindo uma aplicação JDialog

Desenvolvendo aplicações em J2ME no Linux

Terasology: O Minecraft gratuito e com gráfico realista

  
Comentários
[1] Comentário enviado por spolti em 14/09/2015 - 16:51h

O bug citado no artigo já foi corrigido na branch master.

[2] Comentário enviado por manoel.junior em 17/09/2015 - 14:29h

Mas qual endereço eu acesso?

localhost e mais o quê? Porta?

Já tentei a 8080 más nada, pode passar o endereço completo da tela de login?

[3] Comentário enviado por spolti em 17/09/2015 - 15:24h

Olá Manoel,

Realmente esqueci de adicionar esta informação, segue:

http://IP:PORTA/hs/login

[4] Comentário enviado por manoel.junior em 18/09/2015 - 12:12h

Olá Filippe, novamente obrigado, funcionou! A porta padrão é a 8080, tire-me umas dúvidas:

1. Como posso executar o HRStatus por serviço? Pois se eu fechar o terminal da máquina, fecha-se o processo e gostaria de deixar como servido, algo como service wildfly start/stop

2. Eu conseguiria importar um pool de máquinas automaticamente sem ter que ficar criando uma a uma? Tenho centenas de máquinas em meu ambiente, tenho um excel com host e ip, se eu pudesse importá-lo ficaria excelente.

3. Eu conseguira agendar uma data e um horário para verificação? Nós aqui da empresa não atualizamos às 00:00 do domingo como no convencional e sim as 12:00 do domingo.

Há essas possibilidades? Obrigado

[5] Comentário enviado por spolti em 18/09/2015 - 16:03h

Olá Manoel,

1. Como posso executar o HRStatus por serviço? Pois se eu fechar o terminal da máquina, fecha-se o processo e gostaria de deixar como servido, algo como service wildfly start/stop
Você encontrará as informações necessárias aqui: https://jbossdivers.wordpress.com/2014/03/23/configurando-um-ambiente-wildfly-8-profissional/

2. Eu conseguiria importar um pool de máquinas automaticamente sem ter que ficar criando uma a uma? Tenho centenas de máquinas em meu ambiente, tenho um excel com host e ip, se eu pudesse importá-lo ficaria excelente.
No momento ainda não há nenhuma ferramenta no HrStatus para isso, o que você pode fazer é editar a sua planilha excell e incluir as instruções SQL e depois copiar todas as linhas para um arquivo txt e importar para o mysql:

INSERT INTO `Servidores` (SO,difference,hostname,ip,pass,port,user,verify) VALUES ('LINUX',1,'localhost','127.0.0.1','-5248516da351323aea160a14f217b9c4',22,'root','SIM');

Porém depois de cadastrato você deverá alterar o usuário e senha de cada um, ou se for um usuário e senha comum em todos seus servidores você criar somente um de forma manual e então obter no banco de dados o hash da senha e usar para inserir os demais com um script.


3. Eu conseguira agendar uma data e um horário para verificação? Nós aqui da empresa não atualizamos às 00:00 do domingo como no convencional e sim as 12:00 do domingo.
Esta funcionalidade está na lista de features para versões futuras, estará disponível na versão 4.1-Final ou 4.2-Final. Você pode acompanhar o site para atulizaões.
Provavelmente em duas semanas a versão 4.1 será lançada.



Att.


[6] Comentário enviado por manoel.junior em 22/09/2015 - 10:46h

Obrigado Felippe,

1. Consegui fazer funcionar o serviço, porém ele não sobe o standalone -b IP, eu sempre tenho que executar na mão para subir o standalone.sh, não teria um jeito de ele subir junto com o wildfly no start/stop?

2. Vou testar e informo aqui o resultado

3. Perfeito!!! Algo que alterasse o tzdata para que não altere o horário às 00:00 e sim programar o horário para o servidor do HRStatus.

Obrigado

[7] Comentário enviado por spolti em 01/10/2015 - 18:25h


Olá Manoel, como está os testes com o HrStatus?

Não se esqueça que caso encontre algum bug ou tenha alguma melhoria basta registrar uma issue no github: https://github.com/spolti/hrstatus/issues/new


Com relação ao scheduler, começei a desenvolver algo bem simples, um scheduler default para todos os dias as 00:00, neste primeiro momento só este estará disponível. Para um futuro próximo irei implementar a opção de agendar schedulers personalizados.
Em relação a sua dúvida do tzdata, o HrStatus não atualiza o tzdata dos servidores, ele checa somente do sistema operacional e é possível atualizá-lo (somente linux) com o ntpdate -u, por isso é importante que exista um servidor ntp em sua rede. Para maiores informações: http://www.hrstatus.com.br/hrstatus/docs/DocumentacaoHrStatus.pdf item 9.1.6



Att.

[8] Comentário enviado por spolti em 16/10/2015 - 12:22h


Manoel, já finalizei a implementação do scheduler, inicialmente ele é bem básico, no futuro irei incluir agendamentos personalizados.
Neste momento falta documentar as novas funcionalidades desta nova versão.


Contribuir com comentário