我想使用Monit监控NFS挂载和NFS服务器进程.
在服务器上,我需要一个PID文件,但我似乎找不到用现有配置文件创建的方法.有没有办法做到这一点,或有任何人以不同的方式监视服务器(检查端口53是否处于活动状态等).
在客户端,我想让Monit只是在NFS挂载中查找特定文件,如果它可以访问,一切都很好.问题是,如果NFS服务器确实关闭,文件请求通常会挂起(甚至可能无限期,不确定).怎么会用monit解决这个问题?
任何配置示例将不胜感激!
解决方法@H_403_10@
至于在NFS服务器故障期间“挂起”Monit进程,这可以通过两种方法来规避.
>您将NFS挂载选项从硬更改为软,这会导致NFS层在重新重试后向访问的应用程序发出I / O错误.因为这可能会引入有关数据完整性的其他问题(您的编写应用程序需要能够处理I / O错误或至少完全退出,而不会破坏写入的文件),您还可以尝试:
>将你的支票(解开它)与Monit异步.您可以定义一个cronjob定期检查您的NFS挂载文件并编写另一个“NFS状态文件”,例如.到/ tmp.这样,如果NFS服务器消失,只有cronjob会挂起(而不是你的Monit客户端).你的Monit检查现在只检查这个第二阶段的“NFS状态文件”,以及它是否比cronjob的频率更早(这表明这样挂起了NFS).
希望这可以帮助!
>您将NFS挂载选项从硬更改为软,这会导致NFS层在重新重试后向访问的应用程序发出I / O错误.因为这可能会引入有关数据完整性的其他问题(您的编写应用程序需要能够处理I / O错误或至少完全退出,而不会破坏写入的文件),您还可以尝试:
>将你的支票(解开它)与Monit异步.您可以定义一个cronjob定期检查您的NFS挂载文件并编写另一个“NFS状态文件”,例如.到/ tmp.这样,如果NFS服务器消失,只有cronjob会挂起(而不是你的Monit客户端).你的Monit检查现在只检查这个第二阶段的“NFS状态文件”,以及它是否比cronjob的频率更早(这表明这样挂起了NFS).
希望这可以帮助!