Sunday 25 December 2016

zones configuration script for solaris servers(server-global-nongloba)


1)copy server zone script in centeral server
2)copy global zone script in globalzones
3)copy nonglobal zone script in nonglobal zones.

# cat zones_server.sh
#!/bin/bash
#########################################
######### ################SCRIPT#######
##########Zones INFO##############
#####VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
#echo "From:xx@xx.com" >"/tmp/output1"

echo "To:yy@yycom" >"/tmp/output1"

echo "Subject:SOLARIS B2B ZONES CONFIGURATION INFO ">>"/tmp/output1"
echo "Content-type: text/html">>/tmp/output1
echo "<html>">>"/tmp/output1"
echo "<body>">>"/tmp/output1"
echo "<table bgcolor="#e7f5fe" width=100% border='3'>">>"/tmp/output1"
echo "<tr bgcolor="#FFA500"> <td colspan="4"><center><H3> GLOBAL ZONE  INFORMATION </H3></center></td> <td colspan="4"><center><H3> LOCAL ZONE  INFORMATION </H3></center></td></tr>" >>"/tmp/output1"
echo "<tr bgcolor="#d1c4e9"> <td><center><H3>IP ADDRESS </H3></center></td><td><center><H3> HOSTNAME  </H3></center></td><td><center><H3> VCPU  </H3></center></td><td><center><H3> RAM  </H3></center></td> <td><center><H3>IP ADDRESS   </H3></center></td><td><center><H3> HOST NAME  </H3></center></td><td><center><H3> VCPU  </H3></center></td><td><center><H3> RAM  </H3></cent
er></td> </tr>" >>"/tmp/output1"
for i in `cat /opt/scripts/zones_server_list`
do
echo "<td> $i</td>"  >>"/tmp/output1"
ssh -q $i ' bash /opt/scripts/zones_client.sh'>>"/tmp/output1"
done
echo "</table>" >>"/tmp/output1"
echo "</body>">>"/tmp/output1"
echo "</html>">>"/tmp/output1"
cat "/tmp/output1"|/usr/sbin/sendmail -t
>"/tmp/output1"

For Global zone script:-

 # cat zones_client.sh
#!/bin/bash
#########################################
######### ################SCRIPT#######
##########Zones client INFO##############
#####VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
HOSTNAME=`uname -n`
PROC_NO=`/usr/sbin/psrinfo|wc -l`
RAM_SZ=`/usr/sbin/prtconf|grep -i "Memory size" |awk -F: '{print $2}'`
echo "<td >"$HOSTNAME"</td><td >"$PROC_NO"</td><td >"$RAM_SZ"</td>"

For Local zone script:-

 # cat zones_client.sh
#!/bin/bash
#########################################
######### ################SCRIPT#######
##########Zones client INFO##############
#####VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
HOSTNAME=`uname -n`
PROC_NO=`/usr/sbin/psrinfo|wc -l`
RAM_SZ=`/usr/sbin/prtconf|grep -i "Memory size" |awk -F: '{print $2}'`
echo "<td >"$HOSTNAME"</td><td >"$PROC_NO"</td><td >"$RAM_SZ"</td></tr>"

File system checking script for solaris servers(server-client)

1)server script will be placed in central server.
2)client script will be copied in all servers(clients)


# cat filesystems_check_server.sh
#!/bin/bash
#########################################
######### ################SCRIPT#######
##########FILE SYSTEMS CHECK##############
#####VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
#echo "From:XXXXX@gmail.com" >"/tmp/FileSystem_output"
echo "To:YYYYYY@yahoo.com" >>"/tmp/FileSystem_output"
echo "Subject:DAILY SOLARIS SERVERS FILE SYSTEMS CHECK  ">>"/tmp/FileSystem_output"
echo "Content-type: text/html">>/tmp/FileSystem_output
echo "<html>">>"/tmp/FileSystem_output"
echo "<body>">>"/tmp/FileSystem_output"
for i in `cat /opt/scripts/solaris_list`
do
ssh -q $i '/opt/scripts/filesystems_check_client.sh'>>"/tmp/FileSystem_output"
done
echo "</body>">>"/tmp/FileSystem_output"
echo "</html>">>"/tmp/FileSystem_output"
cat "/tmp/FileSystem_output"|/usr/sbin/sendmail -t
>"/tmp/FileSystem_output"





