Monday, August 11, 2008

PHP script to monitor servers.


<title>Code</title>

<title>Server Status</title>

<center> <b><font style="" size="5" face="Times New Roman,Times,serif"> Servers - Status of critical services </font></b> </center>

<p><font style="" size="2" face="Verdana,Arial,Helvetica,sans-serif">

<b>Servers</b> ";
for( $j=0; $servicenames[$j]; $j++)
{ echo "<font color="blue"> <b> $servicenames[$j]</b></font> "; }


$serviceports_array = $ini_array['service_ports'];
$serviceports = explode (",",$serviceports_array);
sort($serviceports,SORT_NUMERIC);

for($i=0;$hostnames[$i];$i++)
{
$hostname = $hostnames[$i];
$port_array = $ini_array[$hostname];
$ports = explode (",",$port_array);
sort ($ports,SORT_NUMERIC);

echo " <font color="green"> <b> $hostname </b></font> ";
for($m=0,$n=0;$serviceports[$m];$m++)
{ if ($serviceports[$m] == $ports[$n])
{ disp_status($hostname,$ports[$n],'Y'); $n++;
} else {
disp_status($hostname,$ports[$n],'N');}
}
}

function disp_status($_hostname, $_port, $_status){

error_reporting(0);
// header("Content-type: image/gif");
if ($_status == 'Y')
{
$fp = fsockopen($_hostname, $_port);
if (!$fp)
{ echo " <img src="http://www.blogger.com/%27offline.png%27">";}
else
{ echo " <img src="http://www.blogger.com/%27online.png%27">";}
fclose($fp);
}
else
{ echo " <img src="http://www.blogger.com/%27NA.png%27">";}
}

?>


</font>
</p><p> <b>KEY : <img src="http://www.blogger.com/%27offline.png%27"> OFFLINE <img src="http://www.blogger.com/%27online.png%27"> ONLINE <img src="http://www.blogger.com/%27NA.png%27"> NOT MONITORED </b></p><b>



</b>

Wednesday, August 06, 2008

DBORA script for oracle startup in RHEL



[root@myserver ~]# cat /etc/init.d/dbora
#!/bin/bash
#
# chkconfig: 345 60 50
# description: Oracle auto start-stop script.

# Modify the variables $ORA_HOME, $ORA_OWNER and $LOG as appropriate for each server.
# - Nabeel Moidu

# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network

# Modify the variables $ORA_HOME, $ORA_OWNER and $LOG as appropriate for each server.
# - Nabeel Moidu
ORA_HOME=/u01/oracle/product/10.2.0.1
ORA_OWNER=ora10g
LOG=$ORA_HOME/log/server/dbora/dbora.log


if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit
fi

case "$1" in
start)
echo "$0: starting up" >> $LOG
# Start the Oracle databases:
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart &" >> $LOG
# Start Oracle listener
date >> $LOG
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> $LOG 2>&1
touch /var/lock/subsys/dbora
echo "Refer to $LOG for details"
;;
stop)
echo "$0: stopping down" >> $LOG
date >> $LOG
# Stop Oracle Net
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> $LOG 2>&1
# Stop the Oracle databases:
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut &" >> $LOG
rm -f /var/lock/subsys/dbora
;;
restart)
$0 stop
sleep 120
$0 start
;;
status)
if [ -f /var/lock/subsys/dbora ]; then
echo $0 started.
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl status"
else
echo $0 stopped.
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl status"
fi
;;
*)
echo "usage: dbora {start|stop|restart|status}"
exit 1
esac
exit 0