ElasticSearch服务拥有日志

时间:2014-09-09 09:34:51

标签: logging elasticsearch logstash kibana

我按照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 /日志/系统日志?

2 个答案:

答案 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'