====== Логування в Ubuntu ====== Логування в Ubuntu — це важливий аспект адміністрування системи, оскільки дозволяє відстежувати події, помилки, доступ до сервісів та інші активності. Основні типи логів включають системні логи, логи веб-серверів, поштові логи та інші. Давайте розглянемо їх детальніше. ==== Системні логи ==== Системні логи в Ubuntu зберігаються у каталозі ''/var/log''. Деякі з найбільш важливих файлів логів включають: * **/var/log/syslog**: Основний системний лог, який містить загальну інформацію про роботу системи, включаючи повідомлення ядра, системних сервісів та додатків. * **/var/log/auth.log**: Лог аутентифікації, який містить записи про входи в систему, спроби аутентифікації та інші пов'язані події. * **/var/log/kern.log**: Лог ядра, який містить повідомлення, згенеровані ядром Linux. * **/var/log/dmesg**: Лог з повідомленнями, створеними під час старту системи, завантаження драйверів та інших подій. Система ''rsyslog'' використовується для управління логами в Ubuntu. Конфігураційні файли ''rsyslog'' знаходяться у ''/etc/rsyslog.conf'' та у директорії ''/etc/rsyslog.d/''. ==== Логи веб-серверів ==== === Apache === Якщо у вас встановлений веб-сервер Apache, його логи знаходяться у каталозі ''/var/log/apache2''. Основні файли логів: * **/var/log/apache2/access.log**: Лог доступу, який містить записи про всі HTTP-запити до сервера. * **/var/log/apache2/error.log**: Лог помилок, який містить повідомлення про помилки та діагностичну інформацію. Конфігурація логування для Apache визначається у файлі ''/etc/apache2/apache2.conf'' та у файлах конфігурації в директорії ''/etc/apache2/sites-available/''. === Nginx === Для веб-сервера Nginx логи знаходяться у каталозі ''/var/log/nginx''. Основні файли логів: * **/var/log/nginx/access.log**: Лог доступу, який містить записи про всі HTTP-запити до сервера. * **/var/log/nginx/error.log**: Лог помилок, який містить повідомлення про помилки та діагностичну інформацію. Конфігурація логування для Nginx визначається у файлі ''/etc/nginx/nginx.conf'' та у файлах конфігурації в директорії ''/etc/nginx/sites-available/''. ==== Поштові логи ==== Якщо на вашій системі налаштований поштовий сервер, наприклад, Postfix або Sendmail, логи зберігаються у каталозі ''/var/log/mail.log'' або у відповідних підкаталогах. * **/var/log/mail.log**: Основний поштовий лог, який містить записи про всі події, пов'язані з відправкою та отриманням пошти. * **/var/log/mail.err**: Лог помилок поштового сервера, який містить повідомлення про помилки. Конфігураційні файли для логування поштових серверів зазвичай знаходяться у директоріях ''/etc/postfix/'' або ''/etc/mail/''. ==== Інші логи ==== * **/var/log/boot.log**: Лог завантаження системи, який містить повідомлення про процес завантаження. * **/var/log/cron.log**: Лог планувальника завдань cron, який містить записи про виконані завдання. ==== Інструменти для перегляду логів ==== * [[:linux:commands:journalctl|]]: Використовується для перегляду логів, зібраних системним журналом ''systemd''. Наприклад, ''journalctl -xe'' показує останні помилки і попередження. * **less**: Для перегляду великих лог-файлів, наприклад, ''less /var/log/syslog''. * **tail**: Для перегляду останніх рядків у лог-файлі, наприклад, ''tail -f /var/log/syslog''. ==== Ротація логів ==== Для управління розміром лог-файлів використовується утиліта ''logrotate'', конфігураційні файли якої знаходяться у ''/etc/logrotate.conf'' та ''/etc/logrotate.d/''. Вона автоматично архівує, видаляє або пересилає старі лог-файли. Ось приклад основного конфігураційного файлу ''logrotate'': /var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate /usr/lib/rsyslog/rsyslog-rotate endscript } Цей приклад налаштовує ротацію для системного лога ''/var/log/syslog'', зберігаючи сім старих копій, і архівуючи їх щодня.