PostgreSQL日志到远程logstash服务器

Gui*_*tue 2 postgresql logging syslog

我正在设置日志的收集器。我的应用程序使用SyslogAppender(log4j)将日志发送到远程日志服务器。我还可以使用curl命令行保存所有应用程序日志和postgresql数据库日志。我的日志服务器是ELK服务器(都在同一群集中)。

但是现在我想自动发送postgresql日志,就像处理Appender和应用程序日志一样。是否可以使用postgresql.conf文件执行此操作?还是我必须使用logstash转发器?(如果可能,我希望避免使用转发器)

ros*_*ung 5

您可以将postgres记录到文件中,然后让loggstash-forwarder将其发送到中央日志服务器。这是安全的,因为它需要使用ssl证书。

您还可以将postgress输出到syslog,并让rsyslog将日志发送到日志服务器。

Postgres->系统日志(postgresql.conf)

 log_destination = 'syslog'
 syslog_facility = 'local0'
 syslog_ident = 'postgres'
Run Code Online (Sandbox Code Playgroud)

rsyslog-> logstash(/etc/rsyslog.conf)
格式为便利设施。loglevel @@服务器地址:端口(@用于udp,@@用于tcp)

 local0.* @@db-private:5544
Run Code Online (Sandbox Code Playgroud)

logstash输入

 input{
   syslog{
       type  => syslog
       port  => 5544
   }
 }
Run Code Online (Sandbox Code Playgroud)