Diferència entre revisions de la pàgina «WoSeBerry - Manual de usuarios»
Línia 75: | Línia 75: | ||
# Comprobar el servicio haproxy | # Comprobar el servicio haproxy | ||
if [ $(ps -ef | grep -v grep | grep haproxy | wc -l) -ge 1 ]; then | if [ $(ps -ef | grep -v grep | grep haproxy | wc -l) -ge 1 ]; then | ||
+ | echo -e "\tHAProxy: OK" | ||
+ | else | ||
echo -e "\tHAProxy: KO" | echo -e "\tHAProxy: KO" | ||
− | |||
− | |||
fi | fi | ||
# Comprobar el servicio bind9 | # Comprobar el servicio bind9 | ||
− | if [ $(ps -ef | grep -v grep | grep | + | if [ $(ps -ef | grep -v grep | grep bind | wc -l) -ge 1 ]; then |
+ | echo -e "\tBind9 (DNS): OK" | ||
+ | else | ||
echo -e "\tBind9 (DNS): KO" | echo -e "\tBind9 (DNS): KO" | ||
− | |||
− | |||
fi | fi | ||
Línia 95: | Línia 95: | ||
# Comprobar la salida a Internet | # Comprobar la salida a Internet | ||
− | ping -q -c2 | + | ping -q -c2 8.8.8.8 > /dev/null |
if [ $? -eq 0 ]; then | if [ $? -eq 0 ]; then | ||
Línia 105: | Línia 105: | ||
function comprobarBERRY-02(){ | function comprobarBERRY-02(){ | ||
− | echo " | + | echo -e "\nESTADO DE LA BERRY-02:" |
# Comprobar el servicio de apache2 | # Comprobar el servicio de apache2 | ||
− | if [ $(ps -ef | grep -v grep | grep apache | wc -l) -ge 1 ]; then | + | if [ $(ssh [email protected] ps -ef | grep -v grep | grep apache | wc -l) -ge 1 ]; then |
echo -e "\tApache: OK" | echo -e "\tApache: OK" | ||
else | else | ||
Línia 115: | Línia 115: | ||
# Comprobar la salida a Internet | # Comprobar la salida a Internet | ||
− | ping -q -c2 | + | ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null |
if [ $? -eq 0 ]; then | if [ $? -eq 0 ]; then | ||
Línia 125: | Línia 125: | ||
function comprobarBERRY-03(){ | function comprobarBERRY-03(){ | ||
− | echo " | + | echo -e "\nESTADO DE LA BERRY-03:" |
+ | |||
+ | # Comprobar el servicio de apache2 | ||
+ | if [ $(ssh [email protected] ps -ef | grep -v grep | grep apache | wc -l) -ge 1 ]; then | ||
+ | echo -e "\tApache: OK" | ||
+ | else | ||
+ | echo -e "\tApache: KO" | ||
+ | fi | ||
+ | |||
+ | # Comprobar la salida a Internet | ||
+ | ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null | ||
+ | |||
+ | if [ $? -eq 0 ]; then | ||
+ | echo -e "\tInternet: OK" | ||
+ | else | ||
+ | echo -e "\tInternet: KO" | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function comprobarBERRY-04(){ | ||
+ | echo -e "\nESTADO DE LA BERRY-04:" | ||
+ | |||
+ | # Comprobar el servicio de mysql | ||
+ | if [ $(ssh [email protected] ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then | ||
+ | echo -e "\tMySQL: OK" | ||
+ | else | ||
+ | echo -e "\tMySQL: KO" | ||
+ | fi | ||
+ | |||
+ | # Comprobar la salida a Internet | ||
+ | ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null | ||
+ | |||
+ | if [ $? -eq 0 ]; then | ||
+ | echo -e "\tInternet: OK" | ||
+ | else | ||
+ | echo -e "\tInternet: KO" | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function comprobarBERRY-05(){ | ||
+ | echo -e "\nESTADO DE LA BERRY-05:" | ||
+ | |||
+ | # Comprobar el servicio de mysql | ||
+ | if [ $(ssh [email protected] ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then | ||
+ | echo -e "\tMySQL: OK" | ||
+ | else | ||
+ | echo -e "\tMySQL: KO" | ||
+ | fi | ||
+ | |||
+ | # Comprobar la salida a Internet | ||
+ | ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null | ||
+ | |||
+ | if [ $? -eq 0 ]; then | ||
+ | echo -e "\tInternet: OK" | ||
+ | else | ||
+ | echo -e "\tInternet: KO" | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function comprobarBERRY-06(){ | ||
+ | echo -e "\nESTADO DE LA BERRY-06:" | ||
# Comprobar el servicio de mysql | # Comprobar el servicio de mysql | ||
− | if [ $(ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then | + | if [ $(ssh [email protected] ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then |
echo -e "\tMySQL: OK" | echo -e "\tMySQL: OK" | ||
else | else | ||
Línia 135: | Línia 195: | ||
# Comprobar la salida a Internet | # Comprobar la salida a Internet | ||
− | ping -q -c2 | + | ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null |
if [ $? -eq 0 ]; then | if [ $? -eq 0 ]; then | ||
Línia 149: | Línia 209: | ||
comprobarBERRY-02 | comprobarBERRY-02 | ||
comprobarBERRY-03 | comprobarBERRY-03 | ||
+ | comprobarBERRY-04 | ||
+ | comprobarBERRY-05 | ||
+ | comprobarBERRY-06 | ||
</pre> | </pre> |
Revisió del 15:54, 22 maig 2018
Manual de usuario estándar
Operativa del servicio ...
Manual de usuario administrador
Scripts de mantenimiento
Dado que el usuario administrador tendrá la obligación de asegurar el funcionamiento correcto en esta infraestructura, dispondrá de una carpeta llamada Scripts en su home. Esta carpeta dispone de una serie de scripts que facilitarán tareas como:
- Sincronizar contenido multimedia entre WordPress
- Realizar un backup de las bases de datos
- Comprobar el número de nodos activos en el clúster MariaDB
Sincronizar contenido multimedia entre WordPress
El comando de este script es idéntico al que se ha programado en el demonio crontab de las BERRY-02 y BERRY-03 para que se ejecute cada 15 minutos. Sin embargo, si el usuario administrador ha añadido nuevos archivos y desea realizar la sincronización en ese instante, podrá hacerlo mediante dicho script:
#!/bin/bash rsync -ahvrz /var/www/html/wp-content/uploads/* [email protected]:/var/www/html/wp-content/uploads rsync -ahvrz [email protected]:/var/www/html/wp-content/uploads/* /var/www/html/wp-content/uploads echo -e "\nSincronización de la carpeta uploads realizada correctamente."
De esta manera, se comprobarán los archivos y directorios que hay distintos en la BERRY-03 con respecto a la BERRY-02 y viceversa. Para ejecutarlo, el usuario administrador tan solo deberá ejecutar el siguiente comando:
pi@BERRY-02:~$ bash /home/pi/Scripts/sincronizarWordpress.sh
Realizar un backup de la base de datos
Por defecto, se realizará una copia de seguridad de la base de datos wordpress todos los días a las 4:00 am. Sin embargo, al usuario administrador le puede resultar útil realizar dicha copia en un momento dado. Para facilitar esta tarea, se ha creado un script el cual realiza una copia de la base de datos, asignándole como nombre la fecha y la hora en la que se realizó. De esta manera, se hace distintiva de las copias de seguridad automáticas mediante el demonio crontab:
#!/bin/bash echo -e "\nIntroduce el nodo en el cual quieres realizar la copia de seguridad:" echo -e "\t1) BERRY-04 echo -e "\t1) BERRY-05 echo -e "\t1) BERRY-06 read nodo case $nodo in 1) mysqldump -h BERRY-04.woseberry.tk --user=pi --password=woseberry wordpress > /home/pi/backups/backup_wordpress_$(date "+%d-%m-%Y_%H:%M:%S").sql 2) mysqldump -h BERRY-05.woseberry.tk --user=pi --password=woseberry wordpress > /home/pi/backups/backup_wordpress_$(date "+%d-%m-%Y_%H:%M:%S").sql 3) mysqldump -h BERRY-06.woseberry.tk --user=pi --password=woseberry wordpress > /home/pi/backups/backup_wordpress_$(date "+%d-%m-%Y_%H:%M:%S").sql esac echo -e "\n Backup realizado correctamente."
Para ejecutarlo, el usuario administrador tan solo deberá ejecutar el siguiente comando:
$ bash /home/pi/Scripts/backupsWordpress.sh
Comprobar el número de nodos activos en el clúster MariaDB
Siempre que el usuario administrador quiera saber el número de nodos que hay operativos en el clúster, tan solo deberá ejecutar la siguiente sentencia SQL desde las BERRY-04, BERRY-05 o BERRY-06:
$ sudo mysql -u root -p -e 'SELECT VARIABLE_VALUE as "Núm. nodos" FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME="wsrep_cluster_size"'
De esta manera, si el cluster con Galera funciona correctamente, la salida del comando será la siguiente:
+-------------+ | Núm. nodos | +-------------+ | 3 | +-------------+
De lo contrario, alguno de los nodos que forman el clúster estará fallando, por lo que se deberá revisar la causa de este fallo. Para ello, podrá utilizar el script que genera un informe de todos los servidores y así saber en que Raspberry se está produciendo el fallo.
Informe de cada servidor
Para que el usuario administrador sepa en todo momento el estado de cada Raspberry, dispondrá de un script el cual se conecte remotamente a cada servidor y compruebe los servicios. De esta manera, visualizando el informe comprobará que todos los servicios estén funcionando correctamente. De lo contrario, sabrá qué servicio está fallando y el servidor donde se está produciendo el fallo:
#!/bin/bash function comprobarBERRY-01(){ echo "ESTADO DE LA BERRY-01:" # Comprobar el servicio haproxy if [ $(ps -ef | grep -v grep | grep haproxy | wc -l) -ge 1 ]; then echo -e "\tHAProxy: OK" else echo -e "\tHAProxy: KO" fi # Comprobar el servicio bind9 if [ $(ps -ef | grep -v grep | grep bind | wc -l) -ge 1 ]; then echo -e "\tBind9 (DNS): OK" else echo -e "\tBind9 (DNS): KO" fi # Comprobar el enrutamiento if [ $(cat /proc/sys/net/ipv4/ip_forward) -eq 0 ]; then echo -e "\tEnrutamiento: KO" else echo -e "\tEnrutamiento: OK" fi # Comprobar la salida a Internet ping -q -c2 8.8.8.8 > /dev/null if [ $? -eq 0 ]; then echo -e "\tInternet: OK" else echo -e "\tInternet: KO" fi } function comprobarBERRY-02(){ echo -e "\nESTADO DE LA BERRY-02:" # Comprobar el servicio de apache2 if [ $(ssh [email protected] ps -ef | grep -v grep | grep apache | wc -l) -ge 1 ]; then echo -e "\tApache: OK" else echo -e "\tApache: KO" fi # Comprobar la salida a Internet ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null if [ $? -eq 0 ]; then echo -e "\tInternet: OK" else echo -e "\tInternet: KO" fi } function comprobarBERRY-03(){ echo -e "\nESTADO DE LA BERRY-03:" # Comprobar el servicio de apache2 if [ $(ssh [email protected] ps -ef | grep -v grep | grep apache | wc -l) -ge 1 ]; then echo -e "\tApache: OK" else echo -e "\tApache: KO" fi # Comprobar la salida a Internet ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null if [ $? -eq 0 ]; then echo -e "\tInternet: OK" else echo -e "\tInternet: KO" fi } function comprobarBERRY-04(){ echo -e "\nESTADO DE LA BERRY-04:" # Comprobar el servicio de mysql if [ $(ssh [email protected] ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then echo -e "\tMySQL: OK" else echo -e "\tMySQL: KO" fi # Comprobar la salida a Internet ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null if [ $? -eq 0 ]; then echo -e "\tInternet: OK" else echo -e "\tInternet: KO" fi } function comprobarBERRY-05(){ echo -e "\nESTADO DE LA BERRY-05:" # Comprobar el servicio de mysql if [ $(ssh [email protected] ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then echo -e "\tMySQL: OK" else echo -e "\tMySQL: KO" fi # Comprobar la salida a Internet ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null if [ $? -eq 0 ]; then echo -e "\tInternet: OK" else echo -e "\tInternet: KO" fi } function comprobarBERRY-06(){ echo -e "\nESTADO DE LA BERRY-06:" # Comprobar el servicio de mysql if [ $(ssh [email protected] ps -ef | grep -v grep | grep mysql | wc -l) -ge 1 ]; then echo -e "\tMySQL: OK" else echo -e "\tMySQL: KO" fi # Comprobar la salida a Internet ssh [email protected] ping -q -c2 8.8.8.8 > /dev/null if [ $? -eq 0 ]; then echo -e "\tInternet: OK" else echo -e "\tInternet: KO" fi } clear comprobarBERRY-01 comprobarBERRY-02 comprobarBERRY-03 comprobarBERRY-04 comprobarBERRY-05 comprobarBERRY-06