En una entrada anterior us vam parlar sobre Monit i com instal·lar-lo al nostre servidor Centos i/o Ubuntu per poder controlar els serveis que hi tenim instal·lats. En aquesta ocasió us portem una aplicació web que permet gràficar les dades que recull Monit. Aquest tutorial funciona tant per a Centos com per a Ubuntu, tot i que és possible que algunes rutes i alguns comandaments variïn una mica.
Requisits i dependències
Perquè Monit Graph funcioni correctament, cal que al nostre servidor hi tinguem instal·lat un servidor Apache o Nginx amb PHP. Si necessiteu saber com instal·lar un servidor Apache podeu consultar “Com instal·lar a Linux: Apache MariaDB i PHP (LAMP)” o si preferiu Nginx podeu anar a “Com instal·lar a Linux: NGINX MariaDB i PHP (LEMP)“.
També és important tenir els següents paquets de PHP instal·lats:
Ubuntu:
# apt-get install libapache2-mod-php7.0 php7.0-cli php7.0-mysql php7.0-xml php7.0-curl
Centos:
# yum install php-cli php-mysql php-xml php-curl
Addicionalment, podeu crear un VirtualHost o Server (segons si feu servir Apache o Nginx) per poder accedir-hi via subdomini si així ho preferiu. Recordeu que és important protegir el directori on instal·leu Monit Graph ja que no disposa d’un panell de login. Nosaltres, com que és un tutorial, treballarem amb la ruta per defecte de l’Apache que és /var/www/html i hi afegirem la web. Si teniu algun dubte sempre podeu posar-vos en contacte amb el Suport de Clouding perquè us donem un cop de mà.
Descarregar Monit-Graph
Per descarregar Monit-Graph podem utilitzar dos mètodes: o bé accedim via SSH i fem servir wget o bé el copiem des de FTP. Nosaltres utilitzarem el primer mètode ja que és el més còmode.
Un cop hi accedim via SSH, hem d’anar a la ruta que hem configurat al nostre DocumentRoot o Root, en el nostre cas:
# cd /var/www/html
Ens descarreguem Monit-Graph amb wget:
# wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/monit-graph/monit-graph.tar.gz
Descomprimim:
# tar zxf monit*.tar.gz
Eliminem el tar.gz:
# rm monit*.tar.gz
Configurem permisos de directoris i fitxers:
chown www-data.www-data -R * chmod 755 -R * chmod 777 data/logs chmod 644 data/index.php chmod 644 data/logs/index.php
Modifiquem el fitxer de configuració:
# nano config.php
I el configurem així:
$monit_url = "46.183.XXX.XXX:2812"; // La IP:Port o domini:port del nostre Monit $monit_http_username = "admin"; // Usuari amb què accedim a Monit $monit_http_password = "monit"; // Contrasenya amb què accedim a Monit $monit_url_ssl = false; // Canviem true per false
Afegim el següent a cron perquè cada minut reculli dades del nostre Monit:
# crontab -e
* * * * * php /var/www/html/cron.php >> /var/log/monit-graph.log
Tingueu en compte modificar la ruta al fitxer cron.php.
Un cop fem aquests canvis, reiniciem el servidor Apache/Nginx i accedim al nostre Monit Graph:
Monit-Graph no mostra gràfics
En el cas que no funcioni correctament i no mostri els gràfics, una manera senzilla de depurar errors de la configuració és executar el fitxer cron.php des del nostre terminal, de la manera següent:
# php cron.php
En el moment d’executar-se ens mostrarà errors i podrem solucionar-los fàcilment. Per exemple, el següent error:
[MonitGraph] /var/www/html/monit-graph.class.php line 122: cURL Error (27): SSL: couldn't create a context: error:140A90C4:SSL routines:SSL_CTX_new:null ssl method passed
Significa que al nostre fitxer de configuració tenim el valor $monit_url_ssl amb true en lloc de false.
Un altre exemple:
PHP Warning: file_get_contents(/var/www/html/data/server.xml): failed to open stream: No such file or directory in /var/www/html/monit-graph.class.php on line 148
Significa que no troba el fitxer /var/www.html/data.server.xml, això vol dir que probablement Monit Graph no s’ha pogut connectar amb Monit i encara no ha creat automàticament aquest fitxer. En aquest cas, cal revisar de nou el nostre fitxer de configuració i veure si el valor $monit_url és correcte (no us oblideu d’afegir els ports del Monit).
Fonts: DreamCenception, Code Google