CentOS文件系統監控方法
inotify是Linux內核提供的文件系統事件監控機制,inotify-tools是其命令行工具集,可實現實時監控文件/目錄的創建、刪除、修改等操作。
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,attrib(attrib表示文件屬性變化,如權限修改)。>> /var/log/inotify.log 2>&1 &),或通過腳本實現自定義告警(如發送郵件、重啟服務),例如。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生成統計報告。適用于大規模集群監控,提供可視化 dashboard 和告警功能。
node_exporter(監控節點指標)和prometheus(數據采集),配置prometheus.yml添加節點和文件系統監控目標(如scrape_configs中配置job_name: 'filesystem')。grafana并添加Prometheus數據源,導入文件系統監控 dashboard(如“Node Exporter Full”),設置磁盤使用率、inode剩余量等告警閾值。跨平臺文件系統監控工具,支持實時監控和事件通知。
sudo yum install fswatch -y安裝,基本命令為fswatch -0r /path/to/directory | xargs -0 -I {} echo "Directory changed: {}"(-0用null分隔事件,-r遞歸監控)。通過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分鐘檢查一次。