写了一个基于 PHP 的 Linux 图形化性能监视器 Holy Lance

写了一个基于 PHP 的 Linux 图形化性能监视器 Holy Lance

By lincanbin at 2016-09-20
1人收藏 • 8244人看过

Holy Lance

一个简单易用的 Linux 图形化性能监视器。


基于PHP,单文件,易于部署(PHP大概是部署难度最低的了)。

Web界面,动态更新,实时简便,即开即用。

目前可以动态监控CPU占用率、内存、磁盘、网络、进程,还带有少量的环境探针功能。

然后这玩意儿现在后台部分做成了JSON API的形式,所以后面可能会出个移动客户端吧。

项目 GitHub

演示地址

下载地址

  1. https://github.com/lincanbin/Holy-Lance/releases/download/v1.0.0/holy_lance.php

  2. https://github.com/lincanbin/Holy-Lance/releases/download/v1.0.0/holy_lance.zip

单文件,下载完传到服务器就可以了。

捐赠

截图


28 个回复 | 最后更新于 2016-11-16
招财猫
2016-09-21
#1

璇峰惎鐢╡xec()鍜宻hell_exec()鍑芥暟锛屽嵆绂佺敤瀹夊叏妯″紡(safe_mode)


这种情况怎么办


看代码是。。

if (!function_exists("exec") || !function_exists("shell_exec")) {
    exit("请启用exec()和shell_exec()函数,即禁用安全模式(safe_mode)");
}

lincanbin
2016-09-21
#2

回复#1 @招财猫 :

关闭安全模式。

编辑php.ini文件,查找safe_mode,如果看到safe_mode = On 则改成 safe_mode = Off 保存,重启Apache或者Nginx。

artah
2016-09-23
#3

用在群晖等NAS系统上貌似获取不了进程啊

lincanbin
2016-09-23
#4

回复#3 @artah :

发行版呢?

不支持ps指令?

lincanbin
2016-09-23
#5

回复 #3 @artah :

进程之外的其他功能正常吗? 方便的话把ps -aux的结果发我一下。

artah
2016-09-23
#6

回复#4 @lincanbin :

没试呢。。。刚试了群组里的铁威马和群晖的Apache环境,都获取不了发行版信息哈哈

11.png

lincanbin
2016-09-23
#7

回复 #0 @artah :

所以是个冷门的发行版咯? 至少我这边CentOS、Red Hat、Ubuntu都是正常的。

artah
2016-09-23
#8

回复#7 @lincanbin :

群晖和铁威马不能算冷门吧。。。用户级的NAS用的还是挺多的,我待会去办公室连上去看,22没映射出来

artah
2016-09-23
#9

回复#5 @lincanbin :

都不正常,除了环境探针。。

这是PS AUX

