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:
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
5. Agora, você tem instalado o PHP Server Monitor.
Acesse a URL principal (
index.php):
- http://localhost/phpservermon/index.php
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.
Obrigado por ter lido.
Leonardo Macedo Cerqueira