Elk Elasticsearch logstash配置

时间:2016-11-06 20:02:56

标签: kibana-4 elastic-stack logstash-configuration elasticsearch-2.0 filebeat

我是ELK的新人。事实上,我已经在ubuntu 14.04上安装了Logstash,elasticsearch和kibana。当我尝试在我的ubuntu上使用现有日志文件测试ELK时,logstash没有将日志加载到elasticsearch并且什么也没显示。这是我的logstash配置文件:sudo gedit /etc/logstash/conf.d/logstash.conf input {

file {
path => "/home/chayma/logs/catalina.2016-02-02.log"
start_position => "beginning"
}
}

filter {

grok { 
match => { "message" => "%{COMMONAPACHELOG}" } 
}
}

output {
elasticsearch   {
hosts => [ "127.0.0.1:9200" ] 
}   
stdout          
{
codec => rubydebug
}
}

但是,我的elasticsearch.yml包含:

cluster.name: my-application

node.name: node-1

node.master: true

node.data: true

index.number_of_shards: 1

index.number_of_replicas: 0

network.host: localhost

http.port: 9200

请帮忙

4 个答案:

答案 0 :(得分:0)

我认为Logstash和Elasticsearch安装在同一台机器上并运行Logstash?

   sudo service logstash status

尝试检查Logstash日志文件以查看它是否存在连接问题或语法错误(配置看起来没问题,所以可能是前者):

   tail -f /var/log/logstash/logstash.log

答案 1 :(得分:0)

您的COOMONAPACHELOG是否与您尝试使用GROK解析的日志模式匹配?

默认情况下,来自Ubuntu 14.04上的路径

/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.5/patterns/grok-patterns

您可以在此处验证相同

<强> https://grokdebug.herokuapp.com/

我们案例中的GROK正在应用以下正则表达式:

COMMONAPACHELOG %{IPORHOST:clientip} %{HTTPDUSER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)

请提供日志条目。

答案 2 :(得分:0)

感谢您的回复,我的配置文件(弹性,logstash,filebeat)一切正常。

非常感谢。

答案 3 :(得分:0)

通过向其添加索引名称来更改您的elasticsearch输出,然后尝试

output {
elasticsearch   {
hosts => [ "127.0.0.1:9200" ] 
index => "testindex-%{+YYYY.MM.dd}"
}   
stdout          
{
codec => rubydebug
}
}