首先查看一下logstash的日志,我这里日志报:
Logstash could not be started because there is already another instance using the configured data directory?
然后logstash启动失败,重启也是一样。这个问题需要再logstash下/data目录下查看是否存在 .lock 文件,如果存在把它删除。默认位置是在/data下,如果不是可以查看配置文件或者在logstash目录下使用find命令查找。
这样logstash就成功启动了,这时候如果你的conf文件没有问题就能够在elasticsearch-head里查看到对应的index。但是这时应该会多一个未分配的副本,所以elasticsearch的状态应该是黄色的。但是这个问题并不影响我们在kibana里查看数据。在kibana里手动搜索index名称,将其添加进kibana就可以进行下一步操作了。当然前提是你的index里有数据,不然kibana里是不会出现这个index的。
现在说一下怎么解决上面提到的elasticsearch的问题.有分析可知是因为elasticsearch默认会创建一个index副本,而副本没有主机可以分配导致的,因为我们本来就只有一台服务器,而不是一个集群。那么我们可以重新设置一下分片和副本数。通过下面的命令:
curl -XPUT 'http://yourip:9200/_template/template_http_request_record' -H 'Content-Type: application/json' -d '{"index_patterns": ["*"],"settings": {"number_of_shards": 1,"number_of_replicas": 0}}'
这样执行完删除原来的index,重新接受数据创建index就会发现没有多余的副本,elasticseach状态为绿色。
网友评论