Gui*_*tue 2 postgresql logging syslog
我正在设置日志的收集器。我的应用程序使用SyslogAppender(log4j)将日志发送到远程日志服务器。我还可以使用curl命令行保存所有应用程序日志和postgresql数据库日志。我的日志服务器是ELK服务器(都在同一群集中)。
但是现在我想自动发送postgresql日志,就像处理Appender和应用程序日志一样。是否可以使用postgresql.conf文件执行此操作?还是我必须使用logstash转发器?(如果可能,我希望避免使用转发器)
您可以将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)