Отправить буфер журналов на удаленный компьютер

Как я могу просто прочитать все различные буферы (системные журналы, пользовательские журналы, журналы приложений и т. Д.) 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 и ваши журналы начнут отправляться на удаленный сервер. Вы можете убедиться в этом, войдя на удаленный сервер и проверив папку журнала, вы обнаружите, что теперь у вас есть журналы, помеченные именем хоста клиентского сервера.

Другие вопросы по тегам