在 Ubuntu 上,Filebeat 加密传输通常是指在 Filebeat 与下游(Logstash / Elasticsearch / Kafka 等)之间使用 TLS/SSL 加密。下面按常见场景说明。
在 Logstash/ES 服务器端生成:
ca.crtserver.crtserver.key将 ca.crt 拷贝到 Ubuntu Filebeat 所在机器,例如:
/etc/filebeat/certs/ca.crt
logstash.conf
input {
beats {
port => 5044
ssl => true
ssl_certificate => "/etc/logstash/certs/server.crt"
ssl_key => "/etc/logstash/certs/server.key"
ssl_certificate_authorities => ["/etc/logstash/certs/ca.crt"]
}
}
编辑:
sudo vim /etc/filebeat/filebeat.yml
output.logstash:
hosts: ["logstash.example.com:5044"]
ssl.enabled: true
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.verification_mode: full # 或 certificate
ssl.verification_mode: none不推荐(不安全)
sudo systemctl restart filebeat
sudo systemctl status filebeat
output.elasticsearch:
hosts: ["https://es.example.com:9200"]
username: "filebeat"
password: "xxxx"
ssl.enabled: true
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
如果 ES 使用自签名证书:
sudo filebeat setup --dashboards
output.kafka:
hosts: ["kafka1:9093"]
topic: "logs"
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"
启用客户端证书校验。
openssl s_client -connect logstash.example.com:5044
或查看 Filebeat 日志:
journalctl -u filebeat -f
✅ 加密方式:TLS/SSL
✅ 核心配置:ssl.enabled: true + ca.crt
✅ 推荐:verification_mode: full
如果你愿意,可以告诉我:
我可以直接给你一套可复制的完整配置。