Перейти к содержимому



Так как же мониторить сайты?

#1 Yoh
Yoh
  • Оф. представитель
  • 26 сообщений
  • Репутация: 5
0

Отправлено 03 Июль 2019 - 23:56

Всем привет.
 
Относительно недавно, @re-search создал тему “Как мониторить собственный сайт?”, которая попала в горячие темы мая, однако вопрос, на мой взгляд, раскрыт до конца не был.
 
Хочу ответить на поставленный вопрос, поделиться своим опытом мониторинга и интересными сервисами.
Немного обо мне: меня зовут Евгений Русаченко, занимаюсь системным администрированием и немного программированием на протяжении 12 лет.
 
Мой мониторинг разделен на две части – внутренний и внешний. За счет внутреннего я достигаю максимальной автоматизации, внешний идет как страховка на случай, если что-то пошло не так. Разберем детальнее каждую часть.
 
Внутренний мониторинг
 
Он проверяет работу основных служб сервера, которые отвечают за сайты: Apache (отвечает за обработку PHP скриптов), Nginx (отвечает в основном за отдачу картинок и стилей) и MySQL (сервер базы данных).
 
Проверка делается консольным скриптом, который ежеминутно проверяет содержимое PHP скрипта, набора CSS стилей (делаются запросы по тестовым адресам) и содержимое базы данных.
 
Когда необходимое содержимое не найдено, то мне отправляется уведомление о проблеме (сначала на почту) и перезапускается проблемный сервис. Если при повторной проверке ошибка повторилась, то уведомление уходит на телефон (звонок + сообщение, чтобы точно не пропустить).
 
С точки зрения внутреннего мониторинга есть еще много различных частей (например: мониторинг дисков, сбор и анализ нагрузки), но это больше относится в целом к серверу. Если интересно, готов рассказать об этом в отдельной теме.
 
Внешний мониторинг
 
В целом он повторяет логику внутреннего мониторинга. Ищет заданное содержимое по определенным адресам. Чтобы минимизировать ложные срабатывания, мониторинг выполняет проверку каждые 10 минут (это необходимо для того, чтобы у внутреннего было время на самостоятельное восстановление работы сайта). Внешний мониторинг спасает в тех случаях, когда проблемы глобальны (например, упала сеть в дата-центре).
 
Немного историй и фактов
 
Мониторинг от Яндекс.Метрики: на мой взгляд достаточно непредсказуемая система. Иногда она проверяет раз в несколько минут, а когда-то пропадает на час. Если простой в час критичен, нужно использовать другие средства мониторинга. Чтобы не быть голословным, журнал запросов одного из сайтов.
 
178.154.200.61 - - [02/Jul/2019:23:28:09 +0300] "GET / HTTP/1.1" 301 178 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
5.45.207.22 - - [02/Jul/2019:23:47:03 +0300] "GET / HTTP/1.1" 200 9441 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
5.45.207.22 - - [03/Jul/2019:00:25:55 +0300] "GET / HTTP/1.1" 200 9426 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
5.45.207.22 - - [03/Jul/2019:00:28:01 +0300] "GET / HTTP/1.1" 200 9418 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
5.45.207.22 - - [03/Jul/2019:00:30:33 +0300] "GET / HTTP/1.1" 301 178 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
5.45.207.22 - - [03/Jul/2019:01:28:15 +0300] "GET / HTTP/1.1" 200 9453 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
141.8.132.2 - - [03/Jul/2019:01:37:29 +0300] "GET / HTTP/1.1" 301 178 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
5.45.207.22 - - [03/Jul/2019:02:02:02 +0300] "GET / HTTP/1.1" 200 9409 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"
141.8.132.2 - - [03/Jul/2019:02:05:55 +0300] "GET / HTTP/1.1" 200 9428 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"

Частоты мониторинга каждую минуту иногда недостаточно. Я всегда проверял доступность сайтов каждую минуту и не думал, что это сыграет злую шутку со мной в сентябре 2018 года. В один из дней мониторинг не сработал, так как сайты только изредка отдавали 500 ошибки. После того случая внутренний мониторинг стал делать по 100 запросов к тестовым адресам. При наличии 3 ошибок он высылает уведомление о проблеме.
 
Зачем проверять разные сервисы (Apache, Nginx)? Это необходимо для исключения ситуаций с частичной поломкой отображения сайтов, как была у автора прошлой темы. Например, Apache продолжает обрабатывать без ошибок PHP скрипты, а Nginx по каким-то причинам перестал отдавать картинки и стили сайта.
 
Немного полезных сервисов
  • https://smsc.ru/monitoring/ (реф) - данный сервис берет деньги только за уведомления о проблемах, очень выгодно, если сайты падают редко. Цены на сами уведомления можно посмотреть в соседнем разделе https://smsc.ru/tariffs/

    Последний раз пользовался данным сервисом в 2017 году, он имел проблемы с ложным срабатыванием (сайт работает, но уведомления о падении приходят). Общался с поддержкой, что-либо внятное сказать не смогли, пришлось отказаться от него. Если кто-то имеет опыт использования, расскажите.

  • https://monitorus.ru/tariffs/ (реф) – по цене / качество самый хороший сервис. Использую его с 2016 года в качестве основного, число заданий без ограничений, бесплатные уведомления, оплата только за сами проверки.

  • https://ping-admin.ru – имеет много точек мониторинга, для постоянного наблюдения никогда не использовал. Однако часто использую для разовой проверки доступности сайта из разных точек мира https://ping-admin.ru/free_test/

  • https://www.host-tracker.com/ru/ - неплохие ребята, использовал их до 2016 года. Цены в долларах, ушел из-за роста курса валют и поднятия цен с их стороны. Оплата только помесячная.

  • https://uptimerobot.com – мне нравится данный сервис за простой интерфейс и возможность бесплатного добавления 50 задач с уведомлениями по почте. Использую его сейчас для задач с низким приоритетом.
