Работа с логами в Linux
Логи — журналы, куда записывается вся информация по работе того или иного сервиса. Обычно это обычные текстовые файлы, содержащие данные в определенном формате.
Ниже в небольшом мануале расскажу как происходит простейшая работа с логами в Linux
Где распологаются логи
Для каждого сервиса расположение отличается, но обычно это директория /var/log/ или /var/log/имя_сервиса/
Ниже перечислено расположение логов различных сервисов:
Tomcat
В зависимости от варианта установки (из репозитория или с официального сайта) это может быть
/opt/tomcat/logs/, основной лог: catalina.out — для варианта с официального сайта
/var/log/tomcat/, основной лог: tomcat.log — для варианта из репозитория
Apache (httpd)
В зависимости настроек сервера, это может быть центральный лог или центральный + для каждого сайта в отдельности
Обычно это /var/log/apache2 или /var/log/httpd (в зависимости от операционной системы), основные логи: access_log (логи доступа), error_log (логи ошибок)
Также у сайтов могут быть свои лог-файлы, обычно они расположены в директории logs сайта
MySQL (MariaDB)
В зависимости от сервера это /var/log/mysql (mysqld) или /var/log/mariadb, основной лог: mariadb.log (mysqld.log), также он может располагаться в /var/log/
nginx
Здесь аналогично Apache (httpd), центральный лог доступен в /var/log/nginx/ , основные логи: access.log и error.log
PHP-FPM
В зависимости от настроек PHP-FPM это центральный лог + логи для каждого пула.
центральный лог доступен в /var/log/php-fpm/ , там же могут находиться логи для каждого пула, они также могут находиться в директории сайта, для которого используется требуемый пул.
Fail2ban
Лог Fail2ban доступен в /var/log/ ,основной лог: fail2ban.log
Как прочитать/открыть логи
Так как логи это текстовые файлы, они могут быть открыты любым текстовым редактором, либо через консоль.
Можно посмотреть содержимое логов следующими способами:
- Вывод всего текста лога в консоль (лог пролистывается полностью с начала и до конца)
cat имя_лога
Пример:
cat /var/log/fail2ban.log
- Вывод последних 10 строк файла.
tail имя_лога
- Вывод произвольного количества строк файла (для примера 50)
tail -n 50 имя_лога
- Вывод строк в режиме реального времени (вывод строк по мере их добавления)
tail -f имя_лога
- Просмотр списка файлов в директории
ls -lah путь_к_директории
Например:
ls -lah /var/log/
Также для просмотр могут быть использованы текстовые редакторые вроде nano, vi,vim, mcview