Настройка отправки rsyslog на сервер логов syslog-ng по udp. По умолчанию rsyslog уже установлен и делать ничего не надо, что несомненно является приятным моментом. Как настраивать сервер syslog-ng я уже писал в статье.
nano /etc/rsyslog.d/loghost.conf
Вставим строки
##по tcp #*.* @@loghost:514 ## по udp *.* @loghost:514
Добавим отправку с именем хоста
nano /etc/rsyslog.conf
Добавим
$PreserveFQDN on
Отредактируем /etc/hosts чтобы избежать localhost во всех messages, для этого вставим имя хоста перед localhost
127.0.0.1 human-K73SM localhost
Рестартуем rsyslog
/etc/init.d/rsyslog restart
Отправка rsyslog в json формате через td-agent в elasticsearch
$template ls_json,"{%timestamp:::date-rfc3339,jsonf:@timestamp%,\"@message\":\"%msg:::json%\",\"@fields\":{%fromhost:::jsonf:host%,%syslogfacility-text:::jsonf:syslog_facility%,%syslogfacility:::jsonf:syslog_facility_code%,%syslogseverity-text:::jsonf:syslog_severity%,%syslogseverity:::jsonf:syslog_severity_code%,%app-name:::jsonf:program%,%procid:::jsonf:pid%}}" *.* @@td-agent:30003;ls_json
Здесь мы шлем через tcp в td-agent