溫馨提示×

ubuntu如何利用filebeat進行系統監控

小樊
40
2025-10-10 12:58:12
欄目: 智能運維

1. 安裝Filebeat
在Ubuntu上安裝Filebeat前,先更新系統軟件包列表:

sudo apt-get update && sudo apt-get upgrade -y

添加Elastic官方GPG密鑰和軟件源(以7.x版本為例):

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

更新軟件源并安裝Filebeat:

sudo apt-get update && sudo apt-get install filebeat -y

2. 配置Filebeat監控系統日志
Filebeat的主配置文件位于/etc/filebeat/filebeat.yml,需修改filebeat.inputs部分指定監控的日志路徑。例如,監控系統默認日志(syslog、auth.log)和所有.log文件:

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/syslog
    - /var/log/auth.log
    - /var/log/*.log
  ignore_older: 72h  # 忽略超過72小時的舊日志,減少資源占用

若需解析JSON格式日志(如某些應用的自定義日志),可添加processors配置:

processors:
- decode_json_fields:
    fields: ["message"]  # 從message字段提取JSON內容
    target: ""           # 解析后的字段存入根對象

3. 啟動Filebeat服務
保存配置文件后,啟動Filebeat并設置為開機自啟:

sudo systemctl start filebeat
sudo systemctl enable filebeat

檢查服務狀態,確認運行正常:

sudo systemctl status filebeat

若狀態顯示為active (running),則表示Filebeat已成功啟動。

4. 驗證日志收集與發送
查看Filebeat自身日志,排查配置錯誤:

sudo journalctl -u filebeat -f  # 實時查看日志

若輸出目標為Elasticsearch(默認配置),可通過以下命令檢查Elasticsearch中的索引:

curl -X GET "localhost:9200/_cat/indices?v"  # 查看所有索引

若索引前綴為filebeat-*,說明Filebeat已成功發送系統日志到Elasticsearch。

5. 可選:使用System模塊簡化配置
Filebeat提供system模塊,預定義了系統日志(如syslog、auth.log、kernel.log)的收集、解析規則,無需手動配置filebeat.inputs。啟用步驟如下:

sudo filebeat modules enable system  # 啟用system模塊

修改filebeat.yml,配置輸出目標(如Elasticsearch):

output.elasticsearch:
  hosts: ["localhost:9200"]
  index: "system-logs-%{+yyyy.MM.dd}"  # 索引按日期分割

重新加載配置并啟動Filebeat:

sudo systemctl restart filebeat

6. 高級配置(可選)

  • 多行日志處理:若日志跨越多行(如Java異常堆棧),需配置multiline選項合并多行:
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/myapp/*.log
      multiline:
        pattern: '^\['  # 匹配多行起始標識(如時間戳[2025-10-10)
        negate: true
        match: after     # 將后續行合并到上一行
    
  • 日志輪轉處理:調整close_inactive(文件無新數據后關閉的時間,默認5m)和clean_inactive(清理過期文件的時間,默認7天),避免文件句柄泄漏:
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/*.log
      close_inactive: 1h
      clean_inactive: 30d
    
  • 監控性能優化:若監控大量日志文件,可調整max_procs(最大CPU核心數)和queue.mem.events(內存隊列大?。?,提升吞吐量:
    max_procs: 4  # 使用4個CPU核心
    queue.mem:
      events: 4096  # 內存隊列最多緩存4096個事件
    

7. 監控Filebeat自身狀態
通過systemctl命令監控Filebeat運行狀態:

sudo systemctl status filebeat

查看Filebeat日志,確認是否有錯誤:

sudo tail -f /var/log/filebeat/filebeat.log

若需長期監控Filebeat的性能指標(如CPU、內存使用率),可使用top、htopprometheus+grafana組合,設置告警規則(如CPU使用率超過80%時觸發郵件通知)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女