如何在CentOS上使用Filebeat監控系統日志
Filebeat是Elastic官方提供的輕量級日志收集器,支持CentOS系統。安裝方式有兩種:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
sudo yum install -y filebeat
filebeat-7.14.0-x86_64.rpm),再用rpm命令安裝:sudo rpm -ivh filebeat-7.14.0-x86_64.rpm
Filebeat的核心配置文件位于/etc/filebeat/filebeat.yml,需修改以下關鍵部分:
log類型輸入,指定要監控的系統日志路徑。例如,監控/var/log目錄下所有.log文件(包括messages、secure等系統日志):filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
ignore_older: 72h # 忽略72小時前的舊日志(可選,減少資源占用)
若只需監控特定日志(如/var/log/messages和/var/log/secure),可調整為:paths:
- /var/log/messages
- /var/log/secure
output.elasticsearch:
hosts: ["localhost:9200"] # Elasticsearch地址(若不在本地,替換為IP)
index: "system-logs-%{+yyyy.MM.dd}" # 自定義索引名稱(按日期分割)
若需先發送到Logstash(需提前安裝并運行Logstash),可配置:output.logstash:
hosts: ["localhost:5044"] # Logstash地址
配置完成后,啟動Filebeat服務并設置為開機自啟:
sudo systemctl daemon-reload # 重新加載systemd配置(若有修改)
sudo systemctl start filebeat # 啟動Filebeat
sudo systemctl enable filebeat # 設置開機自啟
sudo systemctl status filebeat
若顯示“Active: active (running)”,說明服務已正常啟動。sudo tail -f /var/log/filebeat/filebeat
若日志中出現“Successfully sent batch of events to Elasticsearch”或“Logstash output is configured”,說明配置生效。Filebeat提供了針對常見系統日志(如system、nginx、mysql)的預定義模塊,可直接使用:
sudo filebeat modules enable system
系統模塊會自動監控/var/log/messages、/var/log/secure等系統日志,并應用預定義的解析規則。/etc/filebeat/modules.d/system.yml,可根據需求調整(如過濾字段、添加標簽)。sudo systemctl restart filebeat
filebeat.yml中增加max_procs(CPU核心數)和queue.mem.events(內存隊列大?。?,提升處理能力:max_procs: 4 # 使用4個CPU核心
queue.mem.events: 4096 # 內存隊列大?。J1024)
bulk_max_size(每次發送的日志條數),減少網絡請求次數:output.elasticsearch:
bulk_max_size: 512 # 默認為20
filestream輸入類型(替代老舊的log類型),性能更優:filebeat.inputs:
- type: filestream
enabled: true
paths:
- /var/log/*.log
通過以上步驟,即可完成Filebeat在CentOS上的部署,實現對系統日志的實時監控與傳輸。后續可通過Kibana連接Elasticsearch,進行日志的可視化分析與告警配置。