我已经安装了EFK堆栈来记录nginx访问日志。
使用全新安装时,无法将数据从Fluentd传输到elasticsearch,没有任何问题。但是,我安装了searchguard来对elasticsearch和kibana实施身份验证。现在,我可以使用searchguards演示用户凭据登录到Kibana和elasticsearch。
现在我的问题是,fluentd无法连接到elasticsearch。从td-agent日志获取以下消息:
2018-07-19 15:20:34 +0600 [warn]: #0 failed to flush the buffer. retry_time=5 next_retry_seconds=2018-07-19 15:20:34 +0600 chunk="57156af05dd7bbc43d0b1323fddb2cd0" error_class=Fluent::Plugin::ElasticsearchOutput::ConnectionFailure error="Can not reach Elasticsearch cluster ({:host=>\"<elasticsearch-ip>\", :port=>9200, :scheme=>\"http\", :user=>\"logstash\", :password=>\"obfuscated\"})!"
这是我的Fluentd配置
<source>
@type forward
</source>
<match user_count.**>
@type copy
<store>
@type elasticsearch
host https://<elasticsearch-ip>
port 9200
ssl_verify false
scheme https
user "logstash"
password "<logstash-password>"
index_name "custom_user_count"
include_tag_key true
tag_key "custom_user_count"
logstash_format true
logstash_prefix "custom_user_count"
type_name "custom_user_count"
utc_index false
<buffer>
flush_interval 2s
</buffer>
</store>
</match>
sg_roles.yml:
sg_logstash:
cluster:
- CLUSTER_MONITOR
- CLUSTER_COMPOSITE_OPS
- indices:admin/template/get
- indices:admin/template/put
indices:
'custom*':
'*':
- CRUD
- CREATE_INDEX
'logstash-*':
'*':
- CRUD
- CREATE_INDEX
'*beat*':
'*':
- CRUD
- CREATE_INDEX
有人可以帮我吗?
答案 0 :(得分:1)
似乎td-agent默认使用TLSv1
将ssl_version TLSv1_2
添加到配置中,现在可以使用