python dash flask 导航栏_vue + flask 实现的 linux web dashboard

最近抽空写了一个linux 的 dashboard, 借此熟悉了vue框架和前端构建技术webpack等技术, 偶尔一次看到羊驼的英文名叫alpaca, 就拿来做这个项目的名字了。

alpaca是一个基于vue2.0 python2.7 flask的简单linux dashboard, 用于收集、统计和展示linux操作系统信息,主要包括四个维度的信息:

基本信息: ip,hostname,cpu配置信息,磁盘分区信息等;

系统信息: 前load及变化趋势,cpu空闲率,cpu时间分布,内存使用率,内存使用分布,占用

cpu/内存比较多的进程, IO读写数量,以及耗费的时间等;

网络信息: 各个网卡的进出流量统计和走势,网络连接的详情以及各状态统计;

进程信息: 显示特定进程的详情,包括进程的内存使用情况,cpu使用情况,创建时间,状态,

IO情况,子进程列表,网络连接列表,打开的文件描述符列表,启动的线程列表等;

git地址

安装

环境要求

linux操作系统;python2.7; node >= 4.0.0; npm>= 3.0.0

安装和启动

确保目标机器环境符合要求

将代码clone到目标机器,进入代码文件目录,可以看到其中有以alpaca命名的管理脚本, 管理脚本提供了build(安装程序依赖包,打包前端的js,css文件等操作), start, stop,restart,status等功能,因此,代码刚clone到本地或者修改以后,需要重新build,然后再start.

git clone git@github.com:echoyuanliang/alpaca.git

cd alpaca

bash alpaca build

bash alpaca start

相关配置

程序使用gunicorn托管(也可以直接使用run.py启动),guncorn启动配置文件路径为backend/gun.py.默认配置如下,默认端口为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"

应用程序配置文件路径为backend/config.py, alpaca使用linux的用户(root用户除外),密码来管理登陆的用户,因此需要配置那些用户具有访问权限,配置项为AUTH_USER, 如果不配置或配置为空数组,则所有用户均有权限登录, 同时,alpaca仅对白名单ip授予访问权限,配置项为AUTH_IP,如果不配置或配置项为空数组,则所有ip均有权限登录。

技术栈

python flask ecmascript6 vue2.0

项目结构

structure screenshot

截图

基本信息页面

basic screenshot

系统信息页面

system screenshot

网络信息页面

network screenshot

进程信息页面

process screenshot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值