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