syslog-ng, создайте последовательность регистрации с созданием файла
Мне было поручено настроить syslog-ng на устройстве linux для выполнения определенных действий. Я довольно новичок в работе с syslog-ng, поэтому, пожалуйста, учтите это при ответе.
Следующие операторы объясняют предварительные условия для конфигурации:
- Отправить данные на указанный IP-адрес (здесь не отображается)
- Если устройство с IP выше не может быть достигнуто, то буфер в память
- Когда память заполнена, буфер в файл
- Когда файл заполнен, создайте новый, как только 5 файлов будут созданы, начните перезаписывать первый файл (как процесс циклического перебора)
Мне нужна помощь в понимании того, как настроить syslog-ng для выполнения требований к памяти и файлам.
Любая помощь высоко ценится!
1 ответ
Все это должно быть настроено в файле syslog-ng.conf. Вам нужно будет настроить ваши источники отдельно. Сначала вам нужны локальные журналы:
destination i_assume_you_already_have_this {
file("/var/log/whatever");
};
Вы хотите использовать блок назначения для отправки на удаленный сервер:
destination a_name {
syslog("10.1.2.3" transport("tcp"));
};
и соответствующая запись для отправки ваших локальных журналов в это место назначения:
log {
source(i_assume_you_already_have_this); destination(a_name);
};
Буферизация диска + буферизация памяти включается добавлением чего-то вроде этого в удаленный блок назначения:
disk-buffer(
mem-buf-length(<size in bytes>)
disk-buf-size(<size in bytes>)
reliable(no)
)
syslog-ng по умолчанию не поддерживает ротацию журналов в зависимости от размера. Вам потребуется использовать logrotate и postrotate для перезагрузки syslog-ng. Вам понадобится что-то подобное в вашей конфигурации logrotate:
/var/log/whatever {
rotate 5
size <some size>
postrotate
/etc/init.d/syslog-ng reload >/dev/null
endscript
}
Вы можете найти много этой информации в руководстве, здесь: https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.16/administration-guide