在CentOS上使用Filebeat进行日志加密可以通过配置TLS/SSL加密传输来实现。以下是详细的步骤:

首先,确保你已经在CentOS上安装了Filebeat。如果没有安装,可以使用以下命令进行安装:
sudo yum install filebeat使用OpenSSL生成SSL证书和密钥。以下是生成自签名证书的示例命令:
# 创建CA目录和文件mkdir -p /etc/pki/tls/certsmkdir -p /etc/pki/tls/private# 生成CA私钥openssl genrsa -out /etc/pki/tls/private/ca.key 2048# 生成CA证书openssl req -x509 -new -nodes -key /etc/pki/tls/private/ca.key -out /etc/pki/tls/certs/ca.crt -days 3650# 生成Filebeat私钥openssl genrsa -out /etc/pki/tls/private/filebeat.key 2048# 生成CSR(证书签名请求)openssl req -new -key /etc/pki/tls/private/filebeat.key -out /etc/pki/tls/certs/filebeat.csr -subj "/CN=<Filebeat_Server_IP>/"# 使用CA证书签名CSR,生成Filebeat证书openssl x509 -req -in /etc/pki/tls/certs/filebeat.csr -CA /etc/pki/tls/certs/ca.crt -CAkey /etc/pki/tls/private/ca.key -CAcreateserial -out /etc/pki/tls/certs/filebeat.crt -days 365编辑Filebeat的配置文件 /etc/filebeat/filebeat.yml,指定SSL证书和密钥的位置,以及目标服务器的地址和端口。
filebeat.inputs:- type: logpaths:- /path/to/your/log/*.logoutput.elasticsearch:hosts:- ["https://your-elasticsearch-server:9200"]ssl.certificate_authorities:- "/etc/pki/tls/certs/ca.crt"# CA证书的路径,用于验证目标服务器的身份ssl.certificate: "/etc/pki/tls/certs/filebeat.crt"# Filebeat的证书路径ssl.key: "/etc/pki/tls/private/filebeat.key"# Filebeat的私钥路径确保Elasticsearch已经配置为接受TLS连接。编辑 /etc/elasticsearch/elasticsearch.yml 文件,添加或修改以下配置:
xpack.security.enabled: truexpack.security.transport.ssl.enabled: truexpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.keystore.path: elastic-certificates.p12xpack.security.transport.ssl.truststore.path: elastic-certificates.p12然后,使用Elasticsearch的 elasticsearch-certutil 工具生成证书和密钥:
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil ca --pem --out /etc/elasticsearch/certs/ca.crtsudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --pem -in /etc/elasticsearch/certs/ca.crt -out /etc/elasticsearch/certs/elastic-certificates.p12 -pass ""完成配置后,重启Filebeat和Elasticsearch服务以应用更改:
sudo systemctl restart filebeatsudo systemctl restart elasticsearch确保Filebeat能够成功连接到Elasticsearch,并且日志数据是通过TLS加密传输的。你可以通过查看Elasticsearch的日志文件来验证这一点。
sudo tail -f /var/log/elasticsearch/filebeat.log通过以上步骤,你可以在CentOS上使用Filebeat实现日志的加密传输。