#!/usr/bin/env bash
##############################################################
#     Script Para Automatizacion De Kraken Console           #
#           Author: Marian Sanchez                           #
##############################################################

rm -f /tmp/inventario_ok &> /dev/null

if [ -z $1 ] || [ $# -ne 2 ]; then

echo -e "\e[91m MODO DE USO : kraken inventario_hardware 1 nombre_inventario\e[0m"
exit;

fi

ls /home/kraken/clientes/$1 &> /dev/null

if [ $? -ne 0 ]; then

        echo -e "\e[91m ARCHIVO DE INVENTARIO $1 NO EXISTE EN /opt/kraken/clientes/\e[0m"
        exit 1;

fi


readarray -t arreglo < /home/kraken/clientes/$1

echo -e "\n"
echo -e "\e[93m ========== OBTENIENDO INVENTARIO HARDWARE PARA LOS SERVIDORES DEL INVENTARIO: $1 ==============\e[0m"

for b in ${arreglo[@]}
 do

                                sshpass -p $2 ssh $b -o StrictHostKeyChecking=no -o ConnectTimeout=5 "exit" &> /dev/null

										if [ $? -eq 0 ]; then

											echo $b >> /tmp/inventario_ok1
											echo $b >> /tmp/inventario_ok
											echo "* * * HARDWARE INTERNO * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "echo $2 | sudo -S dmidecode" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * ADAPTADORES DE RED * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "ip a" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * CPU/CORE DISPONIBLES * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "cat /proc/cpuinfo" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * MEMORIA FISICA/VIRTUAL * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "free -m" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * VOLUMENES LOGICOS EXISTENTES * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "echo $2 | sudo -S vgs" >> /tmp/inventario_ok 2> /tmp/inventario_log
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "echo $2 | sudo -S lvs" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * DISCOS PRESENTES * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "echo $2 | sudo -S fdisk -lua" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * PARTICIONES EXISTENTES * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "df -H" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo -e "\n" >> /tmp/inventario_ok
											echo "* * * LUNS DISPONIBLES * * * " >> /tmp/inventario_ok
											sshpass -p $2 ssh $b -o ConnectTimeout=3  "multipath -ll" >> /tmp/inventario_ok 2> /tmp/inventario_log
											echo "--------------------------------------------------" >> /tmp/inventario_ok
											echo -e "\e[32m INVENTARIO SERVIDOR $b OK\e[0m"
										
										else
										
											
											echo $b >> /tmp/inventario_failed
									
										
										fi
										
done

si=$(cat /tmp/inventario_ok1)
total_ok=$(cat /tmp/inventario_ok1 | wc -l)
acceso=$(cat /tmp/inventario_failed)
total_nok=$(cat /tmp/inventario_failed | wc -l)
log=$(cat /tmp/inventario_log)


echo -e "\e[93m ---------------------------------------------------------- \e[0m"
echo -e "\n"

echo -e "\e[32m ========== INVENTARIO OBTENIDO PARA LOS SERVIDORES ==============\e[0m"
echo -e "\e[32m $si \e[0m"

if [ -e /tmp/inventario_ok ]; then

echo -e "\e[32m PUEDE LEER EL INVENTARIO OBTENIDO EN : /tmp/inventario_ok\e[0m"

fi

echo -e "\n"

echo -e "\n"
echo -e "\e[93m Servidores Ok: $total_ok	Servidores Failed: $total_nok   \e[0m"
echo -e "\n\n"

echo -e "\e[31m ========== SERVIDORES CON PROBLEMAS ACCESO (VALIDA PING O CREDENCIALES) ==============\e[0m"
echo -e "\e[31m $acceso \e[0m"
echo -e "\n"
echo -e "\e[93m --------------------- LOGS ------------------------ \e[0m"
echo -e "\e[93m $log \e[0m"
echo -e "\n"


rm -f /tmp/inventario_log &> /dev/null
rm -f /tmp/inventario_ok1 &> /dev/null
rm -f /tmp/inventario_failed &> /dev/null

exit 0;
