vue + flask 實(shí)現(xiàn)的 linux web dashboard

最近抽空寫了一個(gè)linux 的 dashboard, 借此熟悉了vue框架和前端構(gòu)建技術(shù)webpack等技術(shù), 偶爾一次看到羊駝的英文名叫alpaca, 就拿來做這個(gè)項(xiàng)目的名字了。

alpaca是一個(gè)基于vue2.0 python2.7 flask的簡(jiǎn)單linux dashboard, 用于收集、統(tǒng)計(jì)和展示linux操作系統(tǒng)信息,主要包括四個(gè)維度的信息:

  1. 基本信息: ip,hostname,cpu配置信息,磁盤分區(qū)信息等;

  2. 系統(tǒng)信息: 前l(fā)oad及變化趨勢(shì),cpu空閑率,cpu時(shí)間分布,內(nèi)存使用率,內(nèi)存使用分布,占用
    cpu/內(nèi)存比較多的進(jìn)程, IO讀寫數(shù)量,以及耗費(fèi)的時(shí)間等;

  3. 網(wǎng)絡(luò)信息: 各個(gè)網(wǎng)卡的進(jìn)出流量統(tǒng)計(jì)和走勢(shì),網(wǎng)絡(luò)連接的詳情以及各狀態(tài)統(tǒng)計(jì);

  4. 進(jìn)程信息: 顯示特定進(jìn)程的詳情,包括進(jìn)程的內(nèi)存使用情況,cpu使用情況,創(chuàng)建時(shí)間,狀態(tài),
    IO情況,子進(jìn)程列表,網(wǎng)絡(luò)連接列表,打開的文件描述符列表,啟動(dòng)的線程列表等;

git地址

https://github.com/echoyuanliang/alpaca

安裝

環(huán)境要求

linux操作系統(tǒng);python2.7; node >= 4.0.0; npm>= 3.0.0

安裝和啟動(dòng)

  1. 確保目標(biāo)機(jī)器環(huán)境符合要求

  2. 將代碼clone到目標(biāo)機(jī)器,進(jìn)入代碼文件目錄,可以看到其中有以alpaca命名的管理腳本, 管理腳本提供了build(安裝程序依賴包,打包前端的js,css文件等操作), start, stop,restartstatus等功能,因此,代碼剛clone到本地或者修改以后,需要重新build,然后再start.

git clone git@github.com:echoyuanliang/alpaca.git
cd alpaca 
bash alpaca build
bash alpaca start

相關(guān)配置

  • 程序使用gunicorn托管(也可以直接使用run.py啟動(dòng)),guncorn啟動(dòng)配置文件路徑為backend/gun.py.默認(rèn)配置如下,默認(rèn)端口為8080,也是此處配置:
    # -*- coding: utf-8 -*-
    import multiprocessing
    
    bind = "0.0.0.0:8080"
    pidfile = 'var/gunicorn.pid'
    workers = multiprocessing.cpu_count() * 2 + 1
    
    worker_class = 'sync'
    backlog = 2048
    daemon = True
    loglevel = 'info'
    accesslog = 'logs/access.log'
    errorlog = 'logs/error.log'
    access_log_format = "%({X-Real-IP}i)s %(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s %(f)s %(a)s"    
  • 應(yīng)用程序配置文件路徑為backend/config.py, alpaca使用linux的用戶(root用戶除外),密碼來管理登陸的用戶,因此需要配置那些用戶具有訪問權(quán)限,配置項(xiàng)為AUTH_USER, 如果不配置或配置為空數(shù)組,則所有用戶均有權(quán)限登錄, 同時(shí),alpaca僅對(duì)白名單ip授予訪問權(quán)限,配置項(xiàng)為AUTH_IP,如果不配置或配置項(xiàng)為空數(shù)組,則所有ip均有權(quán)限登錄。

技術(shù)棧

python flask ecmascript6 vue2.0

項(xiàng)目結(jié)構(gòu)

structure screenshot

截圖

基本信息頁(yè)面

basic screenshot

系統(tǒng)信息頁(yè)面

system screenshot

網(wǎng)絡(luò)信息頁(yè)面

network screenshot

進(jìn)程信息頁(yè)面

process screenshot
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容