linux-dash is a drop-in, minimal-dependency web dashboard for linux servers. It provides a web interface for useful linux server information and statistics.
Linux-dash is not a network monitoring tool rather a tool to have a quick nice too, see performance stats real-time on a single system.
linux-dash support multiple Linux OS platforms and major browsers and can run on Node.js, PHP/Apache, Go and Python middleware platforms.
Currently supported widgets are
General info
Load Average
RAM
Disk Usage
Users
Software
IP
Internet Speed
Online
Processes
Logs
How to install
As Node.js is the recommended middleware platform, lets build and run linux-dash on CentOS with Node.js
Install Node.js
For steps to install Node.js, please click here
Install linux-dash
1. Download latest version from github
Download the latest version of linux-dash from github and copy over to the directory where you want the application to run and unzip
suseleap421:~ # wget -q https://github.com/afaqurk/linux-dash/archive/master.zip
suseleap421:/opt/nodejs # unzip
2. Change directory to the unzipped directory and install
suseleap421:/opt/nodejs/linux-dash-master # npm install > websocket@1.0.22 install /opt/nodejs/linux-dash-master/node_modules/websocket > (node-gyp rebuild 2> builderror.log) || (exit 0) make: Entering directory '/opt/nodejs/linux-dash-master/node_modules/websocket/build' CXX(target) Release/obj.target/bufferutil/src/bufferutil.o bufferutil.target.mk:91: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed make: Leaving directory '/opt/nodejs/linux-dash-master/node_modules/websocket/build' linux-dash@1.2.0 /opt/nodejs/linux-dash-master +-- express@4.13.3 | +-- accepts@1.2.13 | | +-- mime-types@2.1.8 | | | `-- mime-db@1.20.0 | | `-- negotiator@0.5.3 | +-- array-flatten@1.1.1 | +-- content-disposition@0.5.0 | +-- content-type@1.0.1 | +-- cookie@0.1.3 | +-- cookie-signature@1.0.6 | +-- debug@2.2.0 | | `-- ms@0.7.1 | +-- depd@1.0.1 | +-- escape-html@1.0.2 | +-- etag@1.7.0 | +-- finalhandler@0.4.0 | | `-- unpipe@1.0.0 | +-- fresh@0.3.0 | +-- merge-descriptors@1.0.0 | +-- methods@1.1.1 | +-- on-finished@2.3.0 | | `-- ee-first@1.1.1 | +-- parseurl@1.3.0 | +-- path-to-regexp@0.1.7 | +-- proxy-addr@1.0.10 | | +-- forwarded@0.1.0 | | `-- ipaddr.js@1.0.5 | +-- qs@4.0.0 | +-- range-parser@1.0.3 | +-- send@0.13.0 | | +-- destroy@1.0.3 | | +-- http-errors@1.3.1 | | | `-- inherits@2.0.1 | | +-- mime@1.3.4 | | `-- statuses@1.2.1 | +-- serve-static@1.10.0 | +-- type-is@1.6.10 | | `-- media-typer@0.3.0 | +-- utils-merge@1.0.0 | `-- vary@1.0.1 `-- websocket@1.0.22 +-- nan@2.0.9 +-- typedarray-to-buffer@3.0.4 | `-- is-typedarray@1.0.0 `-- yaeti@0.0.4
By default, linux-dash listens on port 80, if you need to listen on an alternate port, edit server/index.js file and update the line “server.listen(80)” . I use the default port here.
3. Allow the TCP port through firewall (if running)
If you have firewall running on your system, either allow the port or disable firewall. In my case, I use the default port 80 and hence allow port 80 through the firewall
4. Start linux-dash
[root@rhel7master linux-dash-master]# node server/ &
Linux Dash Server Started!
Access linux-dash at http://<ip/hostname>: (here http://http://192.168.255.131/)
Here are a few screenshots: