Heey all,
我已经建立了一个显示CPU,RAM和交换数据的平台。为了分析原因,将该数据输入数据库。 此时,它使用proc文件系统以bash脚本编写。
该平台使用Symfony框架用PHP编写。
我应该考虑将bash脚本移动到我的PHP项目并使用函数system()
,exec()
,shellExec()
或者我应该继续使用bash脚本?
我从安全的角度来理解这一点。有了更多信息的来源。
现在bash脚本将数据发布到url(来自symfony项目)
服务器正在运行Debian。
答案 0 :(得分:3)
我真的建议你使用nagios或zabbix 它们是用于监控的强大工具,也有很多免费的插件可供使用....
现在回答你的问题:
希望有所帮助
答案 1 :(得分:2)
您的解决方案是一个很好的起点。
system()
,exec()
等其他危险函数应该如此
因安全原因被禁用。因此,您不应该考虑将bash脚本移动到symfony项目您可以通过不同方式连接生成数据和php应用程序的bash脚本:
bash script --> api calls --> php application
。在这种情况下,您需要在应用程序中同步保存数据(有时您希望平滑峰值)bash script --> write log files
&& php application --> read log files
。在这种情况下,您的bash脚本不需要知道您的php应用程序。您只需要同意日志文件的格式。在这种情况下,您可以异步处理应用程序中的数据。 答案 2 :(得分:1)
从安全角度来看,这两种方法都可以安全且不安全。我会选择你的语言是出于其他原因(比如易于编写你想做的事,可移植性等),然后专注于用这种语言使脚本安全。
如果你所做的只是执行命令,Bash具有简单的优点。但是如果你想要更高级的逻辑并且更容易使用数据库,那么PHP将更容易使用。
请注意,您提到的php调用确实包含安全问题,您应该警惕如何使用它们,并且通常会尽量避免使用它们。
您可能希望查看influxdata堆栈,听起来它已经完成了您想要的大部分工作。