logstash 配置文件——rsyslog.conf
时间: 2023-09-02 19:14:16 浏览: 118
logstash的配置文件
5星 · 资源好评率100%
以下是一个示例的 Logstash 配置文件 rsyslog.conf,用于从 rsyslog 接收日志数据并将其发送到 Elasticsearch:
```
input {
tcp {
port => 5000
type => syslog
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
```
该配置文件中,input 插件使用 TCP 协议监听 5000 端口,并将接收到的所有数据类型标记为 syslog。filter 插件使用 grok 插件解析 syslog 消息,并使用 date 插件将 syslog 时间戳转换为 Logstash 可识别的时间格式。最后,output 插件将处理后的日志数据发送到 Elasticsearch。注意,该示例仅适用于 rsyslog 日志数据,对于其他类型的日志数据需要根据实际情况进行相应的修改。
阅读全文