在 CentOS 上给 Filebeat 设置密码,通常指两种情况之一:
下面以最常见场景说明:Filebeat 向 Elasticsearch / Logstash 发送数据时使用用户名和密码。
sudo yum install filebeat -y
编辑配置文件:
sudo vi /etc/filebeat/filebeat.yml
output.elasticsearch:
hosts: ["https://es-host:9200"]
username: "filebeat_user"
password: "your_password"
如果是 HTTPS + 证书:
output.elasticsearch:
hosts: ["https://es-host:9200"]
username: "filebeat_user"
password: "your_password"
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
sudo filebeat test output
sudo systemctl enable filebeat
sudo systemctl start filebeat
output.logstash:
hosts: ["logstash-host:5044"]
username: "filebeat"
password: "your_password"
⚠️ Logstash 需要配置
input { beats { } }并启用ssl+user认证(通常配合 Elasticsearch X-Pack)
不要明文写密码
sudo filebeat keystore create
sudo filebeat keystore add ES_PASSWORD
然后在 filebeat.yml 中:
output.elasticsearch:
hosts: ["https://es-host:9200"]
username: "filebeat_user"
password: "${ES_PASSWORD}"
# Elasticsearch 中创建角色和用户
bin/elasticsearch-users useradd filebeat_user -p password -r filebeat_writer
或者在 Kibana → Stack Management → Users 创建。
filebeat-* 写权限ca.crt如果你说的是 “CentOS 系统用户给 filebeat 设密码” 或 “filebeat 配置文件加密”,可以告诉我具体场景,我给你对应方案。