2014-12-16 3 views
1

Я создаю сборщик журналов. У меня есть приложение, которое отправляет журнал с помощью SyslogAppender (log4j) на мой удаленный сервер журнала. Я также могу сохранить все журналы приложений и журналы базы данных postgresql, используя командную строку curl. Мой журнал - это сервер ELK (все в одном кластере).Postgresql log to far logstash server

Но теперь я хочу автоматически отправлять журналы postgresql, как и в приложениях и журналах приложений. Можно ли это сделать с postgresql.conf файл? Или мне нужно использовать форвардер logstash? (если возможно, мне нравится избегать использования форвардера)

ответ

3

Вы можете либо зарегистрировать postgres в файле, либо отправить его на центральный лог-сервер с помощью loggstash-forwarder. Это безопасно, так как требует использования сертификата ssl.

Вы также можете вывести postgress в syslog и отправить rsyslog журналам на ваш сервер журнала.

Postgres -> Syslog (postgresql.conf)

log_destination = 'syslog' 
syslog_facility = 'local0' 
syslog_ident = 'postgres' 

Rsyslog -> logstash (/etc/rsyslog.conf)
Формат facility.loglevel @@ адрес сервера: порт (@ для УДП , @@ для протокола TCP)

local0.* @@db-private:5544 

вход logstash

input{ 
    syslog{ 
     type => syslog 
     port => 5544 
    } 
} 
+0

Спасибо за ответ. Я попробую второй метод, используя rsyslog, прежде чем выбирать :-) – Guinoutortue