[Sysadmins] зависание сервера (логи, сбор информации)

Yura Kalinichenko =?iso-8859-1?q?yuk_=CE=C1_kalina=2Ein=2Eua?=
Пн Сен 1 11:03:51 MSD 2008


master altlinux пишет:
>> Последние 2 задания в этом списке довольно IO-ёмкие, попробуйте запустить
>> их вручную.  Если зависнет, то проверьте железо.
>>
>>     
>
> Я из запускал несколько раз сразу же после перезагрузки. Ни к чему не привело.
> Сегодня вышел в ночь. Все идеально. Ни один сервер не завис. Такое
> впечатление, что на это появлияли прикладные программы. В пятницу
> начался большой обмен данными и возможно это привело к падению. Сейчас
> поставил iozone гоняться. Потом буду память на всякий случай
> проверять.
> За любые идеи - предложения - респект...
У меня тоже куча серверов под M24. Периодически (похоже, после 
logrotate) очень странно падает syslog: вроде как по всем признакам 
живой, но в журналы ничего не пишется. При этом в системе начинаются 
различные плоходиагностируемые глюки. Помогает вот такой скриптец, 
пускаемый через cron:

#!/bin/sh

addr=root

# максимально допустимый промежуток времени отсутствия записей в syslog в секундах

MAX_DELTA_SEC=3600

/etc/init.d/syslogd status >/dev/null 2>&1

status=$?

if [ $status -eq 0 ]; then

   # Получим дату/время из последней записи в syslog

   last_log_date=`tail -n 1 /var/log/messages | awk '{printf "%s %s %s",$1,$2,$3}'`

   if [ -n "$last_log_date" ]; then

      # Преобразуем в секунды с 00:00:00 1970-01-01 UTC

      last_log_date="`date --date="$last_log_date" +%s`"

      current_date="`date +%s`"

      delta=`expr $current_date - $last_log_date`

      if [ $delta -gt $MAX_DELTA_SEC ]; then

         status=2

      fi

   fi

fi

if [ $status -ne 0 ]; then

   echo "syslogd is down. Try restart..." | mail -s "ERROR syslogd" $addr

   /etc/init.d/syslogd restart >/dev/null 2>&1

fi



-- 
SY, 
   Yura Kalinichenko




Подробная информация о списке рассылки Sysadmins