Здравствуйте, я хочу ещё раз вернуться к старой теме, которую создавал ранее но ответа на неё не последовало, не сизон видать был...)
сть необходимость поставить мониторинг системы, который мониторил бы apache,mysql,lan, и при проблемах, ошибках, высылал на смс и почту уведомление, наличае веб статистики плюс, но не обязательно, прошу не предлогать mon, ибо его не смог устоновить...
Ещё раз про мониторинг системы (Нужен мониторинг apache,mysql,lan)
Модератор: Модераторы разделов
-
Quicksand
- Сообщения: 575
- Статус: Характер скверный. Не женат.
- ОС: SUSE
Ещё раз про мониторинг системы
Характер скверный. Не женат.
-
serg_2006
- Сообщения: 98
Re: Ещё раз про мониторинг системы
Код: Выделить всё
#!/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: Ещё раз про мониторинг системы
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
это простите что?)
Характер скверный. Не женат.