在CentOS上配置Filebeat以使用SSL加密传输,需要完成以下几个步骤:
首先,确保你已经在CentOS上安装了Filebeat。你可以从Elastic官方网站下载并安装最新版本的Filebeat。
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-amd64.deb
sudo dpkg -i filebeat-7.10.0-amd64.deb
编辑Filebeat的配置文件/etc/filebeat/filebeat.yml
,添加或修改以下配置项以启用SSL加密传输。
假设你已经有一个运行中的Elasticsearch实例,并且启用了SSL。
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["https://your_elasticsearch_host:9200"]
ssl.verification_mode: certificate
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/client.crt"
ssl.key: "/etc/filebeat/certs/client.key"
你需要生成或获取以下证书和密钥:
ca.crt
: CA证书client.crt
: 客户端证书client.key
: 客户端私钥你可以使用OpenSSL生成这些证书和密钥。
# 生成CA证书
openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3650 -nodes
# 生成客户端证书和密钥
openssl req -newkey rsa:2048 -keyout client.key -out client.csr
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365
将生成的证书和密钥文件放置在/etc/filebeat/certs/
目录下。
sudo mkdir -p /etc/filebeat/certs
sudo cp ca.crt /etc/filebeat/certs/
sudo cp client.crt /etc/filebeat/certs/
sudo cp client.key /etc/filebeat/certs/
配置完成后,启动Filebeat服务并设置开机自启动。
sudo systemctl start filebeat
sudo systemctl enable filebeat
你可以通过查看Filebeat的日志来验证SSL配置是否成功。
sudo journalctl -u filebeat -f
如果一切配置正确,你应该会看到Filebeat成功连接到Elasticsearch并开始发送日志数据。
600
。sudo chmod 600 /etc/filebeat/certs/*.crt
sudo chmod 600 /etc/filebeat/certs/*.key
通过以上步骤,你应该能够在CentOS上成功配置Filebeat以使用SSL加密传输日志数据到Elasticsearch。