在Ubuntu上实现Filebeat的分布式部署,可以按照以下步骤进行:
首先,在所有节点上安装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,确保它们指向同一个Elasticsearch集群和Kibana实例。
/etc/filebeat/filebeat.yml
)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}"
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.template.enabled: false
/etc/filebeat/filebeat.yml
)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}"
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.template.enabled: false
在所有节点上启动Filebeat服务。
sudo systemctl start filebeat
sudo systemctl enable filebeat
检查Filebeat是否正常运行,并查看Elasticsearch中的索引是否正确创建。
sudo filebeat modules list
curl -X GET "localhost:9200/_cat/indices?v&pretty"
如果你有多个Filebeat节点,并且希望它们能够自动发现彼此,可以使用Elasticsearch的发现机制。
在elasticsearch.yml
中启用发现功能:
discovery.seed_hosts: ["es-node1", "es-node2", "es-node3"]
cluster.initial_master_nodes: ["es-node1", "es-node2", "es-node3"]
在filebeat.yml
中启用发现:
setup.discovery.enabled: true
setup.discovery.seed_hosts: ["es-node1", "es-node2", "es-node3"]
确保你有适当的监控和日志记录机制来跟踪Filebeat的性能和健康状况。可以使用Elastic Stack的监控功能,如Kibana的仪表盘和警报。
通过以上步骤,你可以在Ubuntu上实现Filebeat的分布式部署。确保所有节点的配置一致,并且Elasticsearch集群能够正确处理来自多个Filebeat节点的数据。