Если вы столкнулись с проблемами в работе сервера, первое, что нужно сделать — посмотреть логи Linux. В системный журнал записываются диагностические сообщения, поступающие от различных компонентов операционной системы, таких как ядро или службы, поэтому с большой долей вероятности причина сбоев будет найдена.
Каждое сообщение генерируется в результате возникновения какого-либо события в операционной системе. Событием может быть остановка службы, авторизации пользователя в системе или неполадки в работе приложения. События имеют определенный приоритет, в зависимости от степени критичности. В Linux различают следующие типы событий:
- emerg — авария, наивысший приоритет;
- alert — тревога;
- crit — критическое событие;
- err — ошибка;
- warn — внимание;
- notice — уведомление;
- info — информационное сообщение;
- debug — отладочная информация;
На сегодняшний день в Linux основными службами сбора логов являются rsyslog и systemd-journald, они работают независимо друг от друга и входят в состав большинства современных дистрибутивов.
Логарифмы с нуля за 20 МИНУТ! Introduction to logarithms.
rsyslog
Журналы службы находятся в директории “/var/log/” в виде обычных текстовых файлов. В зависимости от типа события, сообщения записываются в разные файлы. Например файл “/var/log/auth.log” содержит информацию о входе пользователей в систему, а в файл “/var/log/kern.log” записываются сообщения ядра. В разных дистрибутивах названия файлов могут отличаться, поэтому для точного понимания куда именно происходит запись сообщений рассмотрим файл конфигурации “/etc/rsyslog.d/50-default.conf”.
Правила описывают место хранения логов в зависимости от типа сообщения. В левой части строки указан тип сообщения в формате “[Источник].[Приоритет]”, а в правой части имя файла журнала. При записи типа сообщения можно применять символ “*”, обозначающий любое значение или параметр “none”, обозначающий исключение из списка. Рассмотрим более подробно первые два правила.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
Первое правило означает, что все сообщения принятые от механизма авторизации будут записаны в файл “/var/log/auth.log”. В этом файле будут зарегистрированы все попытки входа пользователей в систему, как удачные так и не удачные. Второе правило говорит о том, что все сообщения, кроме тех, которые связаны с авторизацией будут записаны в файл “/var/log/syslog”. Именно к этим файлам приходится обращаться наиболее часто. Следующие правила определяют место хранения журналов ядра “kern.*” и почтовой службы “mail.*”
Журналы логов можно открыть любой утилитой для просмотра текста, например less, cat, tail. Откроем файл “/var/log/auth.log”
Что такое лог (log) программы
Каждая строка файла является отдельным сообщением, поступившим от приложения или службы. Все сообщения, независимо от источника имеют единый формат и состоят из пяти частей. Рассмотрим их на примере выделенного сообщения на скриншоте.
- Дата и время регистрации сообщения — “Feb 12 06:18:33”
- Имя компьютера, с которого пришло сообщение — “vds”
- Имя программы или службы, к которой относится сообщение — “sshd”
- Идентификатор процесса, отправившего сообщение — [653]
- Текст сообщения — “Accepted password for mihail from 188.19.42.165 port 2849 ssh2”
Это был пример успешного подключения по ssh.
А так выглядит неудачная попытка:
В этом файле также фиксируется выполнение команд с повышенными правами.
Откроем файл /var/log/syslog
На скриншоте выделено сообщение о выключении сетевого интерфейса.
Для поиска нужной информации в больших текстовых файлах можно использовать утилиту grep. Найдем все сообщения от службы pptpd в файле “/var/log/syslog”
grep ‘pptpd’ /var/log/syslog
Во время диагностики можно использовать утилиту tail, которая выводит последние строки в файле. Команда “tail -f /var/log/syslog” позволит наблюдать запись логов в реальном времени.
Служба rsyslog является очень гибкой, высокопроизводительной и может использоваться для сбора логов как на локальных системах, так и на уровне предприятия. Полную документацию можно найти на официальном сайте https://www.rsyslog.com/
Ротация логов Linux
Запись логов происходит непрерывно и размер файлов постоянно растет. Механизм ротации обеспечивает автоматическое архивирование старых журналов и создание новых. В зависимости от правил, обработка журналов может выполняться ежедневно, еженедельно, ежемесячно или при достижении файлом определенного размера. По мере создания новых архивов, старые могут быть просто удалены или предварительно отправлены по электронной почте. Ротация выполняется утилитой logrotate. Основная конфигурация находится в файле “/etc/logrotate.conf”, также обрабатывается содержимое файлов в директории “/etc/logrotate.d/”
Новые правила можно записывать в основной файл конфигурации, но более правильным будет создание отдельного файла в директории “/etc/logrotate.d/” По умолчанию в директории уже содержится несколько файлов.
Рассмотрим файл “/etc/logrotate.d/rsyslog”, который содержит правила ротации для журналов службы rsyslog.
В начале правила указывается путь к файлу журнала, затем в фигурных скобках перечисляются директивы.
- rotate 7 — необходимо постоянно хранить 7 файлов
- daily — ежедневно будет создаваться новый файл
- compress — старые файлы необходимо архивировать.
На скриншоте видно, что в каталоге “/var/log/” находится основной журнал “syslog” и семь архивов, что соответствует правилам ротации.
Более подробное описание по настройке утилиты logrotate можно найти в мануале, выполнив команду “man logrotate”
journald
Служба сбора логов systemd-journald является частью системы инициализации systemd. Файлы журнал хранятся в директории “/var/log/journal/” в специальном формате и могут быть открыты с помощью утилиты journalctl. Формат записей такой же как у службы rsyslog.
Команда journalctl без параметров выводит на экран все записи, но учитывая, что объем журнала может достигать нескольких гигабайт, такой способ просмотра не подходит для практического применения. Рассмотрим некоторые опции утилиты.
- вывод записей с момента последней загрузки
journalctl -b - вывод записей за определенный период времени
journalctl -S «2020-02-17 12:00» -U «2020-02-17 12:10» - вывод записей, принятых от определенной службы
journalctl -u pptpd - вывод сообщений ядра
journalctl -k - вывод сообщений с определенным приоритетом, в данном случае будут выведены ошибки и более высокие приоритеты(crit, alert, emerg).
journalctl -p err - вывод сообщений в реальном времени
journalctl -f
Для более гибкого поиска опции можно совмещать. Выведем все ошибки службы pptpd
journalctl -u pptpd -p err
Если в качестве аргумента указать путь к исполняемому файлу, утилита выведет все сообщения, отправленные этим файлом. Выведем сообщения, отправленные файлом “/usr/bin/sudo” начиная с 04:15 18-го февраля 2020 года. Фактически будут выведены все команды, выполненные с повышенными правами.
journalctl -S «2020-02-18 04:15» /usr/bin/sudo
Для того, чтобы узнать сколько места на диске занимают файлы журнала, выполним команду
Для ограничения объема журнала размером 1Gb выполним команду
Открытие бинарных файлов
В заключении рассмотрим несколько специальных файлов в директории “/var/log/”, в которых регистрируются попытки входа пользователей в систему. Это бинарные файлы, которые могут быть открыты только специальными утилитами.
/var/log/wtmp — содержит информацию об успешном входе пользователей в систему, для открытия используется утилита last
/var/log/btmp — в файле регистрируются все неудачные попытки входа в систему, открывается командой lastb с повышенными правами. Параметр -n определяет количество выводимых строк начиная с конца файла.
/var/log/lastlog — содержит время последнего входа для каждой учетной записи, может быть открыт одноименной утилитой lastlog
Источник: profitserver.ru
Логи сервера, где искать и что означают
Логи сервера это текстовые файлы, которые генерирует сервер для протоколирования доступа к нему.
Текстовый файл может быть без расширения. Находится обычно в папке logs на сервере. В него заносятся результаты обращений к серверу.
Где найти и как выглядят логи
Специалисты знают где смотреть, а обычному пользователю доступ на сервер, как правило, закрыт. Однако большинство хостингов выводит логи через графический интерфейс. Таким образом позволяя пользователям самим анализировать результаты работы сайта. Чтобы найти логи посмотрите внимательно интерфейсы панели управления сайтом.
Так выглядит папка с логами на хостинге hostland через фтп проводник:
В данном случае это запакованные текстовые файлы. Скачиваем на компьютер нужный (по дате и веремни создания), распаковываем и смотрим любым тестовым редактором.
Если затруднились найти, то почитайте справку или обратитесь в техподдержку.
Вот это, например, строки из одного такого файла
109.173.59.49 — — [03/Apr/2015:12:56:18 +0300] «GET /sites/all/modules/fivestar/widgets/default/star.gif HTTP/1.0″ 200 434 » http://linksfree.ru/content/kak-zamenit-posadochnuyu-stranicu » «Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16» linksfree.ru
109.173.59.49 — — [03/Apr/2015:12:56:18 +0300] «POST /modules/statistics/statistics.php HTTP/1.0″ 200 — » http://linksfree.ru/content/kak-zamenit-posadochnuyu-stranicu » «Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16» linksfree.ru
195.154.188.41 — — [03/Apr/2015:12:57:52 +0300] «GET /content/pochta-dlya-domena-besplatno HTTP/1.0″ 200 35412 » http://linksfree.ru/content/pochta-dlya-domena-besplatno » «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRA 5.10 (build 5339); GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322)» linksfree.ru
195.154.188.41 — — [03/Apr/2015:12:57:53 +0300] «GET /taxonomy/term/4 HTTP/1.0″ 301 — » http://linksfree.ru/taxonomy/term/4 » «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRA 5.10 (build 5339); GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322)» linksfree.ru
Не очень показательно тут. На самом деле одна запись занимает одну строку. Записи разделены в файле построчно. Новая запись — новая строка.
Как читать лог сервера
Разбиваем строку на части:
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.gif — объект запроса
5. HTTP/1.0 — протокол по которому прошел запрос
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» — данные о постетителе , с какой системы пришел запрос
10. linksfree.ru сайт по которому идет обращение.
В целом это какая страница запрашивалась, с какой странице пришел запрос и что в ответ выдал сервер. А что в каком порядке утверждать не возьмусь без справочника. Главное, что общая картина понятна.
В целом иерархия такая: сайт — страница — объект на странице — объект на объекте.
Коды лога сервера
Подробно коды ответов в логах сервера можно посмотреть в википедии.
Можно особо не заморачиваться, если понимать общий принцип кодов. Он прост. Первая цифра определяет группу кодов. Последние уточняют сам код.
2хх — всё хорошо и ответ получен
3хх — ответ получен, но будет перенаправление
4хх — ответ получен, но в результате объект недоступен. Сайт доступен, но материала нет.
5хх — ошибка сервера. Тут проблемы глобальные. Или база данных рухнула или сервер полетел.
- 1xx: Informational (информационные):
- 100 Continue («продолжай»).
- 101 Switching Protocols («переключение протоколов»).
- 102 Processing («идёт обработка»).
- 105 Name Not Resolved («не удается преобразовать DNS-адрес сервера»).
- 2xx: Success (успешно):
- 200 OK («хорошо»).
- 201 Created («создано»).
- 202 Accepted («принято»).
- 203 Non-Authoritative Information («информация не авторитетна»).
- 204 No Content («нет содержимого»).
- 205 Reset Content («сбросить содержимое»).
- 206 Partial Content («частичное содержимое»)
- 207 Multi-Status («многостатусный»).
- 226 IM Used («использовано IM»).
- 3xx: Redirection (перенаправление):
- 300 Multiple Choices («множество выборов»).
- 301 Moved Permanently («перемещено навсегда»).
- 302 Moved Temporarily («перемещено временно»).
- 302 Found («найдено»).
- 303 See Other (смотреть другое).
- 304 Not Modified (не изменялось).
- 305 Use Proxy («использовать прокси»).
- 306 — зарезервировано (код использовался только в ранних спецификациях).
- 307 Temporary Redirect («временное перенаправление»).
- 4xx: Client Error (ошибка клиента):
- 400 Bad Request («плохой, негодный запрос»).
- 401 Unauthorized («неавторизован»).
- 402 Payment Required («необходима оплата»).
- 403 Forbidden («запрещено»).
- 404 Not Found («не найдено»).
- 405 Method Not Allowed («метод не поддерживается»).
- 406 Not Acceptable («неприемлемо»).
- 407 Proxy Authentication Required («необходима аутентификация прокси»).
- 408 Request Timeout («истекло время ожидания»).
- 409 Conflict («конфликт»).
- 410 Gone («удалён»).
- 411 Length Required («необходима длина»).
- 412 Precondition Failed («условие ложно»).
- 413 Request Entity Too Large («размер запроса слишком велик»).
- 414 Request-URI Too Large («запрашиваемый URI слишком длинный»).
- 415 Unsupported Media Type («неподдерживаемый тип данных»).
- 416 Requested Range Not Satisfiable («запрашиваемый диапазон не достижим»).
- 417 Expectation Failed («ожидаемое неприемлемо»).
- 418 I’m a teapot («я — чайник»).
- 422 Unprocessable Entity («необрабатываемый экземпляр»).
- 423 Locked («заблокировано»).
- 424 Failed Dependency («невыполненная зависимость»).
- 425 Unordered Collection («неупорядоченный набор»).
- 426 Upgrade Required («необходимо обновление»).
- 428 Precondition Required («необходимо предусловие»).
- 429 Too Many Requests («слишком много запросов»).
- 431 Request Header Fields Too Large («поля заголовка запроса слишком большие»).
- 434 Requested host unavailable. («Запрашиваемый адрес недоступен»)
- 449 Retry With («повторить с»).
- 451 Unavailable For Legal Reasons («недоступно по юридическим причинам»).
- 456 Unrecoverable Error («некорректируемая ошибка»).
- 499 Используется Nginx, когда клиент закрывает соединение до получения ответа.
- 5xx: Server Error (ошибка сервера):
- 500 Internal Server Error («внутренняя ошибка сервера»).
- 501 Not Implemented («не реализовано»).
- 502 Bad Gateway («плохой, ошибочный шлюз»).
- 503 Service Unavailable («сервис недоступен»).
- 504 Gateway Timeout («шлюз не отвечает»).
- 505 HTTP Version Not Supported («версия HTTP не поддерживается».
- 506 Variant Also Negotiates («вариант тоже проводит согласование»).
- 507 Insufficient Storage («переполнение хранилища»).
- 508 Loop Detected («обнаружена петля»).
- 509 Bandwidth Limit Exceeded («исчерпана пропускная ширина канала»).
- 510 Not Extended («не расширено»).
- 511 Network Authentication Required («требуется сетевая аутентификация»).
Деление лог файлов по типам
Хорошим тоном считается деление файлов по типам. Типов может быть множество. В основном встречаем два:
— файл с нормальными ответами.
Выше привел файл с нормальными ответами. Вот лога ошибок у меня нет. Точнее есть, но он пустой. Нет ошибок в работе сервера.
Принципиально он ничем не отличается по структуре от показанного файла. Только туда помещаются сообщения об ошибках. Обычно это ошибки 5 группы (фатальные на стороне сервера). Ошибки групп 1-4 показывают, что сайт работает в нормальном режиме и ошибки не критичны (для сервера. для посетителя 404 ошибка может быть критична).
Основное вроде всё. Ай пи адреса ясно, протоколы HTTP и HTTPS почти всем занакомы (структура мало кому интересна). Разве что про методы POST и GET пояснить чуток.
Методы POST и GET в лог файлах
Эти методы часто встречаются в лог файлах. Кроме них еще есть и другие.
МетодыOPTIONS · GET · HEAD · POST ·PUT · DELETE · TRACE ·CONNECT · PATCH
Метод указывает на тип операции с ресурсом. За подробностями можно снова сходить в википкдию и прочитать про методы доступа. На а тут кратенько.
GET — получить содержимое.
POST — метод обработки данных с возможностью отправки. Используется для диалога с пользователем (ввод пароля, комментария, адреса..).
Про остальные — в вики читайте.
Статья помогла — поделитесь в соцсети. Есть замечания-пожелания? Добро пожаловать в комментарии!
Используете материал на своем ресурсе — ставьте ссылку на оригинал!
Спасибо! И пусть не будет ошибок 5 группы в логах!
Помог материал — поставьте лайк, оставьте комментарий. Это поможет и другим пользователям интернета найти решение аналогичной проблемы.
Если темы интересны — подиписывайтесь на канал!
✅ Подписаться на этот канал
Рекомендую свои статьи:
- Открыть docx xlsx в офисе 2003 .
- Виндовс 10 не подключает сеть Wi-fi
- Что можно удалить из папки Windows
- Горячие клавиши Windows Win+
- Тормозит компьютер с HDD диском — решаем проблему в 99% случаев
- Легко и быстро очищаем системный диск С .
- В браузере смотрим пароли и удаляем вирусы, которые майнят на вашем ПК.
Источник: dzen.ru
LOG – Файл журнала (Log File)
В Windows: NotePad++ text, PSPad, Adobe ExtendScript, Microsoft Windows NotePad, Любой другой текстовый редактор
В Mac OS: Apple Console, Apple TextEdit, Любой другой текстовый редактор
В Linux: gedit
Описание расширения LOG
Популярность:
Расширение LOG – это файл журнала, который, как правило, хранится в формате обычного текстового файла и используются многими программами, в том числе и операционной системой, для хранения информации о системных процессах и их работе. Журнал обычно содержит записи, когда, в какое время и какие процессы программ были запрошены. Как правило, данная информация полезна для пользователей и программистов.
Веб-серверы также создают файлы журналов для отслеживания посетителей и контроля использования пропусктной способности. Статистика посещений программы позволяют веб-узлам анализировать лог-файлы через генерируемые графики и диаграммы, которые представляют зарегистрированные данные трафика веб-сайта в графическом формате.
Многие антивирусные и инсталляционные программы так же хранят информацию о сканировании на вирусы и обновлении в файлы журнала. Если есть ограничение на размер .LOG файла, то будет создан следующий LOG файл и данные будут писаться в него.
Файлы с расширением LOG можно удалить, если вы считаете, что информация, записанная в него больше не актуальна. Открыть LOG файл можно с помощью любого текстового редактора, например, блокнота.
MIME тип: text/plain
Другие программы, связанные с расширением LOG
-
Файл журнала транзакций Extensible Storage Engine от Microsoft Corporation
Расширение .LOG связано с приложениями, которые используют технологию Extensible Storage Engine (ESE). Extensible Storage Engine (ESE) была разработана Microsoft и впервые появилась в операционной системе Microsoft Windows 2000.
Extensible Storage Engine (ESE) журнал транзакций записывает все изменения в очередь базы данных. Изменения в базе данных EDB сначала записываются в журнал транзакций, а затем фиксируются в базе данных. Используется в Microsoft Exchange Server, Windows Mail и Windows Live Mail.
Популярность:
Источник: fileext.ru