(nas)#ps aux
USER      PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        1  0.1  0.1   2868   704 ?        Ss   12:36   0:10 init
root        2  0.0  0.0      0     0 ?        S<   12:36   0:00 [kthreadd]
root        3  0.0  0.0      0     0 ?        S<   12:36   0:00 [ksoftirqd/0]
root        4  0.0  0.0      0     0 ?        S<   12:36   0:00 [watchdog/0]
root        5  0.0  0.0      0     0 ?        S<   12:36   0:00 [events/0]
root        6  0.0  0.0      0     0 ?        S<   12:36   0:00 [khelper]
root        7  0.0  0.0      0     0 ?        S<   12:36   0:00 [async/mgr]
root        8  0.0  0.0      0     0 ?        S<   12:36   0:00 [kblockd/0]
root        9  0.0  0.0      0     0 ?        S<   12:36   0:00 [ata/0]
root       10  0.0  0.0      0     0 ?        S<   12:36   0:00 [ata_aux]
root       11  0.0  0.0      0     0 ?        S<   12:36   0:00 [ksuspend_usbd]
root       12  0.0  0.0      0     0 ?        S<   12:36   0:00 [khubd]
root       13  0.0  0.0      0     0 ?        S    12:36   0:00 [crypto]
root       14  0.0  0.0      0     0 ?        S    12:36   0:00 [crypto_ret]
root       15  0.0  0.0      0     0 ?        S    12:36   0:00 [khungtaskd]
root       16  0.0  0.0      0     0 ?        S    12:36   0:00 [pdflush]
root       17  0.0  0.0      0     0 ?        S    12:36   0:00 [pdflush]
root       18  0.0  0.0      0     0 ?        S<   12:36   0:00 [kswapd0]
root       19  0.0  0.0      0     0 ?        S<   12:36   0:00 [aio/0]
root       20  0.0  0.0      0     0 ?        S<   12:36   0:00 [crypto/0]
root      166  0.0  0.0      0     0 ?        S<   12:36   0:00 [scsi_tgtd/0]
root      167  0.0  0.0      0     0 ?        S<   12:36   0:00 [scsi_eh_0]
root      168  0.0  0.0      0     0 ?        S<   12:36   0:00 [scsi_eh_1]
root      171  0.0  0.0      0     0 ?        S<   12:36   0:00 [scst_uid]
root      172  0.0  0.0      0     0 ?        S<   12:36   0:00 [scstd0]
root      173  0.0  0.0      0     0 ?        S<   12:36   0:00 [scst_initd]
root      174  0.0  0.0      0     0 ?        S<   12:36   0:00 [scsi_tm]
root      175  0.0  0.0      0     0 ?        S<   12:36   0:00 [scst_mgmtd]
root      176  0.0  0.0      0     0 ?        S<   12:36   0:00 [scst_usr_cleanu]
root      177  0.0  0.0      0     0 ?        S<   12:36   0:00 [iscsird0]
root      178  0.0  0.0      0     0 ?        S<   12:36   0:00 [iscsird1]
root      179  0.0  0.0      0     0 ?        S<   12:36   0:00 [iscsiwr0]
root      180  0.0  0.0      0     0 ?        S<   12:36   0:00 [iscsiwr1]
root      181  0.0  0.0      0     0 ?        S<   12:36   0:00 [scstlclaen]
root      182  0.0  0.0      0     0 ?        S<   12:36   0:00 [scsi_eh_2]
root      183  0.0  0.0      0     0 ?        S<   12:36   0:00 [mtdblockd]
root      184  0.0  0.0      0     0 ?        S<   12:36   0:00 [nftld]
root      185  0.0  0.0      0     0 ?        S<   12:36   0:00 [wusbd]
root      193  0.0  0.0      0     0 ?        S<   12:36   0:00 [kstriped]
root      194  0.0  0.0      0     0 ?        S<   12:36   0:00 [kcryptd/0]
root      200  0.0  0.0      0     0 ?        S<   12:36   0:00 [iscsi_eh]
root      253  0.0  0.0      0     0 ?        S<   12:36   0:01 [md9_raid1]
root      282  0.0  0.0      0     0 ?        S<   12:36   0:00 [kjournald2]
root      283  0.0  0.0      0     0 ?        S<   12:36   0:00 [ext4-dio-unwrit]
daemon    409  0.0  1.6  33172  8632 ?        S    14:13   0:00 /opt/bin/php-cgi
1001      462  0.0  0.1   2484   744 ?        Ss   12:37   0:00 /opt/bin/dbus-daemon --system
avahi     468  0.0  0.3   2972  1544 ?        S    12:37   0:00 avahi-daemon: running [Artah-Nas.local]
root      513  0.0  0.1  28952  1016 ?        Sl   12:37   0:00 /usr/sbin/micd
root      520  0.0  0.0   1640   460 ?        S    12:37   0:00 /usr/sbin/diskmotion
root      587  0.0  0.0   1652   456 ?        Ss   12:37   0:00 /usr/sbin/utelnetd -p 23 -d
root      598  0.0  0.0   1636   500 ?        S    12:37   0:00 /usr/sbin/jumpd
root      606  0.0  0.1   4828   840 ?        Ss   12:37   0:00 nginx: master process /usr/sbin/nginx -p /var/ -c /etc/nginx/nginx-socket.conf
root      607  0.0  0.4   5824  2056 ?        S    12:37   0:00 nginx: worker process
root      608  0.0  0.4   5824  2128 ?        S    12:37   0:00 nginx: worker process
root      609  0.0  0.4   5824  2128 ?        S    12:37   0:00 nginx: worker process
root      610  0.0  0.4   5824  2128 ?        S    12:37   0:00 nginx: worker process
root      611  0.0  0.4   5824  2128 ?        S    12:37   0:00 nginx: worker process
root      612  0.0  0.4   5824  2128 ?        S    12:37   0:00 nginx: worker process
root      613  0.0  0.4   5824  2128 ?        S    12:37   0:00 nginx: worker process
root      614  0.0  0.4   5824  2124 ?        S    12:37   0:00 nginx: worker process
root      616  0.0  1.1  23152  5668 ?        Ss   12:37   0:01 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      619  0.0  0.1   3160   628 ?        S    12:37   0:00 /usr/sbin/nasips
root      624  0.0  0.0      0     0 ?        S<   12:37   0:00 [md0_raid5]
root      686  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      687  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      688  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      689  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      690  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      691  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      692  0.0  0.4  23152  2280 ?        S    12:37   0:00 /usr/sbin/php-cgi -c /etc/nginx/php.ini
root      693  0.0  0.0      0     0 ?        S<   12:37   0:00 [kjournald2]
root      694  0.0  0.0      0     0 ?        S<   12:37   0:00 [ext4-dio-unwrit]
root      758  0.0  0.1   2248   580 ?        Ss   12:37   0:00 mdadm --monitor --scan --daemonise -p /etc/init.d/nas/mdadm-monitor
root      875  0.0  1.1  12892  5656 ?        Ss   12:37   0:02 /opt/sbin/apache-httpd -k start
daemon    878  0.0  0.5  12220  3008 ?        S    12:37   0:00 /opt/sbin/apache-httpd -k start
root      985  0.0  0.8  20936  4344 ?        Sl   12:37   0:00 /opt/libexec/mysqld -u root --datadir=/mnt/database --master-port=3306
root     1174  0.0  0.1   1984   812 ?        S    12:37   0:00 /usr/app/phddns/sbin/phddns
root     1204  0.0  0.1   5276   936 ?        S    12:37   0:00 /opt/sbin/regcloud
daemon   1253  0.0  0.6  12888  3180 ?        S    12:37   0:00 /opt/sbin/apache-httpd -k start
daemon   1254  0.0  1.0 236644  5596 ?        Sl   12:37   0:00 /opt/sbin/apache-httpd -k start
daemon   1259  0.0  1.0 236640  5244 ?        Sl   12:37   0:00 /opt/sbin/apache-httpd -k start
daemon   1287  0.0  1.0 236372  5240 ?        Sl   12:37   0:00 /opt/sbin/apache-httpd -k start
root     1338  0.0  0.7  15692  3888 ?        Ss   12:37   0:00 /opt/sbin/smbd -D
root     1339  0.0  0.3  15748  1812 ?        S    12:37   0:00 /opt/sbin/smbd -D
root     1353  0.0  0.4   6824  2356 ?        Ss   14:19   0:00 sshd: root@ttyp0
root     1356  0.0  0.3   8272  1984 ?        Ss   12:37   0:01 /opt/sbin/nmbd -D
root     1363  0.0  0.2   5576  1396 ttyp0    Ss+  14:19   0:00 -bash
root     1388  0.0  0.2   4052  1040 ?        Ss   12:37   0:00 /opt/sbin/sshd -f /opt/etc/openssh/sshd_config
root     1456  0.0  0.1  20960   980 ?        Sl   12:37   0:00 shellsqliteserver /mnt/base/syslog.db
root     1495  0.0  0.1   2872   688 ?        S    12:37   0:00 /bin/sh +x /usr/local/etc/thunder/etm_monitor
root     1525  0.1  0.7   9888  4032 ?        Sl   12:37   0:07 /usr/local/etc/thunder/etm --system_path=/tmp/thunder --disk_cfg=/usr/local/etc/thunder/cfg/thunder_mounts.cfg --etm_cfg=/usr/local/etc/thunder/cfg/etm.ini --log_cfg=/usr/lo
root     1527  0.0  0.4   3620  2548 ?        S    12:37   0:00 /usr/local/etc/thunder/vod_httpserver
root     1538  0.0  0.1   4032   944 ?        S    12:37   0:00 /usr/local/etc/thunder/hubble --system_path=/tmp/thunder --hubble_report_pipe_path=/tmp/thunder/etm_hubble_report.pipe --etm_cfg=/usr/local/etc/thunder/cfg/etm.ini --hubble_
root     1614  0.0  0.1   2868   520 ?        Ss   12:37   0:00 /sbin/syslogd
root     1620  0.1  0.1  43276   896 ?        Sl   12:37   0:11 /usr/sbin/upnpd eth0 eth0
root     1711  0.0  0.1   2064   636 ?        S<s  12:37   0:00 /sbin/udevd -d
root     1722  0.0  0.1   2060   660 ?        S<   12:37   0:00 /sbin/udevd -d
root     1723  0.0  0.1   2060   652 ?        S<   12:37   0:00 /sbin/udevd -d
root     1747  0.0  0.1   2868   608 ?        Ss   12:37   0:00 /usr/sbin/crond -L /var/log/crond.log
root     1750  0.0  0.1   2872   684 ttyS0    Ss+  12:37   0:00 -/bin/sh
root     1752  0.0  0.0   2868   320 ?        Ss   12:37   0:00 init
daemon   2012  0.0  0.9 236372  5072 ?        Sl   12:39   0:00 /opt/sbin/apache-httpd -k start
root     2628  0.0  0.0   2736   416 ?        S    14:27   0:00 sleep 3
root     2629  0.0  0.1   2200   888 ttyp0    R+   14:27   0:00 ps aux
daemon   3961  0.0  1.6  32700  8460 ?        S    13:19   0:00 /opt/bin/php-cgi


