如何使用ELK生成有关现有日志转储的报告?

时间:2017-01-19 12:27:31

标签: elasticsearch logstash kibana elastic-stack

使用ELK堆栈,是否可以生成有关现有日志转储的报告?

例如: 我有2 GB的Apache访问日志,我想让仪表板报告显示:

  1. 所有请求,状态代码为400
  2. 所有请求,格式如" GET http://example.com/abc/。*"
  3. 欣赏,任何示例链接。

1 个答案:

答案 0 :(得分:0)

是的,有可能。你应该:

  1. 安装并设置ELK堆栈。
  2. 安装filebeat,将其配置为收集日志,并将数据转发到logstash。
  3. 在logstash中,听取filebeat输入,使用grok处理/分解您的数据,并将其转发给elastichsearch,例如:

    input {
      beats {
        port => 5044
      }
    }
    
    filter {
            grok {
                match => { "message" => "%{COMMONAPACHELOG}" }
            }
    }
    
    output {
      elasticsearch {
        hosts => ["localhost:9200"]
        index => "filebeat-logstash-%{+YYYY.MM.dd}"
      }
    }
    
  4. 在kibana中,设置索引并查询数据,例如

    response: 400
    
    verb: GET AND message: "http://example.com/abc/"