Логи и диагностика

Расположение логов

Системные логи

  • 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

Заметки

[Добавьте заметки о работе с логами]