Лог файлы что это
Что такое логи Linux ? Все системы Linux создают и хранят файлы логов информации для процессов загрузки, приложений и других событий. Эти файлы могут быть полезным ресурсом для устранения неполадок системы.
Большинство файлов логов Linux хранятся в простом текстовом файле ASCII и находятся в каталоге и подкаталоге /var/log . Логи создаются системным демоном логов Linux, syslogd или rsyslogd .
В этом руководстве вы узнаете, как находить и читать файлы логов Linux, а также настраивать демон ведения системных логов.
Деление лог файлов по типам
Хорошим тоном считается деление файлов по типам. Типов может быть множество. В основном встречаем два:
- файл с нормальными ответами.
Выше привел файл с нормальными ответами. Вот лога ошибок у меня нет. Точнее есть, но он пустой. Нет ошибок в работе сервера.
Как просматривать логи Linux
1. Сначала откройте терминал Linux как пользователь root. Это позволит получить root-права.
2. Используйте следующую команду для просмотра папки где находятся файлов логов:
3. Чтобы просмотреть логи, введите следующую команду:
Команда отображает все файлы логов Linux, такие как kern.log и boot.log . Эти файлы содержат необходимую информацию для правильного функционирования операционной системы.
Доступ к файлам логов осуществляется с использованием привилегий root. По определению, root - это учетная запись по умолчанию, которая имеет доступ ко всем файлам Linux.
Используйте следующий пример строковой команды для доступа к соответствующему файлу:
sudo less [ log name here ]. log
Эта команда отображает временную шкалу всей информации, относящейся к этой операции.
Обратите внимание, что файлы логов хранятся в виде обычного текста, поэтому их можно просматривать с помощью следующих стандартных команд:
- zcat - Отображает все содержимое logfile.gz
- zmore - Просмотр файла по страницам, не распаковывая файлы
- zgrep - Поиск внутри сжатого файла
- grep - Найти все вхождения поискового запроса в файле или отфильтровать файл логов
- tail - Выводит последние несколько строк файлов
- head - Просмотр самого начала текстовых файлов
- vim - Просмотр при помощи текстового редактора vim
- nano - Просмотр при помощи текстового редактора nano
Графические интерфейсы для просмотра файлов логов Linux
System Log Viewer - это графический интерфейс, который можно использовать для отслеживания системных логов.
Интерфейс предоставляет несколько функций для управления логами, включая отображение статистики лога. Это удобный графический интерфейс для мониторинга логов.
В качестве альтернативы можно использовать Xlogmaster , который может отслеживать значительное количество файлов логов.
Xlogmaster полезен для повышения безопасности. Он переводит все данные для выделения и скрытия строк и отображает эту информацию для выполнения действий, запрошенных пользователем.
Как включить запись логов?
Обычно для экономии дискового пространства ведение логов на хостинге выключено.
Приведу включение записи на примере панели управления хостингом Timeweb.
В панели управления переходим во вкладку «Логи», выбираем из выпадающего сайта нужный (если их несколько) и активируем ползунок «Лог доступа (access_log)»
Примерно через час, когда накопится достаточное количество записей, переходим в директорию сайта и скачиваем файл.
Открываем в любом текстовом редакторе (на примере второй столбец, с адресом сайта закрашен).
Разберем для примера строку № 49
Даже при беглом взгляде видно, что с адреса 85.93.93.102 идет множество запросов. Обращение было как раз по чрезмерной нагрузке на сайт. Как только адрес бота Linguee Bot был запрещен, нагрузка практически сразу вернулась в норму.
И все за несколько минут, благодаря логам; без них на выяснение причины понадобилось бы гораздо больше времени. Также были замечены обращения по адресам, содержавшим вставки типа xd0\xbe\xd1\x82\xd0\xb7\ …
Тот, кто занимается «лечением» сайтов, знает, что подобные запросы могут создавать запредельные нагрузки на сервер.
Иногда самые простые методы – самые действенные, а защита на уровне сервера самая надежная.
Какая информация хранится в логах и как ее интерпретировать?
Для большинства пользователей содержимое log-файлов это бессмысленный набор символов. Как читать логи, чтобы понять, что в них зашифровано?
Строка access.log сервера содержит:
- адрес ресурса;
- IP-адрес пользователя;
- дата и время посещения, часовой пояс;
- GET/POST – запрос на получение или отправку данных;
- к какой странице обращались;
- протокол пользователя (как зашел на ресурс);
- код отклика сервера;
- число переданных байтов;
- информация о посетителе (боте) – устройство, ОС, другие данные.
Как правило, такой информации достаточно, чтобы проанализировать ситуацию и сделать нужные выводы. Например, заблокировать бота, который создал чрезмерную нагрузку на сайт.
Файл ошибок (error.log) регистрирует моменты, когда что-то пошло не так. Из них можно узнать:
Конечно, даже после расшифровки, данных логов еще нужно проанализировать. Для этого существует различное ПО, которое помогает отрабатывать данные из логов – Weblog Expert, WebAlyzer, Analog, Webtrends, Awstats, SpyLOG Flexolyzer и другие платные и бесплатные программы.
Журналирование является основным источником информации о работе системы и ее ошибках. В этом кратком руководстве рассмотрим основные аспекты журналирования операционной системы, структуру каталогов, программы для чтения и обзора логов.
Коды лога сервера
Можно особо не заморачиваться, если понимать общий принцип кодов. Он прост. Первая цифра определяет группу кодов. Последние уточняют сам код.
2хх - всё хорошо и ответ получен
3хх - ответ получен, но будет перенаправление
4хх - ответ получен, но в результате объект недоступен. Сайт доступен, но материала нет.
5хх - ошибка сервера. Тут проблемы глобальные. Или база данных рухнула или сервер полетел.
Для чего нужны логи?
Обычно при нормально работающем сайте лог-файлами мало кто интересуется, но когда начинает расти нагрузка на сервер, запускается рассылка спама, а сайт начинает вести себя довольно странно или изобиловать ошибками, без логов не обойтись.
Как настроить файлы логов в Ubuntu и CentOS
Начнем с примера CentOS. Чтобы просмотреть пользователей, которые в настоящее время вошли на сервер Linux, введите команду who от имени пользователя root:
Логи – это инструмент, при помощи которого можно отслеживать рабочий процесс сервера или сайта. Поэтому знать, как читать логи это полезное умение для выявления сбоев в работе ПО, быстрого и результативного реагирования на другие проблемы (выявление злонамеренных действий), эффективного анализа рабочий процесс, противодействия DDoS-атакам.
Содержание:
Типы логов и где их найти
Месторасположение логов зависит от используемого ПО, настроек, прописанного админом пути. Чаще всего server logs сохраняются в var/log/. Однако, не все сервисы помещают файлы регистрации в эту директорию. В любом случае, можно уточнить такую информацию у веб-хостера.
У дистрибутивов Linux CentOS или Fedora логи серверной машины лежат в /var/log/. Там можно найти:
- файл регистрации ошибок error.log;
- данные о доступах log;
- основной системный журнал syslog;
- файл загрузки ОС dmesg;
- журнал nginx.
Лог ошибок MySQL ($hostname.err) хранится в /var/lib/mysql/. Для Debian или Ubuntu местоположение логов аналогично, за исключением log file ошибок MySQL: /mysql/error.log. А также – логи веб сервера Apache сохраняются по пути /var/log/apache2.
У ОС Windows дружной метод структурирования log-файлов. События делятся на несколько уровней:
- предупреждение – Warning;
- подробности (System и EventData);
- ошибка – Error;
- сведения – Information;
- критический – Critical.
Их можно отсортировать или отфильтровать и выбрать необходимое.
Запуск и отключение логов осуществляется с административной панели. Как правило, доступ через раздел «журнал» или «логи». При этом стоит учитывать, что файлы не сохраняются годами. Поэтому, при необходимости посмотреть log, это нужно сделать своевременно.
Основные лог файлы
Все файлы журналов, можно отнести к одной из следующих категорий:
Большинство же лог файлов содержится в директории /var/log .
Для каждого дистрибутива будет отдельный журнал менеджера пакетов.
- /var/log/yum.log — Для программ установленных с помощью Yum в RedHat Linux.
- /var/log/emerge.log — Для ebuild -ов установленных из Portage с помощью emerge в Gentoo Linux.
- /var/log/dpkg.log — Для программ установленных с помощью dpkg в Debian Linux и всем семействе родственных дистрибутивах.
И немного бинарных журналов учета пользовательских сессий.
- /var/log/lastlog — Последняя сессия пользователей. Прочитать можно командой last .
- /var/log/tallylog — Аудит неудачных попыток входа в систему. Вывод на экран с помощью утилиты pam_tally2 .
- /var/log/btmp — Еже один журнал записи неудачных попыток входа в систему. Просто так, на всякий случай, если вы еще не догадались где следует искать следы активности взломщиков.
- /var/log/utmp — Список входов пользователей в систему на данный момент.
- /var/log/wtmp — Еще один журнал записи входа пользователей в систему. Вывод на экран командой utmpdump .
И другие журналы
Так как операционная система, даже такая замечательная как Linux, сама по себе никакой ощутимой пользы не несет в себе, то скорее всего на сервере или рабочей станции будет крутится база данных, веб сервер, разнообразные приложения. Каждое приложения или служба может иметь свой собственный файл или каталог журналов событий и ошибок. Всех их естественно невозможно перечислить, лишь некоторые.
В домашнем каталоге пользователя могут находится журналы графических приложений, DE.
- ~/.xsession-errors — Вывод stderr графических приложений X11.
Чем просматривать — lnav
Недавно я обнаружил еще одну годную и многообещающую, но слегка еще сыроватую, утилиту — lnav, в расшифровке Log File Navigator.
Установка пакета как обычно одной командой.
Навигатор журналов lnav понимает ряд форматов файлов.
- Access_log веб сервера.
- CUPS page_log
- Syslog
- glog
- dpkg.log
- strace
- Произвольные записи с временными отметками
- gzip, bzip
- Журнал VMWare ESXi/vCenter
Что в данном случае означает понимание форматов файлов? Фокус в том, что lnav больше чем утилита для просмотра текстовых файлов. Программа умеет кое что еще. Можно открывать несколько файлов сразу и переключаться между ними.
Программа умеет напрямую открывать архивный файл.
Кроме этого поддерживается подсветка синтаксиса, дополнение по табу и разные полезности в статусной строке. К недостаткам можно отнести нестабильность поведения и зависания. Надеюсь lnav будет активно развиваться, очень полезная программа на мой взгляд.
Логи сервера это текстовые файлы, которые генерирует сервер для протоколирования доступа к нему.
Текстовый файл может быть без расширения. Находится обычно в папке logs на сервере. В него заносятся результаты обращений к серверу.
Что такое логи и зачем они нужны
Логи (log) – это специальные текстовые файлы, в которых в хронологическом порядке фиксируется информация обо всех действиях программы или пользователей. Проще говоря, это журнал регистрации всех событий происходивших в системе:
- ошибки сервера (сбои), возникающие при обращении к некоторым функциям сайта или задачам;
- данные о доступе – запись о подключении (или попытке входа) каждого пользователя, откуда и как он попал на сайт;
- прочие, записывающие информацию о работе компонентов сервера.
Логи доступа указывают на уязвимые места сайта (в случае взлома), помогают собирать статистику посещаемости, узнавать откуда проводились запросы и какие ресурсы ссылаются на этот сайт, оценивать популярность страниц. По файлам ошибок проще найти источник проблемы и оперативно устранить баги и сбои. Журналы сервера (server logs) облегчают контроль рабочего процесса серверной машины.
В файлах логов записывается и отслеживается история работы всего программного комплекса. Поэтому специалисты рекомендуют периодически просматривать их, даже если никаких подозрительных моментов не произошло. И тем более немедленно обратиться к ним, если резко возросло количество ошибок, посыпался спам или заметно увеличилась нагрузка на сервер.
Как просматривать логи Linux
1. Сначала откройте терминал Linux как пользователь root. Это позволит получить root-права.
2. Используйте следующую команду для просмотра папки где находятся файлов логов:
3. Чтобы просмотреть логи, введите следующую команду:
Команда отображает все файлы логов Linux, такие как kern.log и boot.log . Эти файлы содержат необходимую информацию для правильного функционирования операционной системы.
Доступ к файлам логов осуществляется с использованием привилегий root. По определению, root - это учетная запись по умолчанию, которая имеет доступ ко всем файлам Linux.
Используйте следующий пример строковой команды для доступа к соответствующему файлу:
sudo less [ log name here ]. log
Эта команда отображает временную шкалу всей информации, относящейся к этой операции.
Обратите внимание, что файлы логов хранятся в виде обычного текста, поэтому их можно просматривать с помощью следующих стандартных команд:
- zcat - Отображает все содержимое logfile.gz
- zmore - Просмотр файла по страницам, не распаковывая файлы
- zgrep - Поиск внутри сжатого файла
- grep - Найти все вхождения поискового запроса в файле или отфильтровать файл логов
- tail - Выводит последние несколько строк файлов
- head - Просмотр самого начала текстовых файлов
- vim - Просмотр при помощи текстового редактора vim
- nano - Просмотр при помощи текстового редактора nano
Как читать лог сервера
Разбиваем строку на части:
1. 109.173.59.49 - IP адрес с которого был запрос
2. [03/Apr/2015:12:56:18 +0300] - дата и время запроса
3. GET или POST - тип запроса, иногда можно встретить определение "метод запроса"
4. /sites/all/modules/fivestar/widgets/default/star.jpg - объект запроса
6,7. 200 434 - коды ответа сервера . В данном случае запрос прошел (код 200 ОК), но запрашиваемая страница недоступна (код 434 запрашиваемый адрес недоступен)
8. " http://linksfree.ru/content/kak-zamenit-posadochnuyu-stranicu " страница по которой был запрос (то есть страница разбивается на объекты и идет иерархический доступ)
9. "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16" - данные о постетителе , с какой системы пришел запрос
В целом это какая страница запрашивалась, с какой странице пришел запрос и что в ответ выдал сервер. А что в каком порядке утверждать не возьмусь без справочника. Главное, что общая картина понятна.
В целом иерархия такая: сайт - страница - объект на странице - объект на объекте.
Демон системных логов
Логирование осуществляется при помощи демона syslogd
Dec 19 15 : 12 : 42 backup . main . merionet . ru sbatchd [ 495 ]: sbatchd / main : ls_info () failed : LIM is down ; try later ; trying .
Dec 19 15 : 14 : 28 system . main . merionet . ru pop - proxy [ 27283 ]: Connection from 186.115 . 198.84
Dec 19 15 : 14 : 30 control . main . merionet . ru pingem [ 271 ] : office . main . merionet . ru has not answered 42 times
Dec 19 15 : 15 : 05 service . main . merionet . ru vmunix : Multiple softerrors : Seen 100Corrected Softerrors from SIMM J0201
Dec 19 15 : 15 : 16 backup . main . merionet . ru PAM_unix [ 17405 ]: ( sshd ) session closed 'for user trent
Важные системные логи Linux
Логи могут многое рассказать о работе системы. Хорошее понимание каждого типа файла поможет различать соответствующие логи.
Большинство каталогов можно сгруппировать в одну из четырех категорий:
- Системные логи (System Logs)
- Логи событий (Event Logs)
- Логи приложений (Application Logs)
- Логи обслуживания (Service Logs)
Многие из этих логов могут быть расположены в подкаталоге var/log .
Системные логи
Файлы логов необходимы для работы Linux. Они содержат значительный объем информации о функциональности системы. Наиболее распространенные файлы логов:
Методы POST и GET в лог файлах
Эти методы часто встречаются в лог файлах. Кроме них еще есть и другие.
МетодыOPTIONS · GET · HEAD · POST ·PUT · DELETE · TRACE ·CONNECT · PATCH
Метод указывает на тип операции с ресурсом. За подробностями можно снова сходить в википкдию и прочитать про методы доступа. На а тут кратенько.
GET - получить содержимое.
POST - метод обработки данных с возможностью отправки. Используется для диалога с пользователем (ввод пароля, комментария, адреса..).
Про остальные - в вики читайте.
Используете материал на своем ресурсе - ставьте ссылку на оригинал!
Спасибо! И пусть не будет ошибок 5 группы в логах!
Помог материал - поставьте лайк, оставьте комментарий. Это поможет и другим пользователям интернета найти решение аналогичной проблемы.
Файл регистрации, протокол, журнал или лог (англ. log) — файл с записями о событиях в хронологическом порядке. Различают регистрацию внешних событий и протоколирование работы самой программы, источника записей (хотя часто всё записывается в единый файл). Например, в лог-файлы веб-сервера записывается информация, откуда пришёл тот либо иной посетитель, когда и сколько времени он провел на сайте, что там смотрел и скачивал, какой у него браузер и какой IP-адрес у его компьютера.
Логи приложений
Где найти и как выглядят логи
Специалисты знают где смотреть, а обычному пользователю доступ на сервер, как правило, закрыт. Однако большинство хостингов выводит логи через графический интерфейс. Таким образом позволяя пользователям самим анализировать результаты работы сайта. Чтобы найти логи посмотрите внимательно интерфейсы панели управления сайтом.
Так выглядит папка с логами на хостинге hostland через фтп проводник:
В данном случае это запакованные текстовые файлы. Скачиваем на компьютер нужный (по дате и веремни создания), распаковываем и смотрим любым тестовым редактором.
Если затруднились найти, то почитайте справку или обратитесь в техподдержку.
Вот это, например, строки из одного такого файла
Не очень показательно тут. На самом деле одна запись занимает одну строку. Записи разделены в файле построчно. Новая запись - новая строка.
Логи не в удобочитаемом формате
Не все логи созданы в удобочитаемом формате. Некоторые предназначены только для чтения системными приложениями. Такие файлы часто связаны с информацией для входа. Они включают логи сбоев входа в систему, логи последних входов в систему и записи входа в систему.
Существуют инструменты и программное обеспечение для чтения файлов логов Linux. Они не нужны для чтения файлов, так как большинство из них можно прочитать непосредственно с терминала Linux.
Читайте также: