Linfo – Shows Linux Server Health Status in Real-Time
Linfo is a free and open source, cross-platform server statistics UI/library which displays a great deal of system information. It is extensible, easy-to-use (via composer) PHP5 library to get extensive system statistics programmatically from your PHP application. It’s a Ncurses CLI view of Web UI, which works in Linux, Windows, *BSD, Darwin/Mac OSX, Solaris, and Minix.
It displays system info including CPU type/speed; architecture, mount point usage, hard/optical/flash drives, hardware devices, network devices and stats, uptime/date booted, hostname, memory usage (RAM and swap, if possible), temperatures/voltages/fan speeds and RAID arrays.
- PHP 5.3
- pcre extension
- Linux – /proc and /sys mounted and readable by PHP and Tested with the 2.6.x/3.x kernels
How to Install Linfo Server Stats UI/library in Linux
First, create a Linfo directory in your Apache or Nginx web root directory, then clone and move repository files into
/var/www/html/linfo using the rsync command as shown below:
$ sudo mkdir -p /var/www/html/linfo $ git clone git://github.com/jrgp/linfo.git $ sudo rsync -av linfo/ /var/www/html/linfo/
Then rename sample.config.inc.php to config.inc.php. This is the Linfo config file, you can define your own values in it:
$ sudo mv sample.config.inc.php config.inc.php
Now open the URL
http://SERVER_IP/linfo in web browser to see the Web UI as shown in the screenshots below.
This screenshot shows the Linfo Web UI displaying core system info, hardware components, RAM stats, network devices, drives and file system mount points.
You can add the line below in the config file
config.inc.php to yield useful error messages for troubleshooting purposes:
$settings['show_errors'] = true;
Running Linfo in Ncurses Mode
Linfo has a simple ncurses-based interface, which rely on php’s ncurses extension.
# yum install php-pecl-ncurses [On CentOS/RHEL] # dnf install php-pecl-ncurses [On Fedora] $ sudo apt-get install php5-dev libncurses5-dev [On Debian/Ubuntu]
Now compile the php extension as follows
$ wget http://pecl.php.net/get/ncurses-1.0.2.tgz $ tar xzvf ncurses-1.0.2.tgz $ cd ncurses-1.0.2 $ phpize # generate configure script $ ./configure $ make $ sudo make install
Next, if you successfully compiled and installed the php extension, run the commands below.
$ sudo echo extension=ncurses.so > /etc/php5/cli/conf.d/ncurses.ini
Verify the ncurses.
$ php -m | grep ncurses
Now run the Linfo.
$ cd /var/www/html/linfo/ $ ./linfo-curses
The following features yet to be added in Linfo:
- Support for more Unix operating systems (such as Hurd, IRIX, AIX, HP UX, etc)
- Support for less known operating systems: Haiku/BeOS
- Extra superfluous features/extensions
- Support for htop-like features in ncurses mode
For more information, visit Linfo Github repository: https://github.com/jrgp/linfo
That’s all! From now on, you can view a Linux system’s information from within a web browser using Linfo. Try it out and share with us your thoughts in the comments. Additionally, have you come across any similar useful tools/libraries? If yes, then give us some info about them as well.