- Added environment variables for project configuration in env.template. - Updated Ansible playbook to use environment variables for project settings and added tasks for monitoring authentication setup. - Enhanced Nginx configuration for Alertmanager and Prometheus with HTTP Basic Authentication. - Introduced logrotate configuration for managing log files and set up cron for daily execution. - Removed obsolete Uptime Kuma docker-compose file.
78 lines
2.8 KiB
Markdown
78 lines
2.8 KiB
Markdown
# Logrotate Configuration
|
|
|
|
Эта директория содержит конфигурационные файлы для автоматической ротации логов.
|
|
|
|
## Файлы
|
|
|
|
### `logrotate_bots.conf.j2`
|
|
Шаблон конфигурации для логов ботов и Docker контейнеров:
|
|
- Логи ботов в `{{ project_root }}/bots/*/logs/*.log`
|
|
- Stderr логи ботов в `{{ project_root }}/bots/*/bot_stderr.log`
|
|
- Docker контейнер логи в `/var/lib/docker/containers/*/*.log`
|
|
|
|
### `logrotate_system.conf.j2`
|
|
Шаблон конфигурации для системных сервисов:
|
|
- Nginx логи в `/var/log/nginx/*.log`
|
|
- Системные логи (syslog, mail, auth, cron и др.)
|
|
- Fail2ban логи
|
|
- Docker daemon логи
|
|
- Prometheus node exporter логи
|
|
|
|
## Переменные окружения
|
|
|
|
Конфигурации используют следующие переменные из `.env` файла:
|
|
|
|
```bash
|
|
# Logrotate настройки
|
|
LOGROTATE_RETENTION_DAYS=30 # Количество дней хранения логов
|
|
LOGROTATE_COMPRESS=true # Сжатие старых логов
|
|
LOGROTATE_DELAYCOMPRESS=true # Отложенное сжатие
|
|
```
|
|
|
|
## Использование
|
|
|
|
Эти шаблоны автоматически применяются при запуске Ansible playbook. Они создают конфигурационные файлы в `/etc/logrotate.d/` на сервере.
|
|
|
|
### Ручное применение
|
|
|
|
Если нужно применить конфигурации вручную:
|
|
|
|
```bash
|
|
# Скопировать конфигурации
|
|
sudo cp logrotate_bots.conf.j2 /etc/logrotate.d/bots
|
|
sudo cp logrotate_system.conf.j2 /etc/logrotate.d/system
|
|
|
|
# Проверить конфигурацию
|
|
sudo logrotate -d /etc/logrotate.conf
|
|
|
|
# Принудительная ротация
|
|
sudo logrotate -f /etc/logrotate.conf
|
|
```
|
|
|
|
## Настройки по умолчанию
|
|
|
|
- **Ежедневная ротация**: все логи ротируются каждый день
|
|
- **Сжатие**: старые логи сжимаются gzip
|
|
- **Хранение**: 30 дней (настраивается через переменную)
|
|
- **Автоматический перезапуск сервисов**: после ротации логов
|
|
|
|
## Структура логов
|
|
|
|
После настройки логи будут организованы следующим образом:
|
|
|
|
```
|
|
/var/log/
|
|
├── nginx/
|
|
│ ├── access.log
|
|
│ ├── access.log.1.gz
|
|
│ ├── error.log
|
|
│ └── error.log.1.gz
|
|
└── ...
|
|
|
|
{{ project_root }}/bots/*/logs/
|
|
├── bot.log
|
|
├── bot.log.1.gz
|
|
├── bot.log.2.gz
|
|
└── ...
|
|
```
|