#cat filesystems_check_client.sh
#!/usr/bin/bash
#########################################
######### Chittibabu Generated SCRIPT########
######### FILE SYSTEM CHECK CLIENT##############
##VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
Node=`uname -n`
echo "<table width=100%>">>"/tmp/output_filesystemcheck"
echo "<tr BGCOLOR="#33d7ff"><td colspan="6" align="center"> <h1> $Node</h1> </td></tr>">>"/tmp/output_filesystemcheck"
#echo "<tr> `cat /etc/hosts|grep `hostname`|grep -v "#"`">>"/tmp/output_filesystemcheck"
#echo "</tr>
FS=`df -h |grep -v Filesystem |awk '{print $6}'`
for i in `echo $FS`
do
##[[`df -h $i|grep -v Filesystem|awk '{print $5}'` -le 50]]&& echo "les 50" || echo "gre 50"
if [ `df -h $i|grep -v Filesystem|awk '{print $5}'|tr -d %` -le 80 ]
then
        echo "<TR BGCOLOR="#00FF00">">>"/tmp/output_filesystemcheck"
        f=`df -h $i|grep -v Filesystem`
        for y in `echo $f`
        do
        echo "<td> $y</td>">>"/tmp/output_filesystemcheck"
        done
        echo "</tr>">>"/tmp/output_filesystemcheck"
else
        echo "<TR BGCOLOR="#FF0000">">>"/tmp/output_filesystemcheck"
        f=`df -h $i|grep -v Filesystem`
        for y in `echo $f`
        do
        echo "<td> $y</td>">>"/tmp/output_filesystemcheck"
        done
        echo "</tr>">>"/tmp/output_filesystemcheck"
fi
done
echo "</table>">>"/tmp/output_filesystemcheck"
cat "/tmp/output_filesystemcheck"
>"/tmp/output_filesystemcheck"


Tuesday 20 December 2016

Solaris syslog monitoring script.

1)Configure all system logs to single file i.e /var/adm/messages

vi /etc/syslog.conf
##ident "@(#)syslog.conf        1.5     98/12/14 SMI"   /* SunOS 5.0 */
##
## Copyright (c) 1991-1998 by Sun Microsystems, Inc.
## All rights reserved.
##
## syslog configuration file.
##
## This file is processed by m4 so be careful to quote (`') names
## that match m4 reserved words.  Also, within ifdef's, arguments
## containing commas must be quoted.
##
#*.err;kern.notice;auth.notice                  /dev/sysmsg
#*.err;kern.debug;daemon.notice;mail.crit       /var/adm/messages
#
#*.alert;kern.err;daemon.err                    operator
#*.alert                                                root
#
#*.emerg                                                *
#
## if a non-loghost machine chooses to have authentication messages
## sent to the loghost machine, un-comment out the following line:
#auth.notice                    ifdef(`LOGHOST', /var/log/authlog, @loghost)
#
#mail.debug                     ifdef(`LOGHOST', /var/log/syslog, @loghost)
#
##
## non-loghost machines will use the following lines to cause "user"
## log messages to be logged locally.
##
#ifdef(`LOGHOST', ,
#user.err                                       /dev/sysmsg
#user.err                                       /var/adm/messages
#user.alert                                     `root, operator'
#user.emerg                                     *
#)
*.debug                                         /var/adm/messages
~
:wq!




#svcadm refresh system-log
#svcadm restart system-log


2)deploy server script on  centeral server.

server script:-

#!/bin/bash
#########################################
######### ################SCRIPT#######
##########SYS LOGS INFO##############
#####VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
echo "From:chitti.babu@gmail.com" >"/tmp/syslog_output"
echo "To:chitti.babu@yahoo.com" >"/tmp/syslog_output"
echo "Subject:SOLARIS SERVERS SYSLOG  ">>"/tmp/syslog_output"
echo "Content-type: text/html">>/tmp/syslog_output
echo "<html>">>"/tmp/syslog_output"
echo "<body>">>"/tmp/syslog_output"
echo "<table>">>"/tmp/syslog_output"
for i in `cat /opt/scripts/solaris_list`
do
echo "<tr bgcolor=#FFB6C1><td align=center> $i</td></tr>"  >>"/tmp/syslog_output"
echo "<tr><td><pre>" >> "/tmp/syslog_output"
ssh -q $i '/opt/scripts/syslogs_client.sh'>>"/tmp/syslog_output"
echo "</pre></td></tr>" >> "/tmp/syslog_output"
done
#/bin/dmesg|grep ^"`date \"+%b %e\"`"|egrep -v "xntp|keyboard|wrong magic number|mail|auth.info|ntpdate|repeated|Duplicate|bpcd|Plugin">>"/tmp/syslog_output"
echo "</table>" >>"/tmp/syslog_output"
echo "</body>">>"/tmp/syslog_output"
echo "</html>">>"/tmp/syslog_output"
cat "/tmp/syslog_output"|/usr/sbin/sendmail -t
>"/tmp/syslog_output"





3)deploy client script on all clients

client script:-

# cat syslogs_client.sh
#!/bin/bash
#########################################
######### ################SCRIPT#######
##########SYS LOGS INFO##############
#####VERSION=1.0############################
##DESIGN&IMPLEMENTED:CHITTIBABU MIRIYALA#
#########################################
/bin/dmesg|grep ^"`date \"+%b %e\"`"|egrep -v "xntp|keyboard|wrong magic number|mail|auth.info|ntpdate|repeated|Duplicate|bpcd|Plugin"