Хранение Логов И Logrotate
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
правила_разработки:стандарты:хранение_логов_и_logrotate [26.04.2019 10:46] nikolay_carbonsoft1 |
правила_разработки:стандарты:хранение_логов_и_logrotate [20.05.2019 15:18] (текущий) |
||
---|---|---|---|
Строка 16: | Строка 16: | ||
Например: | Например: | ||
+ | <code bash> | ||
50 2 * * * root /app/base/usr/local/bin/cron_backup.sh &>>/app/base/var/log/cron_backup.sh.log | 50 2 * * * root /app/base/usr/local/bin/cron_backup.sh &>>/app/base/var/log/cron_backup.sh.log | ||
+ | </code> | ||
- | //Исключение: если скрипт генерирует излишне объемный вывод, который необходим только при детальном дебаге, то его можно логировать в соответствии с обычными стандартами /var/log/<имя демона>.log и обязательно должен писать о том, что он скрывает вывод (и куда скрывает) в stdout! Например, скрипт /app/asr_billing//usr/local/bin/backup_db_v2.sh выводит все в стандартный вывод, но вывод gbak сохраняет в /var/log/backup_db_v2.sh.log// | + | Исключение: если скрипт генерирует излишне объемный вывод, который необходим только при детальном дебаге, то его можно логировать в соответствии с обычными стандартами /var/log/<имя демона>.log и обязательно должен писать о том, что он скрывает вывод (и куда скрывает) в stdout! Например, скрипт /app/asr_billing//usr/local/bin/backup_db_v2.sh выводит все в стандартный вывод, но вывод gbak сохраняет в /var/log/backup_db_v2.sh.log// |
4. Особым случаем является каталог /app/asr_billing/var/log/abonents/<id_абонента>/.. куда дублируется вывод лога событий в воркера по каждому абоненту. Например, /app/asr_billing/var/log/abonents/13/event_1368.log | 4. Особым случаем является каталог /app/asr_billing/var/log/abonents/<id_абонента>/.. куда дублируется вывод лога событий в воркера по каждому абоненту. Например, /app/asr_billing/var/log/abonents/13/event_1368.log | ||
Строка 25: | Строка 26: | ||
<font inherit/inherit;;rgb(255, 0, 0);;inherit>**Другие особые случаи этого пункта и другие исключения нужно согласовывать и отражать в текущей странице документации.**</font> | <font inherit/inherit;;rgb(255, 0, 0);;inherit>**Другие особые случаи этого пункта и другие исключения нужно согласовывать и отражать в текущей странице документации.**</font> | ||
- | ==== Стандарт по logrotate до 2018 года (потом добавим чистку которую НАстраивает Админ 3-6-12 мес): ==== | + | ==== Стандарт по logrotate до 2018 года (потом добавим чистку которую настраивает Админ 3-6-12 мес): ==== |
1. Сдвигаем компрессию на 2 месяца, используя опции compress и delaycompress*. При ротейте по дням компрессию не используем*! | 1. Сдвигаем компрессию на 2 месяца, используя опции compress и delaycompress*. При ротейте по дням компрессию не используем*! | ||
- | 2. Опцию **rotate не используем**. Старые логи не удаляются автоматически | + | 2. Старые логи нельзя удалять автоматически средствами logrotate! Выставляем опцию rotate 99999. |
3. где по дням - не гзипуем | 3. где по дням - не гзипуем | ||
4. для ежемесячных, формат суффикса без дня: dateformat -%Y%m | 4. для ежемесячных, формат суффикса без дня: dateformat -%Y%m | ||
+ | |||
+ | 5. можно пользоваться только ежедневным и ежемесячным ротированием | ||
=== Пример1. Ежемесячный logrotate: === | === Пример1. Ежемесячный logrotate: === | ||
- | <code-java> | + | <code> |
/var/log/firebird/firebird.log { | /var/log/firebird/firebird.log { | ||
monthly | monthly | ||
Строка 46: | Строка 49: | ||
delaycompress | delaycompress | ||
copytruncate | copytruncate | ||
+ | rotate 99999 | ||
} | } | ||
- | </code-java> | + | </code> |
=== Пример2. Ежедневный logrotate: === | === Пример2. Ежедневный logrotate: === | ||
- | <code-java> | + | <code> |
/var/log/msgd/msgd.log { | /var/log/msgd/msgd.log { | ||
daily | daily | ||
Строка 61: | Строка 65: | ||
### ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ nocompress ДЛЯ ЕЖЕДНЕВНОГО logrotate | ### ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ nocompress ДЛЯ ЕЖЕДНЕВНОГО logrotate | ||
nocompress | nocompress | ||
+ | rotate 99999 | ||
} | } | ||
- | </code-java> | + | </code> |
==== Примечания: ==== | ==== Примечания: ==== | ||
Строка 79: | Строка 84: | ||
Sync для файлов выключен по умолчанию, минусы перед файлами в конфиге указывать не нужно | Sync для файлов выключен по умолчанию, минусы перед файлами в конфиге указывать не нужно | ||
- | <code-java> | + | <code> |
# File syncing capability is disabled by default. This feature is usually not required, | # File syncing capability is disabled by default. This feature is usually not required, | ||
# not useful and an extreme performance hit | # not useful and an extreme performance hit | ||
#$ActionFileEnableSync on | #$ActionFileEnableSync on | ||
- | </code-java> | + | </code> |
~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ | ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ |