Ещё раз про мониторинг системы (Нужен мониторинг apache,mysql,lan)

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Аватара пользователя
Quicksand
Сообщения: 575
Статус: Характер скверный. Не женат.
ОС: SUSE

Ещё раз про мониторинг системы

Сообщение Quicksand »

Здравствуйте, я хочу ещё раз вернуться к старой теме, которую создавал ранее но ответа на неё не последовало, не сизон видать был...)
сть необходимость поставить мониторинг системы, который мониторил бы apache,mysql,lan, и при проблемах, ошибках, высылал на смс и почту уведомление, наличае веб статистики плюс, но не обязательно, прошу не предлогать mon, ибо его не смог устоновить...
Характер скверный. Не женат.
Спасибо сказали:
serg_2006
Сообщения: 98

Re: Ещё раз про мониторинг системы

Сообщение serg_2006 »

Код: Выделить всё

#!/bin/sh

 PATH=/bin:/usr/bin:/sbin:/usr/sbin
 LC_ALL=C; export LC_ALL
 LANG=C; export LANG

 umask 077


 N_weekday=`date +"%w"`
 DATE=`date +"%d/%m/%Y %H:%M"`
 bak=/0

 TMPDIR=/0

 TMPMAIL=/0/reports

 CONFIGDIRS="/etc/"

 echo "" >$TMPMAIL

 echo "Checking passwd:" >>$TMPMAIL
 if [ ! -f $bak/passwd.bak ]; then
     echo "no $bak/passwd.bak" >>$TMPMAIL
     cp -p /etc/passwd $bak/passwd.bak 2>&1 >>$TMPMAIL
 fi
 if cmp -s /0/passwd.bak /etc/passwd; then :; else
     echo "$host passwd diffs:" >>$TMPMAIL
     diff    /0/passwd.bak /etc/passwd |\
     sed 's/^\([<>] [^:]*\):[^:]*:/\1:(password):/' >>$TMPMAIL
     mv $bak/passwd.bak $bak/passwd.bak2 2>&1 >>$TMPMAIL
     cp -p /etc/passwd $bak/passwd.bak 2>&1 >>$TMPMAIL
 fi

 echo "done" >>$TMPMAIL

 echo "Checking shadow:" >>$TMPMAIL
 # Shadow
 if [ ! -f $bak/shadow.bak ]; then
     echo "no $bak/shadow.bak" >>$TMPMAIL
     cp -p /etc/shadow $bak/shadow.bak 2>&1 >>$TMPMAIL
 fi
 if cmp -s $bak/shadow.bak /etc/shadow; then :; else
     echo "$host shadow diffs:" >>$TMPMAIL
     diff    $bak/shadow.bak /etc/shadow |\
     sed 's/^\([<>] [^:]*\):[^:]*:/\1:(password):/' >>$TMPMAIL
     mv $bak/shadow.bak $bak/shadow.bak2 2>&1 >>$TMPMAIL
     cp -p /etc/shadow $bak/shadow.bak 2>&1 >>$TMPMAIL
 fi
 echo "done" >>$TMPMAIL

 echo "Checking group:" >>$TMPMAIL
 # Groups
 if [ ! -f $bak/group.bak ]; then
     echo "no $bak/group.bak" >>$TMPMAIL
     cp -p /etc/group $bak/group.bak 2>&1 >>$TMPMAIL
 fi
 if cmp -s $bak/group.bak /etc/group; then :; else
     echo "$host group diffs:" >>$TMPMAIL
     diff -u $bak/group.bak /etc/group >>$TMPMAIL
     mv $bak/group.bak $bak/group.bak2 2>&1 >>$TMPMAIL
     cp -p /etc/group $bak/group.bak 2>&1 >>$TMPMAIL
 fi
 echo "done" >>$TMPMAIL

 echo "Checking tcpwrapper config files:" >>$TMPMAIL
 for i in hosts.deny hosts.allow; do
     if [ -f /etc/$i ]; then
     if [ ! -f $bak/$i.bak ]; then
         echo "no $bak/$i.bak" >>$TMPMAIL
         cp -p /etc/$i $bak/$i.bak 2>&1 >>$TMPMAIL
     fi
     if cmp -s $bak/$i.bak /etc/$i; then :; else
         echo "$host $i diffs:" >>$TMPMAIL
         diff -u $bak/$i.bak /etc/$i >>$TMPMAIL
         mv $bak/$i.bak $bak/$i.bak2 2>&1 >>$TMPMAIL
         cp -p /etc/$i $bak/$i.bak 2>&1 >>$TMPMAIL
     fi
     fi
 done
 echo "done" >>$TMPMAIL


 find $CONFIGDIRS -mtime -1 -type f -print > $TMPDIR/change.$N_weekday.lst
 CHLIST=`cat $TMPDIR/change.$N_weekday.lst`
 if [ -n "$CHLIST" ]; then
 tar cvfz $BACKUPDIR/$HOSTNAME.$N_weekday $CHLIST >/dev/null 2>/dev/null
 cat $TMPDIR/change.$N_weekday.lst >> $TMPMAIL
 fi
 if [ "$N_weekday" = "$CONFARCDAY" ]; then
 rm -f $BACKUPDIR/$HOSTNAME >/dev/null 2>/dev/null
 tar cvfz $BACKUPDIR/$HOSTNAME $CONFIGDIRS >/dev/null 2>/dev/null
 fi


 echo "" >>$TMPMAIL
 echo "" >>$TMPMAIL
 echo "Checking subsystem status:" >>$TMPMAIL
 echo "" >>$TMPMAIL
 echo "disks:" >>$TMPMAIL
 df -k -l >>$TMPMAIL
 echo "" >>$TMPMAIL
 echo "mail:" >>$TMPMAIL


 echo "" >>$TMPMAIL
 echo "network:" >>$TMPMAIL
 if [ -x /sbin/ip ]; then
     /sbin/ip -s link >>$TMPMAIL
 else
     netstat -ni >>$TMPMAIL
 fi


 if [ -d /var/spool/rwho ]; then
     if [ -n "`ls -1 /var/spool/rwho/`" ]; then
     A="`ruptime -t`"
     if [ -n "$A" ]; then
         echo "" >>$TMPMAIL
         echo "hosts uptimes:" >>$TMPMAIL
         echo "$A"  >>$TMPMAIL
     fi
     fi
 fi