lincanbin
2016-09-23
#10

回复#8 @artah :

大概是系统功能不全吧。

毕竟NAS上跑的。

artah
2016-09-23
#11

回复#10 @lincanbin :

好吧。。。怪遗憾的哈哈,还是感谢你

takashiki
2016-09-23
#12

楼主,demo的mysql开了innodb么,常驻内存只有六十几M?

lincanbin
2016-09-23
#13

回复 #0 @takashiki :

好像没开,忘了,反正数据来自ps aux。

ivanilla
2016-09-24
#14

回复 #7 @lincanbin :

NAS一般不是Linux,而是FreeBSD。

ivanilla
2016-09-24
#15

回复 #4 @lincanbin :

如上所说,FreeBSD确实没有ps这个命令,跟Linux有一定区别。

lincanbin
2016-09-24
#16

回复#15 @ivanilla :

大概也有替代指令吧,回头我看看。

ivanilla
2016-09-25
#17

回复 #16 @lincanbin :

我搞错了,FreeBSD有ps命令,但有的命令虽然Linux和FreeBSD都有,具体细节也是有区别的,比如chmod命令有的参数BSD不支持(跟90年代初的Unix系统类似),Linux有少数命令FreeBSD真的没有,比如free。

乐极生悲
2016-09-29
#18

用的是哪家vps 速度好快啊。ipv6 给几个啊。我需要大量ipv6 地址,准备做个反代google 需要ipv6地址

lincanbin
2016-09-29
#19

回复#18 @乐极生悲 :

IPv6多的,基本都是连号……

你去BudgetVM估计就不少IPv6,但是连号的Google照样封啊。


登 录


现在注册

QQ  登 录    Weibo  登 录    GitHub  登 录