目标
使用filebeat将数据通过公网传输到elasticsearch。
原因
要采集数据的服务与elasticsearch不再一个网络,要采集数据的服务必须通过公网才能访问到elasticsearch。
由于elasticsearch不建议直接对外开放外网访问,因此需要一定的安全机制。
解决方案
通过nginx代理访问elasticsearch,nginx上使用openssl制作证书,开放https访问,外网域名映射到nginx服务。
这样客户端使用https访问到es时必须有客户端证书才可以。可以很大程度上保证其安全性。
同时还需要对elasticsearch设置密码。
实施过程
1. 证书制作及nginx配置过程 https://blog.csdn.net/haoxinqing9698/article/details/119219386
2. filebeat配置
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["自己的nginx域名:443"]
index: "收集到的索引名"
# Protocol - either `http` (default) or `https`.
protocol: "https"
# Authentication credentials - either API key or username/password.
#api_key: "