Monitorización de disco ASM
Hola, pongo aquí un script que utilizo para monitorizar ASM de forma fácil y que enviara un email en caso que cumpla un requisito, en este caso tengo definido cuando este un 80% de ocupación o más.
#!/bin/sh
. /home/oracle/.bashrc
getInfo_Disk() {
sqlplus -s ${VUSER}/${VPASS}@${LOCAL_SID} <<EOF
SET PAGESIZE 0
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET ECHO OFF
Select
ListAgg(
'Disk '|| Name||' Size_TB: '||(Total_Mb/1024/1024)||' Used_TB: '||Trunc(((Total_Mb - Free_Mb)/1024/1024),2)||' Use_%: '||Round((1 - (Free_Mb / Total_Mb)) * 100, 2) , Chr(10))
Within Group (Order By Name) Info
From V\$Asm_Diskgroup
Where ( Round((1 - (Free_Mb / Total_Mb)) * 100, 2) ) >= 80
Order By Name;
set termout on
exit;
EOF
}
if [[ ! -z "$(getInfo_Disk)" ]]
then
. /home/oracle/scripts/email.sh "Monitor Space Used by ASM disk with more 80%" "$(getInfo_Disk)"
fi
El script lo programo vía crontab cada 5 minutos.
*/5 * * * * /home/oracle/scripts/check_asm.sh
Pongo un ejemplo de un envío de una alerta
¡Espero que os sirva!