需求:logstash收到的syslog日志发往elasticsearch和深信服日志审计设备。
本以为直接写outside就可以解决问题,启动时报错,logstash默认情况下未安装logstash-output-syslog组件,需先安装此组件才能正确启动。
syslog {
facility => …
host => …
port => …
severity => …
}
启动时有如下报错:
Couldn’t find any output plugin named ‘syslog’. Are you sure this is correct? Trying to load the syslog output plugin resulted in this error: no such file to load

安装后使用下列配置文件启动即可。
input{
syslog {
type => “rsyslog”
port => 514
}
}
filter{
}
output{
elasticsearch {
hosts => [“127.0.0.1:9200”]
flush_size => 1
index => “syslog-%{+YYYY.MM.dd}”
}
syslog {
facility => [“kernel”]
host => “1.2.3.4”
port => 514
severity => [“debug”]
}
}
附logstash-output-syslog配置文件说明:
Details
appname
- Value type is string
- Default value is
"LOGSTASH"
application name for syslog message
codec
- Value type is codec
- Default value is
"plain"
The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output, without needing a separate filter in your Logstash pipeline.
facility
- This is a required setting.
- Value can be any of:
kernel,user-level,mail,daemon,security/authorization,syslogd,line printer,network news,uucp,clock,security/authorization,ftp,ntp,log audit,log alert,clock,local0,local1,local2,local3,local4,local5,local6,local7 - There is no default value for this setting.
facility label for syslog message
host
- This is a required setting.
- Value type is string
- There is no default value for this setting.
syslog server address to connect to
message
- Value type is string
- Default value is
"%{message}"
message text to log
msgid
- Value type is string
- Default value is
"-"
message id for syslog message
port
- This is a required setting.
- Value type is number
- There is no default value for this setting.
syslog server port to connect to
procid
- Value type is string
- Default value is
"-"
process id for syslog message
protocol
- Value can be any of:
tcp,udp - Default value is
"udp"
syslog server protocol. you can choose between udp and tcp
rfc
- Value can be any of:
rfc3164,rfc5424 - Default value is
"rfc3164"
syslog message format: you can choose between rfc3164 or rfc5424
severity
- This is a required setting.
- Value can be any of:
emergency,alert,critical,error,warning,notice,informational,debug - There is no default value for this setting.
severity label for syslog message
sourcehost
- Value type is string
- Default value is
"%{host}"
source host for syslog message
timestamp (DEPRECATED)
- DEPRECATED WARNING: This configuration item is deprecated and may not be available in future versions.
- Value type is string
- Default value is
"%{@timestamp}"
timestamp for syslog message
workers
- Value type is number
- Default value is
1
The number of workers to use for this output. Note that this setting may not be useful for all outputs.
本文链接地址: https://danteng.org/logstash-syslog-output-to-another-device/