Skip to content

echoyuanliang/alpaca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
zhangyuanliang
May 14, 2017
e30e839 · May 14, 2017

History

25 Commits
May 14, 2017
May 14, 2017
May 14, 2017
May 1, 2017
May 14, 2017
May 14, 2017

Repository files navigation

alpaca

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

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

  2. 系统信息: 前load及变化趋势,cpu空闲率,cpu时间分布,内存使用率,内存使用分布,占用 cpu/内存比较多的进程, IO读写数量,以及耗费的时间等;

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

  4. 进程信息: 显示特定进程的详情,包括进程的内存使用情况,cpu使用情况,创建时间,状态, IO情况,子进程列表,网络连接列表,打开的文件描述符列表,启动的线程列表等;

安装

环境要求

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

安装和启动

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

  2. 将代码clone到目标机器,进入代码文件目录,可以看到其中有以alpaca命名的管理脚本, 管理脚本提供了build(安装程序依赖包,打包前端的js,css文件等操作), startstoprestartstatus等功能,因此,代码刚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

截图

基本信息页面

basic.png

系统信息页面

system.png

网络信息页面

network.png

进程信息页面

process.png