我想知道,如果修改某些文件系统监控工具(即 inotify-tools)以便通过 ssh 进行监控/报告,这是否有帮助。这是否有助于系统管理员能够执行类似操作inotify-watch 192.168.0.33:/home/deploy/script
?受监控的服务器可能应该满足某些先决条件,但这听起来可行吗?
答案1
我必须诚实的说,这看起来似乎不是正确的处理方式。
首先,没有办法知道远程机器是否支持 inotify。
其次,将传统的两部分通用解决方案合并为单一的特定解决方案似乎需要付出很多努力。使用 ssh 很少能最好地完成对远程计算机的监控和报告。当您需要有关远程主机的这种级别的信息时,您通常希望在远程主机上放置一个可以进行监控的软件代理,然后在不同的机器上运行监控系统来轮询代理(或让代理报告)。
如果您想在不安装额外代理的情况下将此功能添加到盒子中,SNMP 将是合乎逻辑的选择(许多/大多数主机都支持开箱即用的 SNMP,或者有供应商提供的 SNMP 包)。或者,大多数基于代理的监控系统(如 Nagios、BigBrother/Hobbit/BigSister、Munin 等)都提供定义您自己的插件的功能。创建基于 inotify 的插件并不难。
如果你不想使用完整的监控系统来监控远程盒子,我可以使用类似函数,它为此提供了比 ssh 更好的框架。
答案2
您考虑过 munin 吗?http://munin.projects.linpro.no/
正常的操作方法是让 munin-node 软件监听远程机器。munin 监控软件会定期连接到节点以收集数据;它甚至可以通过 SSH 隧道进行连接。(它在常见问题解答中,我无法放两个链接,因为我的声誉太低了)。
Munin 默认可以监控各种统计数据,包括文件系统监控。此外,为 munin-node 编写自己的插件来收集所需的数据也非常简单。
答案3
答案4
家庭可能就是你要找的东西。它有一个守护进程,用于执行本地检测,还有一个 libfam 库,可以与它通信以获取更独立于平台的通知。