多个单个配置文件中的日志记录到elasticsearch

时间:2017-01-24 14:03:17

标签: elasticsearch

我想使用logstash conf文件将来自不同位置的日志发送到elasticsearch。

input {           
    file
    {
path => "C:/Users/611166850/Desktop/logstash-5.0.2/logstash-5.0.2/logs/logs/ce.log" 
type => "CE"
start_position => "beginning" 
 }
file
{
path => "C:/Users/611166850/Desktop/logstash-5.0.2/logstash-5.0.2/logs/logs/spovp.log" 
type => "SP"
start_position => "beginning" 
 } 
file
{
path => "C:/Users/611166850/Desktop/logstash-5.0.2/logstash-5.0.2/logs/logs/ovpportal_log" 
type => "OVP"
start_position => "beginning" 
 } 

}

output {
  elasticsearch {
    action => "index"
    hosts => "localhost:9200"
    index => "multiple"
codec => json 
workers => 1
  }
}

这是我使用的配置文件,但Kibana无法识别此索引。有人可以帮忙吗

提前致谢,拉什米

2 个答案:

答案 0 :(得分:0)

检查logstash的日志文件是否有错误。(可能您的配置文件不正确)
也可以直接搜索ES以获取首选索引,也许问题不是Kibana,并且您没有任何具有此名称的索引。

答案 1 :(得分:0)

尝试在调试模式下启动logstash以查看其中是否有任何日志。 您还可以尝试将logstash放到本地系统上的文件中,而不是直接将其发送到elasticsearch。根据您的要求取消注释

# block-1
#  if "_grokparsefailure" not in [tags] {
#   stdout {
#    codec => rubydebug { metadata => true }
#   }
#  }
# block-2
#  if "_grokparsefailure" not in [tags] {
#    file {
#    path => "/tmp/out-try1.logstash"
#    }
# }

因此,通过这些方法中的任何一种,您都可以将输出输出到控制台或文件。注释_grokparsefailure部分,以防您在文件中看不到任何输出。

注意:在kibana中,默认索引在其字段中有@timestamp,因此请检查 1.如果您取消勾选创建新索引的页面上的复选框,kibana是否能够识别索引 2.如果您的日志已正确解析。如果不是,你需要使用模式匹配日志的grok过滤器或创建grok过滤器

所有弹性搜索索引都在http://elasticsearch-ip:9200/_cat/indices?v上显示(你的弹性搜索ip),所以也试试。分享你找到的东西