PHP Server Monitor – Monitore URLs e IPs

PHP Server Monitor – Descrição, Instalação e dicas.

O que é o PHP Server Monitor?

Encontrei um projeto no Sourceforge, que é focado em monitoração de URLs e Portas de Ips/Urls.

A aplicação é simples e objetiva, checa de tempos em tempos se a URL, ou Porta, está UP ou não. Lembra o serviço Pingdom.

Tem um Dashborad em PHP, que aparece o alarme, como uma aplicação de monitoração (Nagios, Zabbix, Icinga e etc).

Página oficial do projeto: PHP Server Monitor

Características:

  • Notificações por email;
  • Notificações por SMS;
  • Monitoração de Urls Http/Https e Portas de Serviços;
  • Permite usar expressões regulares, para a monitoração de conteúdo específico de páginas Http e Https;
  • Permite a criação de usuários para a visualização de determinadas Urls, limitando o poder de visualização dos times/usuários.

A “cara” da DashBorad do Projeto, é esta:

Linux: PHP Server Monitor - Monitore URLs e IPs

Vamos para a mão na massa.

Pré-requisitos

Você precisa ter instalado os seguintes pacotes:

  • PHP 5.3 ou maior (PHP 5.3+);
  • Curl;
  • Módulo Php-mysql;
  • Mysqsl Server;
  • Webserver Apache;
  • Servidor com acesso à Internet, ou na rede onde ficam as Urls que precisam ser monitoradas.

Nota: Pode ser usado qualquer outro WEBserver, como Nginx, fica a seu critério, mas o Apache, satisfaz 100%. O apache e Mysql precisam ficar UP durante a instalação.

MySQL

Crie a base de dados Mysql, usuário e senha. Coloque os nomes e senha que você quiser, isto é indiferente, fica a seu critério.

mysql> create database bancoteste;
mysql> grant usage on *.* to usuariomysql@localhost identified by ‘senhamysql’;
mysql> grant all privileges on bancoteste.* to usuariomysql@localhost;
mysql> flush privileges;

Testando o acesso ao BD:

# mysql -uusuariomysql -p
Enter  password:
Welcome  to  the  MySQL  monitor.    Commands  end  with  ;  or  \g.
Your  MySQL  connection  id  is  158
Server  version:  5.5.34  MySQL  Community  Server  (GPL)

Copyright  (c)  2000,  2013,  Oracle  and/or  its  affiliates.  All  rights  reserved.

Oracle  is  a  registered  trademark  of  Oracle  Corporation  and/or  its
affiliates.  Other  names  may  be  trademarks  of  their  respective
owners.

Type  ‘help;’  or  ‘\h’  for  help.  Type  ‘\c’  to  clear  the  current  input  statement.

mysql>  show  databases;
+——————–+
|  Database                      |
+——————–+
|  information_schema  |
|  bancoteste                  |
+——————–+
2  rows  in  set  (0.00  sec)

mysql> 

Neste caso:

  • Usuário: usuariomysql
  • Senha: senhamysql
  • Base de dados MySQL: bancoteste

Baixando PHP Server Monitor

Vá para a página do projeto (phpservermonitor.org) e baixe o pacote phpservermon.

A versão atual é phpservermon-2.1.0.tar.gz.

Instalação

1. Descompacte o phpservermon-2.1.0.tar.gz na página raiz do seu WEBsite, no meu caso, está na pasta raiz default do Apache:

# tar xvzf phpservermon-2.1.0.tar.gz -C /var/www/html
#cd /var/www/html/phpservermon

2. Renomeie o arquivo config.php.sample para config.php:

# mv -v config.php.sample config.php

3. Configure as credenciais do Banco de dados. (usuario, senha e base de dados).

# vi config.php
define(‘PSM_DB_USER’,  ‘usuariomysql’);
define(‘PSM_DB_PASS’,  ‘senhamysql’);
define(‘PSM_DB_NAME’,  ‘bancoteste’); 

4. Execute o arquivo install.php para prosseguir com a instalação:

  • http://coloqueseuipaqui/phpservermon/install.php

Ex.: http://localhost/phpservermon/install.php

Linux: PHP Server Monitor - Monitore URLs e IPs

5. Agora, você tem instalado o PHP Server Monitor.

Acesse a URL principal (index.php):

  • http://localhost/phpservermon/index.php
Linux: PHP Server Monitor - Monitore URLs e IPs

6. Configurar o script de monitoração no Cron.

# crontab -l
*/1 * * * * /usr/bin/php /var/www/html/phpservermon/cron/status.cron.php

Veja, que eu coloquei o script de monitoração para ser executado a cada 1 minuto, que é mais que sificiente para monitorar as Urls e portas.

Nota: É muito importante, após a instalação, ser apagado ou removido da pasta do apache, o arquivo de instalação install.php.

Se, por qualquer motivo, for ser executado novamente, você vai zerar a instalação e perder qualquer monitoração configurada.

E-mail

Não vou abordar, neste momento, o envio de alertas por Email.

Dicas:

  • Basicamente você vai precisar de um servidor de email válido, ou que envie e-mails para onde você queira.
  • Eu sugiro o Postfix para ser o servidor de E-mail. O Postfix pode servir apenas como Relay, ou seja, encaminhar os E-mails para outro servidor já configurado.

SMS

Dicas:

  • Você precisa adquirir um serviço de Gateway SMS, tem gratuítos e pagos.
  • Na página do projeto, tem algumas informações para configurar o serviço de SMS.

Conclusão

Bom pessoal, é isto.

O intuito aqui, foi compartilhar mais um ferramenta para a monitoração de sites. Vocês viram que é uma ferramenta simples, mas que faz o que é necessário.

Dica muito legal: às vezes, além do SMS e E-mail, você também quer que seja aberto um chamado, um incidente, na ferramenta de gerenciamento de chamados da sua empresa.

Para isto, sugiro usar o serviço Zapier, que é uma aplicação na nuvem, que pode ser integrada com diversas ferramentas de Service Desk e abertura de chamados.

Ela precisa apenas que chegue um e-mail com o alerta, para abrir os chamados. Muito útil.

Rolar para cima