使用logstash和elasticsearch

时间:2015-04-17 14:18:13

标签: javascript node.js elasticsearch logstash

我实际上使用node-bunyan通过elasticsearch和logstash管理日志信息,我遇到了问题。

事实上,我的日志文件有一些信息,并在我需要时填写。

问题是弹性搜索在

上找不到任何东西
  

http://localhost:9200/logstash- * /

我有一个空对象,因此,我无法将我的日志传递给kibana。

这是我的logstash配置文件:

input {
    file {
        type => "nextgen-app"
        path => [ "F:\NextGen-dev\RestApi\app\logs\*.log" ]
        codec => "json"
    }   
}

output {

  elasticsearch {
 host => "localhost"
 protocol => "http"
 }

}

我的js代码:

log = bunyan.createLogger({
      name: 'myapp',
      streams: [
        {
          level: 'info',
          path: './app/logs/nextgen-info-log.log'
        },
        {
          level: 'error',
          path: './app/logs/nextgen-error-log.log'
        }
      ]
    })

router.all('*', (req, res, next)=>
      log.info(req.url)
      log.info(req.method)
      next()
    )

注意:日志写得很好。问题出在logstash和elasticsearch之间: - /

编辑:查询http://localhost:9200/logstash- * /给我" {}"一个空的JSON对象 谢谢你提前

2 个答案:

答案 0 :(得分:2)

以下是我们如何设法解决Logstash在Windows上无法正确处理文件的问题和其他问题:

  1. 按照此处的说明安装ruby-filewatch补丁: logstash + elasticsearch : reloads the same data

  2. 正确配置Logstash输入插件:

    input {
      file {
          path => ["C:/Path/To/Logs/Directory/*.log"]
          codec => json { }
          sincedb_path => ["C:/Path/To/Config/Dir/sincedb"]
          start_position => "beginning"
      }
    }
    
    ...
    
  3. " sincedb"跟踪您的日志文件长度,因此每个日志文件应该有一行;如果没有,那么还有其他错误。

    希望这有帮助。

答案 1 :(得分:2)

您的输出范围看起来不完整。这是输出参数列表http://logstash.net/docs/1.4.2/outputs/elasticsearch

请尝试:

input {
    file {
        type => "nextgen-app"
        path => [ "F:\NextGen-dev\RestApi\app\logs\*.log" ]
        codec => "json"
    }   
}

output {
    elasticsearch {
        host => "localhost"
        port => 9200
        protocol => "http"
        index => "logstash-%{+YYYY.MM.dd}"
    }
}

或者,您可以尝试传输协议:

output {
    elasticsearch {
        host => "localhost"
        port => 9300
        protocol => "transport"
        index => "logstash-%{+YYYY.MM.dd}"
    }
}

我还建议使用Kibana作为数据查看器。您可以在https://www.elastic.co/downloads/kibana

下载