Отправить буфер журналов на удаленный компьютер
Как я могу просто прочитать все различные буферы (системные журналы, пользовательские журналы, журналы приложений и т. Д.) Ubuntu 16.04 и переслать их на внешний сервер (который может быть любой ОС) во время выполнения? Помогают ли в этом какие-либо системные или журнальные API?
Прокомментируйте, пожалуйста!
1 ответ
rsyslogd ответить на ваши потребности.
как в установке, удаленной системы каротажа с-Rsyslog-на-убунту-14-04-LTS
По умолчанию есть экземпляр
rsyslogкоторый запускается внутри каждой новой установки Ubuntu.rsyslogЭтот инструмент заботится о том, чтобы получать все сообщения журнала от приложений ядра и операционной системы и распространять их по файлам в/var/log,Тем не мение,
rsyslogможет сделать гораздо больше, чем то, что включает в себя вход на удаленный сервер. Это может быть чрезвычайно полезно для агрегирования журналов по большому количеству серверов или когда невозможно записывать журналы на диск.В этом уроке мы собираемся установить
rsyslogна удаленной машине, чтобы мы могли отправлять журналы, перенаправить все журналы на этот удаленный сервер. Установкаrsyslogна удаленном сервереВам понадобится копия
rsyslogработает на удаленной машине, которая будет получать журналы с вашего существующего сервера. Лучше всего иметь это в удаленном месте. Причина в том, что если этот сервер выходит из строя в то же время, что и ваш сервер, вы не сможете получить какие-либо журналы для устранения проблем.Предполагая, что вы используете Ubuntu на удаленной машине, вы уже будете работать
rsyslog.Если нет, вы можете установить его, следуя инструкциям внутриrsyslogВеб-сайт.После установки вам нужно убедиться, что он прослушивает порт, на который мы будем отправлять журналы. Порт по умолчанию - 514, который мы сохраним. Вам нужно будет отредактировать файл
/etc/rsyslog.confи раскомментируйте следующие строки:# provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514После раскомментирования строк это должно выглядеть следующим образом:
# provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514Как только это будет сделано, вы можете перезапустить
rsyslogобслуживание, выполнив командуservice rsyslog restart, ВашrsyslogТеперь экземпляр готов к приему журналов с удаленных хостов. Настройкаrsyslogна локальном сервереЭтот процесс чрезвычайно прост. Все, что вам нужно сделать, это рассказать существующим
rsyslogэкземпляр на вашем сервере для отправки журналов на удаленный сервер. Это так же просто, как создать файл внутри/etc/rsyslog.dпапка называется10-rsyslog.conf, Внутри этого файла все, что вам нужно, это положить*.* @remote.server:514Как только вы напишите этот файл, перезапустите
rsyslogсервис, запустивservice rsyslog restartи ваши журналы начнут отправляться на удаленный сервер. Вы можете убедиться в этом, войдя на удаленный сервер и проверив папку журнала, вы обнаружите, что теперь у вас есть журналы, помеченные именем хоста клиентского сервера.