Скрипт проверки на (bad gateway 502)

12
Goldsnich
На сайте с 17.07.2011
Offline
52
1610

У меня есть проблема с одним сервером, иногда там как бы подвисает apache. На сервере установлен nginx+apache. Получается что apache работает, pidof apache2 подтверждает, но он не принимает никакие запросы от nginx и соответственно nginx после таймаута выдает (bad gateway 502). В логах apache ничего подозрительного не нашла, поэтому есть идея проверять через cron переодически apache на предмет работоспособности и если ее нет, делать перезапуск его.

Каким образом можно отлавить ответ от nginx 502 и послать команду на перезапуск apache ?

Покупаю сайты с доходом sape и др. (http://goldsnich.com/sell/)
N
На сайте с 06.05.2007
Offline
419
#1

Goldsnich, начните тогда с настройки monit - это сравнительно простой способ.

Кнопка вызова админа ()
Goldsnich
На сайте с 17.07.2011
Offline
52
#2

Спасибо, честно говоря и не знала о таком. Но всеже есть сомнения что сможет замониторить зависший apache.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#3

Goldsnich, Ответьте в icq помогу

Ваш DEVOPS
Goldsnich
На сайте с 17.07.2011
Offline
52
#4

Сама нашла решение


#!/bin/bash
status=$(awk 'BEGIN {"curl -sI http://google.com" | getline; print "" $2}')
if [ $status = 502 ]; then
service apache2 restart
else
echo "Apache up and running"
fi

status дает нам текущий http ответ и если он равен 502, тогда перезапускаем apache.

[umka]
На сайте с 25.05.2008
Offline
456
#5

Перезапуск апача в этой ситуации — костыли.

Тоже самое, что лечить перелом ноги обезболивающими препаратами.

Нужно искать причину возникновения 502 и её устранять.

Лог в помощь!
Goldsnich
На сайте с 17.07.2011
Offline
52
#6

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

K5
На сайте с 21.07.2010
Offline
209
#7

Goldsnich, включите server-status, следите за LA и процессами по htop(top), ping-admin.ru подключите - это для начала.

ловите моменты падения и проверяйте логи апача (основной и сайтов) нгикс, мускл, системный лог

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
soko1
На сайте с 02.05.2014
Offline
3
#8

Лучше разобраться по какой причине возникает эта ошибка. Советую почитать это http://webmastermix.ru/domains-and-hostings/299-oshibka-502-bad-gateway-prichiny-vozniknoveniya-i-sposoby-ustraneniya.html и попробовать найти причину.

Оперативно поможем вам в решении ваших проблем: /ru/forum/814513 (/ru/forum/814513)
N
На сайте с 06.05.2007
Offline
419
#9
Goldsnich:
Но всеже есть сомнения что сможет замониторить зависший apache.

Сомнений в monit быть не должно. Это ПО специально создано для мониторинга проблем. из "из коробки" обеспечит вам и уведомления по email, и настройку таймаутов и некоторую расширенную логику типа "если рестарт 5 подряд, то стоит на некоторое время прекратить уже дергаться" и проверку многих других параметров - там достаточно расскоментировать уже внесенные в конфиг строчки.

kgtu5:
Goldsnich, включите server-status, следите за LA и процессами по htop(top), ping-admin.ru подключите - это для начала.
ловите моменты падения и проверяйте логи апача (основной и сайтов) нгикс, мускл, системный ло

И на протяжении двух недель следить не отрываясь?

В данном случае не вижу ничего зазорного в костылях. Последнее слово за владельцем.

Goldsnich
На сайте с 17.07.2011
Offline
52
#10
netwind:
Сомнений в monit быть не должно. Это ПО специально создано для мониторинга проблем. из "из коробки" обеспечит вам и уведомления по email, и настройку таймаутов и некоторую расширенную логику типа "если рестарт 5 подряд, то стоит на некоторое время прекратить уже дергаться" и проверку многих других параметров - там достаточно расскоментировать уже внесенные в конфиг строчки.

Поставила monit, не вижу здесь прямой возможности мониторить ответы сервера (200, 502, 404). Косвенно да,


if failed host www.tildeslash.com port 80 protocol http
# and request "/somefile.html"
# then restart

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий