在CentOS上配置Filebeat数据传输加密需使用SSL/TLS,步骤如下:
# 生成CA证书
openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3650 -nodes
# 生成Filebeat证书
openssl req -newkey rsa:4096 -keyout filebeat.key -out filebeat.csr -nodes
openssl x509 -req -in filebeat.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out filebeat.crt -days 3650
/etc/filebeat/filebeat.yml
,在output.elasticsearch
中启用SSL并指定证书路径。output.elasticsearch:
hosts: ["https://elasticsearch_host:9200"]
ssl.enabled: true
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
/etc/elasticsearch/elasticsearch.yml
。xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
sudo systemctl restart filebeat
sudo systemctl restart elasticsearch
curl
命令测试加密连接是否正常。注意:生产环境建议使用CA签发的证书,避免自签名证书的安全风险。