Логи и диагностика
Расположение логов
Системные логи
- Systemd журнал:
journalctl - Syslog:
/var/log/syslog - Auth:
/var/log/auth.log
Nginx
- Доступ:
/var/log/nginx/access.log - Ошибки:
/var/log/nginx/error.log
PostgreSQL
- Логи:
/var/log/postgresql/postgresql-*.log - Конфигурация логирования:
/etc/postgresql/*/main/postgresql.conf
Docker
- Логи контейнеров:
docker logs <container_name> - Системные логи Docker:
journalctl -u docker
Просмотр логов
Systemd журнал
# Все логи
sudo journalctl
# Логи конкретного сервиса
sudo journalctl -u nginx
# Последние записи
sudo journalctl -n 50
# Следить за логами в реальном времени
sudo journalctl -f
# Логи за период
sudo journalctl --since "1 hour ago"
sudo journalctl --since "2024-01-15" --until "2024-01-16"
Файловые логи
# Просмотр последних строк
tail -n 50 /var/log/nginx/error.log
# Следить за логом в реальном времени
tail -f /var/log/nginx/error.log
# Поиск в логах
grep "error" /var/log/nginx/error.log
Анализ логов
Популярные ошибки Nginx
# Поиск ошибок
sudo grep -i error /var/log/nginx/error.log | tail -20
# Подсчет ошибок
sudo grep -i error /var/log/nginx/error.log | wc -l
Анализ доступа
# Топ IP адресов
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
# Топ запросов
sudo awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
Ротация логов
Logrotate
Конфигурация: /etc/logrotate.d/nginx
# Принудительная ротация
sudo logrotate -f /etc/logrotate.d/nginx
Заметки
[Добавьте заметки о работе с логами]