2014-06-27 24 views
0

所以即時通訊構建一個應用程序,用於監視網絡上基於rasp pi的設備。設備正在運行一個程序,該程序提供關於我們需要記錄的設備性能的統計數組,您可以通過套接字連接到端口上的設備來訪問此陣列。該網絡目前有100個這樣的設備,但很快將增長到單個網絡上的數百個設備。從本地網絡上的多臺機器檢索統計信息的最佳方法

目前應用走近這個經由ssh2_scp到每個設備的部署腳本,然後通過本地IP列表運行並使用stream_context_create & & get_file_contents的應用程序來ping遠程設備上監控文件。監控文件,然後從本地機器獲取stat數組,然後$ _POSTS數據返回到應用程序,它存儲在數據庫中。

這是不是很理想,因爲即時消息記錄它需要約1.45分鐘循環通過IP的檢查他們(以欺騙的方式使用計數器$ i ++,而循環通過一系列的數字,而不是所有的數字當數據庫添加更多ips和新位置時需要執行該操作),並檢索結果並將它們插入到數據庫中,同時將cron作業設置爲每2分鐘運行一次ping腳本,因爲設備數量增加這將超過2分鐘的期限差距,並開始積壓數據。問題在於,沒有任何方法可以檢查流獲取上下​​文是否檢索任何數據,或者檢查設備是否從單獨提交的數據正確運行。

該應用程序所在的服務器是一個巨大的野獸,因此計算能力不是問題,但在運行ID的設備上它更喜歡不運行任何Web服務器,最多也許是內置的PHP的Web服務器,但ID更喜歡他們不運行任何Web服務器的安全性,以及事實上,他們的主要目標不是一個Web服務器。

我一直在尋找從命令行運行php守護進程服務,並想知道它是否更適合作爲守護進程運行監視應用程序來建立套接字連接直接向機器來回檢索數據。如果我要走這條路,我將如何處理它,我是否會爲在端口上偵聽的受監控設備創建守護程序腳本,並通過它返回stat數組,然後監控應用程序守護程序以建立到每個設備的連接並提供數據在?

做此高度讚賞

回答

0

可以通過套接字連接到該設備的端口上訪問該陣列的最佳方法/最有效的方式的任何建議。

我只是簡單地創建一個接受一系列主機作爲參數的腳本,然後用netcat命中這個端口。腳本遍歷指定的主機,並將結果轉儲到數據庫。這減輕了任何ra pi的執行。對於可伸縮性,只需運行多個腳本,每個腳本在獸獸服務器上同時具有不同範圍的設備。

相關問題