Monitoração Web com Perl

Publicado por Leonardo Berbert Gomes em 04/09/2015

[ Hits: 2.807 ]

Blog: https://www.linkedin.com/in/leoberbert

 


Monitoração Web com Perl



Nesta dica abordo como criar uma monitoração via interface Web utilizando a linguagem de programação Perl sem ter a necessidade de um servidor Apache, Nginx etc.

Para esta dica será necessário a instalação dos módulos Perl abaixo:
  • Socket
  • IO::Socket
  • Time::localtime
  • LWP::Simple

Esta dica surgiu com o intuito de criar uma interface web para que uma área sem acesso ao sistema operacional pudesse acompanhar se alguns processos estavam em execução ou não.

O script poderá ser baixado no link abaixo:


Após abrir o script, poderá ser visto o bloco do código abaixo que mostra de onde ele faz a leitura dos dados para exibição:

my $diri = "/home/oracle/scripts/webserver/fila";
my $dirc = "/home/oracle/scripts/webserver/fila";

Nome do arquivo que ele irá ler para a exibição:

open(FILE,"process.Cfg");

Porta em que o webservice está executando:

my $port = '5030';

Obs.: É imprescindível que a porta utilizada na variável acima esteja incluída em suas regras de firewall para que possa ser acessada pela vlan em questão.

O conteúdo do script do arquivo process.cfg está no seguinte formato:

server1|apache|8081|14:40:00|1|Running
server2|tomcat|8080|14:40:00|0|Not_Running
server3|mysql|3306|14:40:00|1|Running

Com todos os requisitos acima sendo atendidos, é hora de executar o script e avaliar o resultado.

Para executá-lo, utilize o comando:

perl web.pl

Em seguida, abra seu browser e acesse o endereço:

  • http://IP_DO_SERVIDOR:5030

Pronto, será exibida a tela abaixo:
Linux: Monitoração Web com perl
Devido a falta de tempo não realizei a customização do HTML com cores.

É possível editar no código do script para que quando uma determinada ocorrência, por exemplo "Not_Running", ele coloque a célula em vermelho e quando encontra "Running", alterar a cor para verde.

Outras dicas deste autor

Instalando o Terraform (Ubuntu/Mint/Debian e Derivados)

Adicionando novas opções ao menu do Fluxbox

RRDtool no CentOS 6.x - Instalação via Yum

Awk - Uma poderosa ferramenta de análise

Alterando senha de admin do Grafana

Leitura recomendada

Solaris - Criando repositório de Módulos Perl com usuário normal

Apagando colunas usando expressões regulares

Resolvendo o REDIRECT_TO do Rails em HTTPS

Separar palavras de uma string no PHP

Blender - Design com Software Livre - Linux

  

Comentários
[1] Comentário enviado por hellnux em 04/09/2015 - 15:41h

Interessante. No aguardo da versão em Python.



Contribuir com comentário