Как автоматически перезапустить сервис Apache после ошибки HTTP 503?

Таким образом, это - как будто система является дефрагментацией база данных в цикле, затем жалуясь, когда та дефрагментация прервана заключением окна обслуживания.

Как я могу зафиксировать это поведение?

Это работает, как разработано. От: http://technet.microsoft.com/en-us/library/aa996226 (EXCHG.65) .aspx

Возможно, что этот процесс не завершается перед временем, указанным сервисом Банка сообщений Microsoft Exchange. В таком случае механизм ESE хранит последнюю таблицу, успешно обработанную. При следующем возникновении Дефрагментации Онлайн ESE выбирает следующую таблицу в метаданных и продолжит обрабатывать таблицы, пока окно обслуживания не заканчивается.. Если дефрагментация онлайн может обработать все таблицы перед концами окна обслуживания, она перезапустит за первой таблицей, перечисленной в метаданных и цикле на всех таблицах, пока окно обслуживания не закончится. Изменения, внесенные в базу данных, проведены. Поэтому большое количество удаляет операции, сопровождаемые циклом дефрагментации онлайн, генерирует большое количество журналов транзакций, потому что записи сжаты в наименьшее количество страниц числа.

Что означает, что это циклично выполнится через базы данных во время окон обслуживания.

Что касается сообщения Перекрытия Обслуживания, предложенный отправляется здесь: http://technet.microsoft.com/en-us/library/aa995795.aspx

По умолчанию, процессы техобслуживания хранилища почтового ящика, выполненные ночью с 1:00 до 5:00. Из-за ресурсов сервера, требуемых для процессов техобслуживания, рекомендуется изменить графики обслуживания так, чтобы хранилища почтового ящика имели расписания, которые отличаются по крайней мере на 15 минут.

Таким образом согласно тому, что при запуске Второго окна обслуживания Группы устройств хранения в 3:15 вместо 3:00, сообщение уйдет.

1
задан 18 February 2011 в 15:12
6 ответов

503 ошибки обычно связываются с ошибками на вручаемом приложении или ошибкой конфигурации. Это должно быть на журнале ошибок апача (если Вы не имеете журнала ошибок, включаете его на конфигурации с директивой ErrorLog и управляете тем, какой уровень регистрации ошибок Вы хотите с LogLevel).

Можно использовать monit, чтобы проверить страницу и видеть, ли код HTTP от решительной страницы в порядке, и что сделать если не (как, перезапустив апача).

2
ответ дан 3 December 2019 в 16:39

необходимо действительно решить проблему, но Вы могли выполнить что-то вроде этого для временного решения:

#!/bin/sh                                                                                                            
HTTP_STATUS=`lynx -head -source http://mysite.com |head -1 |awk '{print $2}'`                             
if [ "$HTTP_STATUS" = "503" ]                                                                                       
then                                                                                                                 
        /etc/init.d/http restart                                                                                   
fi                                                                                                                   
2
ответ дан 3 December 2019 в 16:39

Я не думаю, что Вы можете, или если. Вы намного лучше оставляете сервер как есть и пытаетесь найти корень проблемы. По моему скромному мнению, перезапуск на ошибке является плохой политикой в целом.

Если Вы все еще настаиваете, попытайтесь смотреть на что-то как ОБРАЗЕЦ, чтобы контролировать Ваши апачские журналы и действовать на 503 ошибки.

2
ответ дан 3 December 2019 в 16:39

Это - то, что я понимаю, что Вы хотите:

Вы хотите, чтобы что-то контролировало журнал и НЕМЕДЛЕННО перезапустило апача, если определенная ошибка происходит. Вы не хотите зондировать каждую минуту, просто наблюдать журнал.

Можно достигнуть этого, но это могло бы дать Вам проблему производительности, хотя это не будет стоить Вам большого количества питания сервера.

Однако! Это обычно - не хорошая идея, поскольку некоторый человек мог узнать то, что Вы искали в файле журнала и затем просто продолжаете совершать 404 ошибки с той строкой в конце URL. Но:

Отредактируйте файл конфигурации и передайте errorlog по каналу к сценарию, такому как:

ErrorLog "| /bin/bash /scripts/logMonitor.sh"

Затем создайте тот сценарий, и это могло быть что-то вроде этого:

#!/bin/bash

while read input; do

  if [[ $input == *someError* ]]; then
    echo "--- ERROR REGISTERED - RESTARTING APACHE ---" >> /tmp/err.log
    /etc/init.d/apache2 restart
  fi    

  # Always log what is thrown at us.
  echo "$input" >> /tmp/err.log

done

Это сделает то, что Вы просите, но это ужасно и не рекомендуемое.

0
ответ дан 3 December 2019 в 16:39

Я встретился с 503 ошибками, когда что-то, я - обратное проксирование позади Apache, снижается. Перезапуск сервиса, который является обратный проксированный, фиксирует его, но эта ошибка ожидается, если я закрыл тот сервис.

Возможно, некоторое расширение пытается связаться с другим сервисом, который не работает или испытывает таймаут.

0
ответ дан 3 December 2019 в 16:39

В вашем httpd.conf может быть что-то вроде следующего:

ErrorDocument 500 /cgi-bin/handle-500-error.pl[1255 visibleThat будет вызывать сценарий всякий раз, когда обнаруживается ошибка, и настраивать его для перезапуска сервера.

1
ответ дан 3 December 2019 в 16:39

Теги

Похожие вопросы