1、數據加工pyecharts圖實現:
數據源:本地CSV文件
ps:由於是跟生產環境做交互,生產環境指標由HSQL加工,使用存儲過程掛后台定時運行,后使用python實現導出及定時分發,本地python接收獲取附件解壓
2、上傳文件至服務器
本地pycharm跑通后,把項目對應文件上傳至服務器目錄:
解壓到/root/data_dashboard路徑,該路徑文件夾將作為掛載目錄對應到python容器,后續只要修改該文件夾文件,即可對
ps:如果有需要避免源碼泄露的需求,上傳pycharm項目里面自帶的pyc后綴文件即可,或者進入服務器后在編譯成pyc格式文件。
3、創建容器
已有python鏡像前提下,建立python容器,-d代碼容器后台運行。容器建立三要點,端口映射/目錄掛載/ip分段。
Flask默認5000端口,這里把容器5000端口映射到宿主機9500端口,目錄掛載宿主機/root/data_dashboard下,后續所有Flask文件都在該路徑下即可,
另外由於該Flask讀取的是本地csv文件來實現,每天的更新通過自動替換該路徑文件來實現,因此就不做IP地址設置(如果涉及數據庫訪問,一定要做固定IP設置)
docker run -it -d --name=p1 -p 9500:5000 -v /root/data_dashboard:/root/project python:3.6.9 bash
4、進入容器,安裝所需的第三方庫
進入容器,安裝Flask框架,使用清華大學數據源。
docker exec -it p1 bash pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
安裝pyecharts
pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple
5、啟動任務
進入run.py對應文件夾,並執行運行命令即可
cd /root/project/dataMonitor
nohup python run.py > logs.txt
使用nohup命令,運行后把窗口關閉,就能后台一直運行
測試網頁結果如下:
ps:9500的端口為建立容器時容器5000端口映射。
6、補充說明
該可視化監控的使用的實際上是生產數據,生產數據與本地有堡壘機做隔離,因此難點在於數據的自動化傳輸,畢竟生產環境只配置了一台服務器與本地之間做郵件通訊,上文只是對可視化實現步驟做呈現