Filebeat在CentOS上的多节点部署指南
Filebeat的多节点部署旨在实现日志的全面采集、高可用性及负载均衡,适用于CentOS服务器集群环境。以下是具体实施步骤:
sudo yum update -y,同步系统软件包。sudo yum install -y yum-utils wget,用于后续Filebeat下载与管理。wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.x.x-linux-x86_64.tar.gz/opt/目录(或其他自定义路径):tar -zxvf filebeat-7.x.x-linux-x86_64.tar.gz -C /opt/ln -s /opt/filebeat-7.x.x-linux-x86_64 /opt/filebeat/lib/systemd/system/filebeat.service,内容如下:[Unit]
Description=Filebeat sends log files to Logstash or directly to Elasticsearch.
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml
Restart=always
[Install]
WantedBy=multi-user.target
执行sudo systemctl daemon-reload重新加载服务,然后启动并设置开机自启:sudo systemctl enable filebeat && sudo systemctl start filebeat。/opt/filebeat/filebeat.yml,核心配置包括:
/var/log/*.log):filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["es-node1:9200", "es-node2:9200", "es-node3:9200"]
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
cluster.name(如my-filebeat-cluster),确保节点属于同一集群:cluster.name: my-filebeat-cluster
node.name(如filebeat-node1、filebeat-node2):node.name: filebeat-node1 # 不同节点修改为此值
output.elasticsearch中启用loadbalance(默认开启),实现请求自动分发:output.elasticsearch:
hosts: ["es-loadbalancer:9200"] # 指向负载均衡器地址
loadbalance: true
若未使用负载均衡器,可直接配置多个Elasticsearch节点地址,Filebeat会自动轮询。registry.path(默认/var/lib/filebeat/registry)存在且可写,记录已发送日志位置,重启后不会丢失数据。queue.mem.events: 10000),避免因网络问题导致数据丢失。filebeat.up、filebeat.output.elasticsearch.success)。sudo systemctl start filebeat,检查状态:sudo systemctl status filebeat(应为active (running))。tail -f /var/log/filebeat/filebeat.log确认无错误信息,如Successfully connected to Elasticsearch。http://kibana-host:5601),创建filebeat-*索引模式,检查是否能查询到各节点发送的日志数据。ssl.enabled: true)、设置认证信息(username/password),保护数据传输安全。