CentOS Linux版本7.2.1511(核心)
使用最新的Logstash和ES版本:
Name : elasticsearch
Arch : noarch
Version : 2.4.0
Release : 1
Name : logstash
Arch : noarch
Epoch : 1
Version : 2.4.0
Release : 1
我有一个2节点ES群集。 节点绑定到配置文件中的NIC IP(10.1.1.1,另一节点为10.1.1.2):
network.host: 10.1.1.1
Curling 10.1.1.1:9200成功响应ES群集信息。
"cluster_name": "mycluster",
"status": "green",
"timed_out": false,
"number_of_nodes": 2,
"number_of_data_nodes": 2,
"active_primary_shards": 0,
"active_shards": 0,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
在其中一个节点上安装了logstash。在this tutorial之后,他们提供了示例日志数据。
在tut中使用相同的配置文件,但将“localhost”替换为“10.1.1.1”
当我查看ES节点时,我看到没有创建索引(使用10.1.1.1:9200/_cat/indices?v
检查)
这里没有登录/ var / log / logstash
运行此命令后,不会触及或更改/ var / log / elasticsearch中的es日志
使用--verbose运行log stash命令不显示任何错误,只显示有关加载过滤器的消息,然后只是坐在“管道主要启动”并且不输出任何内容。
停止了firewalld服务,但仍然没有
编辑: 好的,所以这个问题是我指定了日志文件的直接路径(而不是* .log,如屏幕截图所示)。
根据教程(和文件插件文档),指定start_position => 0和ignore_older => 0应该吸入日志文件和其中的任何预先存在的数据,但它没有这样做。如果我启动了logstash进程并使用echo>>将新数据推送到日志文件中logstash最终将数据推送到elasticsearch。
所以我的问题是为什么在指定日志文件的直接路径时它不处理日志的预先存在的数据?为什么* .log需要获取预先存在的数据?