因此,基本上我只有一个日志或文本文件,我想使用ELK进行可视化。我能够在系统上设置elasticsearch和kibana。这是我的logstash配置文件。

input { file {
    path => "G:/everything.log"
    start_position => "beginning"
} }

filter {

}

output {
  elasticsearch { hosts => ["localhost:9200"]
  index => "example" }
  stdout { codec => rubydebug }
}

在浏览器中打开http://localhost:9200/时,出现
{
  "name" : "1rtH6q6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "oicreqLyQ_iNiTrOQ0sYPQ",
  "version" : {
    "number" : "5.4.1",
    "build_hash" : "2cfe0df",
    "build_date" : "2017-05-29T16:05:51.443Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.1"
  },
  "tagline" : "You Know, for Search"
}

在我的kibana控制台中执行GET / _cat / indices?v&pretty之后
health status index          uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   .kibana        fxFjIS55Q9-qAgqLlPE0Cw   1   1          2            0      6.3kb          6.3kb
yellow open   windows_events YUBWMzRpRTmEdu6E2UoCXg   5   1          2            0     12.6kb         12.6kb

请帮我解决这个问题

最佳答案

据我了解您的问题,您需要做几件事才能在Kibana中显示您的日志。

1)根据您的日志模式,您必须编写适当的grok模式来解析您的日志文件。您也可以使用Grok Debugger utility为您的日志编写grok模式。

例如。对于Apache访问日志,grok模式为

   filter {
      grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
      }
      date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
      }
    }

我建议您阅读此official guideline

正确解析日志文件后,您将看到数据将在example Elasticsearch索引上进行索引。

为了验证数据,您可以在下面的get命令中使用
 curl -XGET 'localhost:9200/example/_search'

2)在下一步中,您必须在kibana中配置默认​​的Elasticsearch索引模式。作为引用,请阅读这些引用
  • define Your Index Pattern
  • Connect Kibana with Elasticsearch
  • 关于elasticsearch - 如何将logstash中的日志/txt文件管道传输到elasticsearch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44669262/

    10-11 08:39
    查看更多