Качването на регистрационни файлове на отдалечен хост ни позволява да централизираме отчетите за повече от едно устройство и да поддържаме резервно копие на отчета за проучване, в случай че нещо не успее да ни попречи да имаме достъп до дневниците локално.
Този урок показва как да настроите отдалечен сървър за хостови дневници и как да изпращате тези дневници от клиентски устройства и как да класифицирате или разделяте дневниците в директории по клиентски хост.
За да следвам инструкциите, можете да използвате виртуално устройство, взех безплатен VPS от Amazon (ако имате нужда от помощ при настройването на устройство на Amazon, те разполагат със страхотно специално съдържание в LinuxHint на https: // linuxhint.com / category / aws /). Обърнете внимание, че публичният IP адрес на сървъра се различава от вътрешния му IP.
Преди започване:
Софтуерът, използван за дистанционно изпращане на регистрационни файлове, е rsyslog, той идва по подразбиране в Debian и производни дистрибуции на Linux, в случай че не го стартирате:
# sudo apt инсталирайте rsyslogВинаги можете да проверите състоянието на rsyslog, като изпълните:
# sudo service rsyslog статус
Както можете да видите състоянието на екранната снимка е активно, ако вашият rsyslog не е активен, винаги можете да го стартирате, като стартирате:
# sudo service rsyslog startИли
# systemctl стартира rsyslog
Забележка: За допълнителна информация относно всички опции за управление на услугите на Debian проверете Спиране, стартиране и рестартиране на услуги на Debian.
Стартирането на rsyslog в момента не е уместно, защото ще трябва да го рестартираме, след като направим някои промени.
Как да изпращате регистрационни файлове на Linux на отдалечен сървър: Страната на сървъра
На първо място, на сървъра редактирайте файла / etc / resyslog.конф използвайки nano или vi:
# nano / etc / rsyslog.конф
В рамките на файла декомментирайте или добавете следните редове:
модул (load = "imudp")вход (type = "imudp" port = "514")
модул (load = "imtcp")
вход (type = "imtcp" port = "514")
По-горе ние коментирахме или добавихме регистрациите на регистрационни файлове чрез UDP и TCP, можете да разрешите само един от тях или и двамата, след като бъдете коментиран или добавен, ще трябва да редактирате правилата на защитната стена, за да разрешите входящите регистрационни файлове, за да позволите получаване на регистрационни файлове чрез TCP изпълнение:
# ufw позволяват 514 / tcp
За да разрешите входящи регистрационни файлове чрез изпълнение на UDP протокол:
# ufw позволи 514 / udp
За да позволите чрез TCP и UDP, изпълнете двете команди по-горе.
Забележка: за повече информация относно UFW можете да прочетете Работа с защитни стени на Debian (UFW).
Рестартирайте услугата rsyslog, като стартирате:
# sudo service rsyslog рестартиране
Сега продължете на клиента да конфигурира регистрационни файлове за изпращане, след което ще се върнем към сървъра, за да подобрим формата.
Как да изпращате дневници на Linux на отдалечен сървър: Клиентската страна
В дневниците за изпращане на клиент добавете следния ред, замествайки IP 18.223.3.241 за вашия сървър IP.
*.* @@ 18.223.3.241: 514
Излезте и запазете промените, като натиснете CTRL + X.
След редактиране рестартирайте услугата rsyslog, като стартирате:
# sudo service rsyslog рестартиране
От страна на сървъра:
Сега можете да проверите регистрационните файлове в / var / log, при отварянето им ще забележите смесени източници за вашия дневник, следният пример показва регистрационни файлове от вътрешния интерфейс на Amazon и от клиента Rsyslog (Montsegur):
Мащабирането го показва ясно:
Ако смесените файлове не са удобни, по-долу ще редактираме конфигурацията на rsyslog, за да отделим регистрационните файлове според източника.
За да различите регистрационните файлове в директория с името на клиентския хост, добавете следните редове към сървъра / etc / rsyslog.conf, за да инструктира rsyslog как да запазва отдалечени регистрационни файлове, за да го направи в rsyslog.conf добавете редовете:
$ template RemoteLogs, "/ var / log /% HOSTNAME% /.регистрация "*.* ?RemoteLogs
& ~
Излезте от запазването на промените, като натиснете CTRL + X и рестартирайте отново rsyslog на сървъра:
# sudo service rsyslog рестартиране
Сега можете да видите нови директории, наречена ip-172.31.47.212, който е вътрешен интерфейс на AWS и други, наречени „montsegur“ като rsyslog клиент.
В директориите можете да намерите дневниците:
Заключение:
Отдалеченото регистриране предлага чудесно решение на проблем, който може да намали услугите, ако хранилището на сървъра се запълни с регистрационни файлове, както беше казано в началото, също така е задължително в някои случаи, в които системата може да бъде сериозно повредена, без да позволява достъп до регистрационните файлове , в такива случаи отдалечен лог сървър гарантира sysadmin достъп до историята на сървъра.
Внедряването на това решение е технически доста лесно и дори безплатно, като се има предвид, че не са необходими големи ресурси, а безплатните сървъри като AWS безплатни нива са добри за тази задача, ако увеличите скоростта на пренос на журнали, можете да разрешите само UDP протокол (въпреки загубата на надеждност). Има някои алтернативи на Rsyslog като: Flume или Sentry, но rsyslog остава най-популярният инструмент сред потребителите на Linux и sysadmins.
Надявам се, че тази статия за Изпращане на дневници на Linux към отдалечен сървър ви е била полезна.