Спасибо сказали:
Аватара пользователя
Quicksand
Сообщения: 575
Статус: Характер скверный. Не женат.
ОС: SUSE

Re: Ещё раз про мониторинг системы

Сообщение Quicksand »

serg_2006 писал(а):
11.06.2006 13:57

Код: Выделить всё

#!/bin/sh

 PATH=/bin:/usr/bin:/sbin:/usr/sbin
 LC_ALL=C; export LC_ALL
 LANG=C; export LANG

 umask 077


 N_weekday=`date +"%w"`
 DATE=`date +"%d/%m/%Y %H:%M"`
 bak=/0

 TMPDIR=/0

 TMPMAIL=/0/reports

 CONFIGDIRS="/etc/"

 echo "" >$TMPMAIL

 echo "Checking passwd:" >>$TMPMAIL
 if [ ! -f $bak/passwd.bak ]; then
     echo "no $bak/passwd.bak" >>$TMPMAIL
     cp -p /etc/passwd $bak/passwd.bak 2>&1 >>$TMPMAIL
 fi
 if cmp -s /0/passwd.bak /etc/passwd; then :; else
     echo "$host passwd diffs:" >>$TMPMAIL
     diff    /0/passwd.bak /etc/passwd |\
     sed 's/^\([<>] [^:]*\):[^:]*:/\1:(password):/' >>$TMPMAIL
     mv $bak/passwd.bak $bak/passwd.bak2 2>&1 >>$TMPMAIL
     cp -p /etc/passwd $bak/passwd.bak 2>&1 >>$TMPMAIL
 fi

 echo "done" >>$TMPMAIL

 echo "Checking shadow:" >>$TMPMAIL
 # Shadow
 if [ ! -f $bak/shadow.bak ]; then
     echo "no $bak/shadow.bak" >>$TMPMAIL
     cp -p /etc/shadow $bak/shadow.bak 2>&1 >>$TMPMAIL
 fi
 if cmp -s $bak/shadow.bak /etc/shadow; then :; else
     echo "$host shadow diffs:" >>$TMPMAIL
     diff    $bak/shadow.bak /etc/shadow |\
     sed 's/^\([<>] [^:]*\):[^:]*:/\1:(password):/' >>$TMPMAIL
     mv $bak/shadow.bak $bak/shadow.bak2 2>&1 >>$TMPMAIL
     cp -p /etc/shadow $bak/shadow.bak 2>&1 >>$TMPMAIL
 fi
 echo "done" >>$TMPMAIL

 echo "Checking group:" >>$TMPMAIL
 # Groups
 if [ ! -f $bak/group.bak ]; then
     echo "no $bak/group.bak" >>$TMPMAIL
     cp -p /etc/group $bak/group.bak 2>&1 >>$TMPMAIL
 fi
 if cmp -s $bak/group.bak /etc/group; then :; else
     echo "$host group diffs:" >>$TMPMAIL
     diff -u $bak/group.bak /etc/group >>$TMPMAIL
     mv $bak/group.bak $bak/group.bak2 2>&1 >>$TMPMAIL
     cp -p /etc/group $bak/group.bak 2>&1 >>$TMPMAIL
 fi
 echo "done" >>$TMPMAIL

 echo "Checking tcpwrapper config files:" >>$TMPMAIL
 for i in hosts.deny hosts.allow; do
     if [ -f /etc/$i ]; then
     if [ ! -f $bak/$i.bak ]; then
         echo "no $bak/$i.bak" >>$TMPMAIL
         cp -p /etc/$i $bak/$i.bak 2>&1 >>$TMPMAIL
     fi
     if cmp -s $bak/$i.bak /etc/$i; then :; else
         echo "$host $i diffs:" >>$TMPMAIL
         diff -u $bak/$i.bak /etc/$i >>$TMPMAIL
         mv $bak/$i.bak $bak/$i.bak2 2>&1 >>$TMPMAIL
         cp -p /etc/$i $bak/$i.bak 2>&1 >>$TMPMAIL
     fi
     fi
 done
 echo "done" >>$TMPMAIL


 find $CONFIGDIRS -mtime -1 -type f -print > $TMPDIR/change.$N_weekday.lst
 CHLIST=`cat $TMPDIR/change.$N_weekday.lst`
 if [ -n "$CHLIST" ]; then
 tar cvfz $BACKUPDIR/$HOSTNAME.$N_weekday $CHLIST >/dev/null 2>/dev/null
 cat $TMPDIR/change.$N_weekday.lst >> $TMPMAIL
 fi
 if [ "$N_weekday" = "$CONFARCDAY" ]; then
 rm -f $BACKUPDIR/$HOSTNAME >/dev/null 2>/dev/null
 tar cvfz $BACKUPDIR/$HOSTNAME $CONFIGDIRS >/dev/null 2>/dev/null
 fi


 echo "" >>$TMPMAIL
 echo "" >>$TMPMAIL
 echo "Checking subsystem status:" >>$TMPMAIL
 echo "" >>$TMPMAIL
 echo "disks:" >>$TMPMAIL
 df -k -l >>$TMPMAIL
 echo "" >>$TMPMAIL
 echo "mail:" >>$TMPMAIL


 echo "" >>$TMPMAIL
 echo "network:" >>$TMPMAIL
 if [ -x /sbin/ip ]; then
     /sbin/ip -s link >>$TMPMAIL
 else
     netstat -ni >>$TMPMAIL
 fi


 if [ -d /var/spool/rwho ]; then
     if [ -n "`ls -1 /var/spool/rwho/`" ]; then
     A="`ruptime -t`"
     if [ -n "$A" ]; then
         echo "" >>$TMPMAIL
         echo "hosts uptimes:" >>$TMPMAIL
         echo "$A"  >>$TMPMAIL
     fi
     fi
 fi

это простите что?)
Характер скверный. Не женат.
Спасибо сказали: