elasticsearch 麋鹿-重复日志
我对Logstash(v7.11)和Elasticsearch有一个奇怪的问题 我目前有两个配置文件:
elasticsearch 麋鹿-重复日志,
elasticsearch,logstash,elastic-stack,
elasticsearch,Logstash,Elastic Stack,我对Logstash(v7.11)和Elasticsearch有一个奇怪的问题 我目前有两个配置文件: 01 beats syslog.conf(带有winlogbeat发送的日志) 02 network syslog.conf(带有无代理设备(如交换机、防火墙等)的日志) 出于某种原因,“winlogbeat”日志的副本最终会出现在“network syslog”索引中(除了真实的syslog流量)。。每个配置文件都在不同的端口上侦听,配置有什么问题 我还检查了我没有将流量转发到514
- 01 beats syslog.conf(带有winlogbeat发送的日志)
- 02 network syslog.conf(带有无代理设备(如交换机、防火墙等)的日志)
我还检查了我没有将流量转发到514的防火墙规则,事实上,使用tcpdump,我看不到来自该端口上winlogbeat的流量。如果将path.config指向一个目录,则logstash将连接目录中的所有文件,从所有输入读取事件,通过所有过滤器运行它们,并将它们发送到所有输出。将pipelines.yml配置为在单独的管道中运行每个配置文件,或者在输出周围使用条件
output {
if [type] == "syslog" {
elasticsearch {
hosts => ["localhost:9200"] ...
谢谢你的教训,现在我明白多了。我通过对输入应用标记并根据所述标记过滤输出来解决这个问题。这似乎不是最有效的方法。Elastic建议使用管道,但我还不清楚如何正确设置。
input {
tcp {
port => 514
type => syslog
}
udp {
port => 514
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 => "syslog-%{+YYYY.MM}"
}
stdout {
codec => rubydebug
}
}
output {
if [type] == "syslog" {
elasticsearch {
hosts => ["localhost:9200"] ...