我按照https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-and-visualize-logs-on-ubuntu-14-04中描述的步骤在Ubuntu机器上安装了ELK(ElasticSearch + Kibana + Logstash)。
使用/ var / log / syslog文件作为日志源时,一切正常。如果我更改为另一个文件,Kibana界面中不会显示任何数据。我尝试调试应用程序,但没有找到有用的信息:
的/ var /日志/ elasticsearch
/var/log/logstash/logstash.log
的/ var / log / syslog的
是否有人知道在哪里可以找到ElasticSearch,Logstash和Logstash-Forwarder的详细日志记录,而不是以前指定的文件?
TLDR; ElasticSearch,Logstash和Logstash-Forwarder在/ var / log / elasticsearch旁输出日志; /var/log/logstash/logstash.log;的/ var /日志/系统日志?
答案 0 :(得分:1)
您希望在LogStash中设置处理程序以使用ElasticSearch的日志。我把一个模型拼凑起来帮助解决这个问题(详见下文)。类似的东西:
input {
file {
type => "elasticsearch-log"
path => ["/var/log/elasticsearch/*.log"]
sincedb_path => "/opt/logstash/sincedb-access"
discover_interval => 10
}
}
filter {
if [type] == "elasticsearch-log" {
grok {
match => [ "message", "%{ELASTICSEARCHLOG}" ]
}
}
}
output {
elasticsearch {
host => "localhost"
}
}
模式文件将进入/opt/logstash/patterns/elasticsearch
ELASTICSEARCHTIME \[%{TIMESTAMP_ISO8601:timestamp}\]
ELASTICSEARCHLEVEL \[%{LOGLEVEL:level}\s+\]
ELASTICSEARCHSERVICE \[%{DATA:service}\s+\]
ELASTICSEARCHVERSION \[%{DATA:version}\]
ELASTICSEARCHLOG %{ELASTICSEARCHTIME}%{ELASTICSEARCHLEVEL}%{ELASTICSEARCHSERVICE} %{ELASTICSEARCHVERSION} %{GREEDYDATA:mymessage}
答案 1 :(得分:0)
这是日志的位置,没有太多关于弹性搜索中缺少条目的详细信息。
您可以执行以下操作以查看是否将日志传递到ES:
检查您正在使用的其他日志源的权限,确保logstash有权读取这些文件。
将此输出添加到您的logstash配置:
output {
stdout { codec => rubydebug }
从命令行运行logstash,看看是否可以看到解析的日志:
bin/logstash -f logstash.conf -l logstash.log -e
检查ES计数api以查看ES中的文档数量是否增加:
curl -XGET 'localhost:9200/_cat/count?v'