Logstash Reference [5.2] >> Output plugins >> elasticsearch
elasticsearchedit
Version: 6.2.6
Released on: 2017-02-07
这个插件是推荐方法存储日志在Elasticsearch, 如果你计划使用Kibana web interface,你需要使用这个输出:
这个输出只讲HTTP协议, HTTP 是首先协议用于和Elasticsearch 交互。
我们强力支持使用HTTP,对于下面原因:
HTTP 只是略慢,但是更容易管理和工作。
当使用HTTP协议 你可能需要升级Elasticsearch 版本
模板管理用于Elasticsearch 5.x
索引模板对于(logstash 5.0) 已经被改变来影响elasticsearch的 mapping 改变。
重试策略:
重试策略应该显著改变在2.2.0版本 这个插件使用Elasticsearch bulk API 来优化它的导入到Elasticsearch,
这些请求可能遇到部分或者全部的故障:
下面的错误会无限重试:
Network errors (inability to connect)
429 (Too many requests) and
503 (Service unavailable) errors
注意:
Batch Sizes 批量大小:
这个插件尝试发送 批量events作为一个单独的请求,然而,如果一个请求超过20MB 我们会打散到多个batch请求
如果一个单独的文档超过20MB 它会发送作为一个单独的请求
DNS Caching
这个插件使用JVM 来查找DNS 条目
Synopsis
这个插件支持下面配置选项:
需要 配置选项:
elasticsearch {
}
可用的配置选项:
详情:
absolute_healthcheck_path:
当 一个healthcheck_path 是被配置,这个额外的flag可以用于指定
是否 healthcheck_path 是被追加到存在的路径(默认)
或者是对待为一个绝对的额URL路径
For example, if hosts url is "http://localhost:9200/es" and healthcheck_path is "/health", the health check url will be:
with absolute_healthcheck_path: true: "http://localhost:9200/es/health"
with absolute_healthcheck_path: false: "http://localhost:9200/health"
hosts:
Value type is uri
Default value is [//127.0.0.1]
设置 远程实例的host(s),如果给定一个数组 它会负载均衡请求到指定的主句。
远程的http 协议使用http address(eg.9200,不是9300)
"127.0.0.1" ["127.0.0.1:9200","127.0.0.2:9200"] ["http://127.0.0.1"] ["https://127.0.0.1:9200"] ["https://127.0.0.1:9200/mypath"]
如果使用一个代理在一个子路径 它是重要的排除单独的master节点从主机列表来防止Logstash 发送bulk 请求到master节点。
因此这个参数应该只引用数据节点或者client节点在elasticsearch集群