Надеюсь, информация была полезной для Вас. Благодаря описанным подходам в своем основном проекте https://lite.host (обсуждение) мне удалось добиться среднего UPTIME 99.995% по всем серверам за 2018 год.
 
Буду благодарен тем, кто опишет свой опыт мониторинга сайтов и интересные истории, с которыми сталкивались. Возможно мне еще есть что улучшать

 

 

Сообщение отредактировал Yoh: 03 Июль 2019 - 23:58

  • 1

#2 Sosnovskij
Sosnovskij
  • Администратор
  • 5 242 сообщений
  • Репутация: 785

Отправлено 04 Июль 2019 - 15:57

@Yoh, консольный скрипт - собственная разработка или есть в паблике?


  • 0

Блог — https://sosnovskij.ru/. Добавить меня в TelegramTwitterFacebook.



#3 Yoh
Yoh
    Topic Starter
  • Оф. представитель
  • 26 сообщений
  • Репутация: 5

Отправлено 04 Июль 2019 - 17:17

@Sosnovskij, собственная разработка, но так как она примитивная, то основной частью поделюсь в том виде, в каком она есть.

 

Скрипт services.php проверяет свободное место, файлы конфигурации и доступность Apache, Nginx, MySQL, ISPmanager, а также каждой версии PHP (от 5.2 до 7.3). Уведомления отправляет на почтовый ящик, а также по SMS и звонком (через smsc.ru). 

 

Прикрепленный файл  services.php   21,01К   Количество загрузок: 8

 

Скрипт stress.php делает 100 запросов в минуту по определенной ссылке и считает ошибки, если их более 3, то отправляет письмо на почту.

 

Прикрепленный файл  stress.php   1,85К   Количество загрузок: 10

 

В скриптах необходимо поправить порты сервисов, в некоторых случаях дополнительно настроить вывод дополнительной информации со стороны Apache и Nginx. Подготовить специальные файлы для выполнения проверки. Думаю, rnj умеет настраивать серверы и немного читать код - справятся  :) Кто не справится - пишите, постараюсь подсказать.


  • 2

#4 Yoh
Yoh
    Topic Starter
  • Оф. представитель
  • 26 сообщений
  • Репутация: 5

Отправлено 01 Август 2019 - 13:19

@cawa88, писал про него (предпоследний в списке). На мой взгляд он очень дорогой, если лет 5 назад цены были терпимые за счет низкого курса доллара, то сейчас он очень дорогой в сравнении с другими инструментами. 


  • 0

#5 Rodiola
Rodiola
  • Пользователь
  • 557 сообщений
  • Репутация: 43

Отправлено 19 Август 2019 - 15:32

@Yoh,

Надеюсь, информация была полезной для Вас.
  Да, информация полезная. Спасибо.  

Из всех сервисов, предложенных Вами, пользуюсь периодически Пинг админом. Но он не подойдет для постоянного мониторинга. Бесплатно он мониторит доступность только несколько раз в сутки. Если же настроить проверку часто (выбрать диапазон можно вплоть до раза в минуту), то цена высоковата. А если из всех точек, то вообще заоблачная получается.... 


  • 1


#6 Yoh
Yoh
    Topic Starter
  • Оф. представитель
  • 26 сообщений
  • Репутация: 5

Отправлено 20 Август 2019 - 01:42

@Rodiola, благодарю.

 

Согласен, ping-admin.ru дороговат, однако как понимаю он один из немногих, где можно настроить параллельную проверку из разных точек мира. Остальные мониторинги проверяют только из одной точки, чередуя локации.


  • 0



Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
MattCutts MattCutts 1-й за Сентябрь
Очков активности: 1 407 8 тем, 110 сообщений, 7 баллов репутации
Сайт: dmitrylee.ru
ТОП самых активных за этот месяц
  • Фотография Андрей WPM
    #1

    Андрей WPM (wpmaster.kz)
    Очков активности: 540 Вне конкурса за определение пользователя месяца

  • Фотография MattCutts
    #2

    MattCutts (dmitrylee.ru)
    Очков активности: 390 Вне конкурса за определение пользователя месяца

  • Фотография NataliaAntalia
    #3

    NataliaAntalia
    Очков активности: 210 0 тем, 35 сообщений, 4 балла репутации

  • Фотография ShowPrint
    #4

    ShowPrint (ShowPrint.ru)
    Очков активности: 162 1 тема, 15 сообщений, 6 баллов репутации

  • Фотография TimurR
    #5

    TimurR
    Очков активности: 94.5 3 темы, 12 сообщений, 3 балла репутации

  • Фотография agrx
    #6

    agrx (key-assort.ru)
    Очков активности: 54 0 тем, 9 сообщений, 4 балла репутации

  • Фотография Rexxar
    #7

    Rexxar
    Очков активности: 52.5 0 тем, 35 сообщений, 1 балл репутации

  • Фотография Megoydagi
    #8

    Megoydagi (24ho.ru)
    Очков активности: 42 4 темы, 16 сообщений, 1 балл репутации

  • Фотография BLIK
    #9

    BLIK
    Очков активности: 42 0 тем, 7 сообщений, 4 балла репутации

  • Фотография pozitron123
    #10

    pozitron123
    Очков активности: 33 1 тема, 8 сообщений, 2 балла репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 27.09.2019
  • Яндекс выдача: 18.10.2019
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru