Реклама ООО Таймвэб
Реклама ООО Таймвэб

Как читать логи сервера

2 комментария
Как читать логи сервера

Что такое логи?

Краткая справка из Википедии:

Файл регистрации, протокол, журнал или лог (англ. log) — файл с записями о событиях в хронологическом порядке. Различают регистрацию внешних событий и протоколирование работы самой программы, источника записей (хотя часто всё записывается в единый файл). Например, в лог-файлы веб-сервера записывается информация, откуда пришёл тот либо иной посетитель, когда и сколько времени он провел на сайте, что там смотрел и скачивал, какой у него браузер и какой IP-адрес у его компьютера.

Для чего нужны логи?

Обычно при нормально работающем сайте лог-файлами мало кто интересуется, но когда начинает расти нагрузка на сервер, запускается рассылка спама, а сайт начинает вести себя довольно странно или изобиловать ошибками, без логов не обойтись.

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться

Как включить запись логов?

Обычно для экономии дискового пространства ведение логов на хостинге выключено.

Приведу включение записи на примере панели управления хостингом Timeweb.

В панели управления переходим во вкладку «Логи», выбираем из выпадающего сайта нужный (если их несколько) и активируем ползунок «Лог доступа (access_log)»

Настройка логов сервера

Примерно через час, когда накопится достаточное количество записей, переходим в директорию сайта и скачиваем файл.

Файловый менеджер Timeweb

Открываем в любом текстовом редакторе (на примере второй столбец, с адресом сайта закрашен).

Чтение логов

Разберем для примера строку № 49

site.ru 85.93.93.102 - - [28/Sep/2017:06:33:04 +0300] "GET /page/2/ HTTP/1.0" 200 80195 "-" "Linguee Bot (http://www.linguee.com/bot; bot@linguee.com)"
  • site.ru – адрес нашего сайта.
  • 85.93.93.102 – IP-адрес посетителя, с датой и временем посещения, а также часовым поясом.
  • GET – тип запроса, возможен вариант POST. Чем GET отличается от POST можно почитать в сети, но если говорить упрощено, GET – получение данных, POST – отправка, например авторизация.
  • page/2 – к какой странице было обращение, в нашем случае это site.ru/page/2.
  • HTTP/1.0 – протокол, по которому пришел посетитель.
  • 200 – код ответа сервера, более подробную информацию о кодах состояния можно прочитать в Википедии.
  • 80195 – количество байт полученных посетителем.
  • Linguee Bot (http://www.linguee.com/bot; bot@linguee.com) – данные о посетителе, тут также может быть информация о браузере, операционной системе, устройстве и так далее.

Итог

Даже при беглом взгляде видно, что с адреса 85.93.93.102 идет множество запросов. Обращение было как раз по чрезмерной нагрузке на сайт. Как только адрес бота Linguee Bot был запрещен, нагрузка практически сразу вернулась в норму.

Логи

И все за несколько минут, благодаря логам; без них на выяснение причины понадобилось бы гораздо больше времени. Также были замечены обращения по адресам, содержавшим вставки типа xd0\xbe\xd1\x82\xd0\xb7\ …

Тот, кто занимается «лечением» сайтов, знает, что подобные запросы могут создавать запредельные нагрузки на сервер.

Иногда самые простые методы – самые действенные, а защита на уровне сервера самая надежная.

Засим прощаюсь! 

Мой профиль в Marketplace - https://timeweb.com/ru/community/marketplace/bashkov-vladislav

VDS Timeweb арендовать

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

МИхаил Кутузов +2
07 фев в 2021
А можно как-то настроить вывод некорректных сообщений в нужный мне источник? Если посетитель получает некорректный ответ (ошибку какую-нибудь), то я бы об этом получал уведомление внятное. То есть прям кусок из лога себе на почтовый адрес к примеру или лучше сразу в мессенджер. Чтобы не пытаться постоянно нарыть самостоятельно ошибку, а они бы автоматом мне приходили. Хотя бы какие-то критические. Было бы крайне удобно.
Highly Light +1
21 янв в 2023
Если весь .log выглядит таким образом *QKAT6lNFPCtfPIBFAPAX7n2gMAafFqhLsIQAChgMS7CIAZyISEuxM4agDVAF8Bd1mgXIVfDKBUIBfCshkwS7G5BOyNGFsBJyDEA5aRAIlvphLsFYD7Il0Mck/A7aWMAkB58Tls* как его расшифровать ,изменить и вернуть обратно?
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте