在CentOS中集成Filebeat與Elasticsearch的步驟如下:
Elasticsearch是基于Java開發的,因此需要在CentOS系統上安裝Java環境??梢允褂靡韵旅畎惭bOpenJDK:
sudo dnf install java-11-openjdk
從Elasticsearch官網下載最新版本的Elasticsearch壓縮包,并解壓到指定目錄,例如:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.15.1-linux-x86_64.tar.gz
進入Elasticsearch目錄,編輯elasticsearch.yml
配置文件,設置集群名稱、節點名稱、網絡地址等參數。確保每個節點的配置文件中cluster.name
和node.name
參數是唯一的。
cluster.name: my-es-cluster
node.name: node-1
network.host: 0.0.0.0
discovery.seed_hosts: ["host1", "host2", "host3"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
在每個節點上運行以下命令啟動Elasticsearch:
cd elasticsearch-7.15.1/bin
./elasticsearch
從Elastic官網下載適合你操作系統的Filebeat安裝包,并按照官方文檔的說明進行安裝和配置。例如,下載Filebeat 7.15.2版本:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.15.2-linux-x86_64.tar.gz
tar -xvf filebeat-7.15.2-linux-x86_64.tar.gz
進入Filebeat目錄,編輯filebeat.yml
配置文件,設置Elasticsearch的地址和認證信息(如果需要):
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["elasticsearch-host:9200"]
index: "filebeat-%{+yyyy.MM.dd}"
username: "filebeat_user"
password: "filebeat_password"
運行以下命令啟動Filebeat:
./filebeat -c filebeat.yml
在Elasticsearch的REST API中,使用以下命令檢查集群狀態:
curl -X GET "localhost:9200/_cluster/health?pretty"
你應該能看到一個包含集群名稱、狀態、節點數量等信息的JSON響應。
Kibana可以為Filebeat和Elasticsearch提供的日志分析友好的Web界面。安裝并配置Kibana,以便于日志的可視化和分析。
通過以上步驟,你可以在CentOS上成功集成Filebeat與Elasticsearch,實現日志的收集、存儲和分析。