繁体   English   中英

Kibana在通过Logstash发送的2台服务器中仅显示1台服务器日志

[英]Kibana shows only 1 servers logs among 2 servers sent via Logstash

我有2台安装了Filebeat的服务器,在另一台服务器上装有ELK堆栈。

在Logstash conf目录下的ELK服务器上,我创建了代表2个服务器的2个文件

在两个服务器上在filebeat配置文件中,我为每个服务器指定了不同的端口(Logstash作为输出)

这是我的服务器Logstash文件1,

input {
  beats {
    port => 5044
  }
}

output {
  if "api_logs" in [tags] {
  elasticsearch {
    hosts => [ "es:9200" ]
    index => "api_logs-%{+YYYY.MM.dd}"
  }
 }
 else if "error_logs" in [tags] {
 elasticsearch {
    hosts => [ "es:9200" ]
    index => "error_logs-%{+YYYY.MM.dd}"
  }
 }
}

这是我的服务器Logstash文件2,

input {
  beats {
    port => 5045
  }
}

output {
  if "api_logs" in [tags] {
  elasticsearch {
    hosts => [ "es:9200" ]
    index => "api_logs-%{+YYYY.MM.dd}"
  }
 }
 else if "error_logs" in [tags] {
 elasticsearch {
    hosts => [ "es:9200" ]
    index => "error_logs-%{+YYYY.MM.dd}"
  }
 }
}

我的服务器1的filebeat文件

filebeat.inputs:

- type: log
  tags: ["api_logs"]
  enabled: true
  paths:
    - logs/api*

- type: log
  tags: ["error_logs"]
  enabled: true
  paths:
    - logs/error*
output.logstash:
  hosts: ["es:5044"]

我的服务器2的filebeat文件

filebeat.inputs:

- type: log
  tags: ["api_logs"]
  enabled: true
  paths:
    - logs/api*

- type: log
  tags: ["error_logs"]
  enabled: true
  paths:
    - logs/error*
output.logstash:
  hosts: ["es:5045"]

但是,当我在Kibana中创建索引时,它仅显示一个服务器日志,而不显示另一台服务器(在host.name字段下)。

请提出一些建议。

配置中没有明显的错误,如果它适用于一台服务器,那么它也应该适用于另一台服务器,因此我怀疑这是一个配置错误的问题。

我认为最好查看服务器之间的差异,并确保它们的配置完全相同。

检查类似:

  • 两台服务器(尤其是发生故障的服务器)之间通过filebeat连接到Logstash服务器和端口
  • 比较两个服务器上的日志文件的文件权限
  • 在filebeat和logstash上启用INFO日志记录,并尝试查看是否有任何异常
  • 确保版本与两台服务器上的beats和ELK兼容( https://www.elastic.co/support/matrix#matrix_compatibility

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM