2016-05-22 3 views
0

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

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

Мы предположили, что сценарий оболочки похож на хвост журнала и grep все ошибки 5xx в отдельный файл, а другой скрипт оболочки, который будет запущен cron, проверяет файл, если ошибка повторяется за количество раз за указанное время.

Моя проблема в том, что uRL не всегда одинаковы, поэтому мне нужно grep файл, который имеет все ошибки 5XX, и вам нужно увидеть, повторяются ли URL-адреса и время.

Может ли кто-нибудь предложить мне некоторую логику, как я могу фильтровать такие ошибки. Я старался быть ясным, но не уверен, что это правильный способ объяснить проблему.

Журналы бита модифицированы значениями, но формат одинаковый.

x.x.x.x, y.y.y.y - - [11/May/2016:08:29:05 +0800](0) "HTTPS" "GET /html/js/barebone.jsp?browserId=other&themeId=expressportal_WAR_expressportaltheme&colorSchemeId=01&minifierType=js&minifierBundleId=javascript.barebone.files&languageId=en_US&b=6200&t=1462268846000 HTTP/1.1" 502 319 "https://myportal.test.com/web/guest/home" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" 


x.x.x.x, y.y.y.y - - [11/May/2016:08:29:05 +0800](0) "HTTPS" "GET /combo/?browserId=other&minifierType=&languageId=en_US&b=6200&t=1462268846000&/html/js/aui/event-touch/event-touch-min.js&/html/js/aui/event-move/event-move-min.js HTTP/1.1" 502 319 "https://myportal.test.com/web/guest/home" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" 


x.x.x.x, y.y.y.y - - [11/May/2016:08:29:05 +0800](0) "HTTPS" "GET /html/js/liferay/available_languages.jsp?browserId=other&themeId=expressportal_WAR_expressportaltheme&colorSchemeId=01&minifierType=js&languageId=en_US&b=6200&t=1462268846000 HTTP/1.1" 502 319 "https://myportal.test.com/web/guest/home" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" 


x.x.x.x, y.y.y.y - - [11/May/2016:08:29:05 +0800](0) "HTTPS" "GET /combo/?browserId=other&minifierType=&languageId=en_US&b=6200&t=1462268846000&/html/js/aui/widget-stack/assets/skins/sam/widget-stack.css HTTP/1.1" 502 319 "https://myportal.test.com/web/guest/home" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" 
+2

Можете ли вы дать несколько журналов, например? – avivb

+0

Hi Avivb, из-за ограничения количества слов в комментарии добавил журналы выше. Спасибо, что проверил мой вопрос. –

ответ

1

Действительно ли вы на 100% уверены, что перезапуск исправляет 500 ошибок? Если да, то эта строка в кронтабе должна сделать:

tail -n 100 /var/log/apache2/error.logs | awk '{if ($9 >= 500) {nb += 1}} END {if (nb > 10) {exit 1}}' /var/log/apache2/access.log || service apache2 restart 

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

Сначала думаю, что я могу подумать: обновите свой Apache, если он не обновлен.

+0

Привет, Жюльен, Спасибо, что дали решение, но моя проблема другая. Ошибка 500 не сбивает сервер, вместо этого он дает 500 для некоторого запроса и восстанавливается, но один раз в неделю один из серверов (у нас 3 сервера) падает. Поэтому нам нужно проверить шаблон ошибки, а затем решить, нужен ли нам перезапуск. –

+0

У вас есть диагноз (путем чтения журналов? Strace? Whatever), если 500 создаются Apache или бэкэнд? –

+0

Проблема не ясна, и поэтому мы пытаемся работать над перезагрузкой веб-сервера с использованием сценария. –

Смежные вопросы