我是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
请帮忙
答案 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
}
}