CentOS文件系统如何监控
导读:CentOS文件系统监控方法 1. 实时事件监控:inotify-tools inotify是Linux内核提供的文件系统事件监控机制,inotify-tools是其命令行工具集,可实现实时监控文件/目录的创建、删除、修改等操作。 安装工...
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,attrib(attrib表示文件属性变化,如权限修改)。
- 监控单个目录(递归子目录):
- 日志记录与脚本扩展:将输出重定向到日志文件(
> > /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 ficron(如*/5 * * * * /path/to/script.sh)实现每5分钟检查一次。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS文件系统如何监控
本文地址: https://pptw.com/jishu/734683.html
