Когда сайтов в обслуживании становится довольно много, появляется необходимость системного подхода к мониторингу работоспособности. Хотя бы на примитивном уровне — доступен ли сайт.
Идея следующая — сделать специальный шаблон в котором, при загрузке страницы, генерируются скриншоты сайтов.
Создание шаблона мониторинга
Создаем типа записи — сайт (это необязательно, но добавит автоматизации процессу добавления новых сайтов, чтобы не прописывать вручную). Если делать на отдельном сайте, то это не потребуется, можно использовать стандартные записи. Далее создаем шаблон в котором и будет происходить мониторинг, привязываем его к конкретной странице. Использую Api сервиса по созданию скриншотов www.s-shot.ru размечаем вывод динамических скриншотов во фрейме.
<iframe src="https://mini.s-shot.ru/?https://site.ru" width="400" height="300"></iframe>
Как вариант, можно в iframe грузить весь сайт, причем скорость загрузки страницы довольно высока. Но тут есть другая проблема: если наш сайт работает по протоколу https, то он не даст загрузить через iframe сайты с протоколом http.
Как получить изображение страницы целиком
При создании скриншотов, возник параллельный вопрос, связанный с другими целями — как получить полное изображение страницы во всю длину (не только скриншот). Недолгим поиском удалось найти несколько решений:
1. В FireFox есть встроенная функция. Вызываем командную строку Shift + F2 и пишем команду
screenshot file.png --fullpage
и нажимаем Enter. Изначально скрытые элементы на странице, необходимо загрузить прокруткой.
Если нужен скриншот а не вся страница: screenshot file.png
2. Расширение Chrome — Full Page Screen Capture. Пока не использовал.
В Chrome также можно сделать скриншот через инструменты разработчика. Вызываем DevTools (ctrl+shift+i ), вызываем консоль (ctrl+shift+p), пишем Capture full size screenshot нажимаем Enter. Скриншот автоматически загрузится.
Коды ответов протокола HTTP
1XX — Информационные.
2XX — Успех. 200 — страница существует и загружена.
3XX — Перенаправления.
4XX — Ошибки клиента.
5XX — Ошибки сервера. 500 — запущен сценарий, при выполнении которого произошла ошибка.