在 CentOS 上配置 Filebeat 使用证书,通常出现在以下两种场景:
下面分别说明,以 CentOS 7/8 通用为例。
通常你需要以下文件(由 Elasticsearch / CA 签发):
ca.crt:CA 证书client.crt:Filebeat 客户端证书client.key:Filebeat 私钥建议放到:
/etc/filebeat/certs/
设置权限:
chmod 600 /etc/filebeat/certs/client.key
chmod 644 /etc/filebeat/certs/ca.crt
chmod 644 /etc/filebeat/certs/client.crt
vi /etc/filebeat/filebeat.yml
output.elasticsearch:
hosts: ["https://es-node1:9200"]
username: "filebeat_writer"
password: "your_password"
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/client.crt"
ssl.key: "/etc/filebeat/certs/client.key"
如果是自签 CA,
ca.crt必须配置
output.logstash:
hosts: ["logstash-host:5044"]
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/client.crt"
ssl.key: "/etc/filebeat/certs/client.key"
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"]
}
}
filebeat test config
filebeat test output
启动 / 重启:
systemctl restart filebeat
systemctl status filebeat
ca.crtclient.key 权限不是 600/etc/filebeat/
├── filebeat.yml
└── certs/
├── ca.crt
├── client.crt
└── client.key
如果你能告诉我:
我可以给你完全对应的配置模板。