溫馨提示×

CentOS文件系統如何監控

小樊
32
2025-10-23 20:20:00
欄目: 智能運維

CentOS文件系統監控方法

1. 實時事件監控:inotify-tools

inotify是Linux內核提供的文件系統事件監控機制,inotify-tools是其命令行工具集,可實現實時監控文件/目錄的創建、刪除、修改等操作。

  • 安裝工具包:通過yum包管理器安裝,命令為sudo yum install inotify-tools -y。
  • 基本監控命令
    • 監控單個目錄(遞歸子目錄):inotifywait -m -r /path/to/directory -e create,delete,modify,move-m表示持續監控,-r遞歸,-e指定事件類型)。
    • 監控單個文件:inotifywait -m /path/to/file -e modify,attribattrib表示文件屬性變化,如權限修改)。
  • 日志記錄與腳本擴展:將輸出重定向到日志文件(>> /var/log/inotify.log 2>&1 &),或通過腳本實現自定義告警(如發送郵件、重啟服務),例如。

2. 內核級審計:auditd

auditd是CentOS內置的審計服務,可詳細記錄文件系統的訪問、修改等操作,適合安全合規場景。

  • 安裝與啟動sudo yum install audit -y安裝,sudo systemctl start auditd啟動服務,sudo systemctl enable auditd設置開機自啟。
  • 配置監控規則:使用auditctl命令添加規則,例如監控/var/www/html目錄的寫入和屬性變化:sudo auditctl -w /var/www/html -p wa -k web_dir_monitor-w指定路徑,-p wa表示監控寫入w和屬性變化a,-k設置關鍵字便于過濾)。
  • 查看審計日志:通過ausearch -k web_dir_monitor命令過濾關鍵字日志,或使用aureport生成統計報告。

3. 第三方監控工具

Prometheus + Grafana

適用于大規模集群監控,提供可視化 dashboard 和告警功能。

  • 組件部署:安裝node_exporter(監控節點指標)和prometheus(數據采集),配置prometheus.yml添加節點和文件系統監控目標(如scrape_configs中配置job_name: 'filesystem')。
  • 可視化與告警:安裝grafana并添加Prometheus數據源,導入文件系統監控 dashboard(如“Node Exporter Full”),設置磁盤使用率、inode剩余量等告警閾值。

fswatch

跨平臺文件系統監控工具,支持實時監控和事件通知。

  • 安裝與使用sudo yum install fswatch -y安裝,基本命令為fswatch -0r /path/to/directory | xargs -0 -I {} echo "Directory changed: {}"-0用null分隔事件,-r遞歸監控)。

4. 腳本化輪詢監控

通過bash腳本結合系統命令實現基礎監控,適合簡單需求。

  • 常用命令df -h查看磁盤使用率,du -sh /path查看目錄大小,ls -l /path查看文件列表。
  • 示例腳本:監控/data目錄大小,超過10GB時發送告警:
    #!/bin/bash
    DIR_SIZE=$(du -s /data | awk '{print $1}')
    MAX_SIZE=$((10*1024)) # 10GB轉換為KB
    if [ $DIR_SIZE -gt $MAX_SIZE ]; then
      echo "Warning: /data directory size exceeds 10GB!" | mail -s "Disk Space Alert" admin@example.com
    fi
    
    將腳本添加到cron(如*/5 * * * * /path/to/script.sh)實現每5分鐘檢查一次。

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