我需要在服务器上运行一个shell脚本(例如df
),比如说Client
。对此脚本的调用应该来自另一个独立的rails应用程序,通过REST Api说Monitor
并返回输出以响应Monitor
应用程序。
此shell命令应在Client
的所有应用程序服务器实例上运行。虽然我正在研究它,但如果有人已经这样做过,那将会非常有帮助。
我需要从Client
服务器获取以下信息到Monitor
应用程序:
Client
服务器实例上留下的磁盘空间Client
服务器实例上运行的进程Client
实例。由于
答案 0 :(得分:0)
可以通过以下方式执行简单的命令:
result = `df -h /`
但它并未满足在客户端的所有应用程序服务器实例上运行的要求。为此,您需要独立调用每个实例。
另一种方法是从cron作业运行支票,让Client
来电Monitor
。如果cron不合适,您可以在每个客户端创建一个ActiveJob,收集数据并调用Monitor
您还应该查找提供所需数据的ruby库。
例如,sys/filesystem
可以提供有关磁盘统计信息的数据。