sudo yum update -y
yum-utils
(用于管理倉庫)和wget
(用于下載文件)。sudo yum install -y yum-utils wget
x86_64
)和Elastic Stack兼容性,從Elastic官網下載對應版本的Filebeat(推薦使用RPM包,便于管理)。wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.6.2-x86_64.rpm
rpm
命令安裝下載的包。sudo rpm -ivh filebeat-8.6.2-x86_64.rpm
注:安裝后,Filebeat主程序位于
/usr/share/filebeat
,配置文件位于/etc/filebeat/filebeat.yml
。
編輯主配置文件:使用文本編輯器(如vim
)修改/etc/filebeat/filebeat.yml
,核心配置包括輸入源、輸出目標和索引模板。
# 定義輸入源(監控系統日志)
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- /var/log/messages
- /var/log/syslog
# 定義輸出目標(發送到Elasticsearch)
output.elasticsearch:
hosts: ["localhost:9200"] # 若Elasticsearch在遠程服務器,替換為對應IP
username: "elastic" # 若啟用了X-Pack安全認證,需填寫用戶名
password: "your_password" # 若啟用了X-Pack安全認證,需填寫密碼
# 可選:配置索引模板(優化索引結構)
setup.template.settings:
index.number_of_shards: 3 # 索引分片數(根據數據量調整)
index.codec: best_compression # 使用最佳壓縮算法節省存儲空間
提示:若需監控特定應用日志(如Nginx),可將
paths
修改為應用日志路徑(如/var/log/nginx/*.log
)。
驗證配置語法:使用Filebeat內置命令檢查配置文件是否有錯誤。
sudo filebeat test config -e
systemctl
命令啟動Filebeat。sudo systemctl start filebeat
sudo systemctl enable filebeat
sudo systemctl status filebeat
若狀態顯示為active (running)
,則表示啟動成功。查看Elasticsearch索引:通過Elasticsearch API檢查是否創建了Filebeat索引(索引名稱通常為filebeat-*
)。
curl -X GET "localhost:9200/_cat/indices?v&pretty"
若看到類似filebeat-8.6.2-2025.10.02
的索引,說明數據已成功采集。
查看Filebeat日志:若需調試,可通過以下命令查看實時日志。
sudo journalctl -u filebeat -f
若安裝時未自動創建Systemd服務文件,可手動創建(適用于源碼安裝或自定義路徑):
sudo vim /etc/systemd/system/filebeat.service
添加以下內容(根據實際路徑調整):
[Unit]
Description=Filebeat
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
ExecStart=/usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml
Restart=always
[Install]
WantedBy=multi-user.target
保存后,執行以下命令啟用服務:
sudo systemctl daemon-reload
sudo systemctl enable filebeat
9200
端口(TCP),允許Filebeat訪問。sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
setsebool -P var_log_t_filebeat 1
)。bulk_max_size
(批量發送大?。?、max_procs
(并發數)等參數,提升采集效率。