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: 9.267 ]

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

As novidades do Java 1.5

Introdução ao framework Mentawai

Transforme seu celular em terminal sem fio SSH/Telnet

Construindo uma aplicação JDialog

Gerando arquivos PDF com Java e iText

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts