如何从 Web 浏览器远程监控 Linux 服务器和桌面
当谈到监控 Linux 机器时,有足够多的选项可供选择。虽然有许多生产质量的监控解决方案(例如 Nagios、Zabbix、Zenoss),拥有精美的 UI、监控可扩展性、全面的报告功能等,但这些解决方案对于我们大多数最终用户来说可能是大材小用。如果您需要的只是检查远程 Linux 服务器或桌面的基本状态(例如 CPU 负载、内存使用情况、活动进程、磁盘使用情况),请考虑 linux-dash。
linux-dash是一个基于Web的轻量级Linux机器监控仪表板,它可以实时显示各种系统属性,例如CPU负载、RAM使用情况、磁盘使用情况、互联网速度、网络连接、RX/TX带宽、登录用户、运行进程等。linux-dash没有附带任何用于存储长期统计数据的后端数据库。只需将 linux-dash 应用程序放入现有的 Web 服务器(例如 Apache、Nginx)中,就可以开始了。这是为个人项目设置远程监控的一种快速简便的方法。
在本教程中,我将描述如何在 Linux 上的 Nginx Web 服务器中设置 linux-dash。由于其轻量级引擎,Nginx 比 Apache Web 服务器更受青睐。
在 Debian、Ubuntu 或 Linux Mint 上设置 linux-dash
首先,使用 php-fpm 安装 Nginx Web 服务器。
$ sudo apt-get install git nginx php5-json php5-fpm php5-curl
通过创建 /etc/nginx/conf.d/linuxdash.conf
为 linux-dash 应用程序配置 Nginx,如下所示。在此示例中,我们将使用端口 8080
。
$ sudo vi /etc/nginx/conf.d/linuxdash.conf
server {
server_name $domain_name;
listen 8080;
root /var/www;
index index.html index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location ~* .(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
try_files $uri =404;
expires max;
access_log off;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location /linux-dash {
index index.html index.php;
}
# PHP-FPM via sockets
location ~ .php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+?.php)(/.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
try_files $uri $uri/ /index.php?$args;
include fastcgi_params;
}
}
禁用默认站点配置。
$ sudo rm /etc/nginx/sites-enabled/default
通过编辑 /etc/php5/fpm/pool.d/www.conf
配置 php-fpm
。确保编辑 user
、group
和 listen
指令,如下所示。您可以保持其余配置不变。
$ sudo vi /etc/php5/fpm/pool.d/www.conf
. . .
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
. . .
继续下载并安装linux-dash
。
$ git clone https://github.com/afaqurk/linux-dash.git
$ sudo cp -r linux-dash/ /var/www/
$ sudo chown -R www-data:www-data /var/www
重新启动 Nginx Web 服务器以及 php5-fpm 以完成安装。
$ sudo service php5-fpm restart
$ sudo service nginx restart
在 CentOS、Fedora 或 RHEL 上设置 linux-dash
在 CentOS 上,需要先启用 EPEL 存储库。
安装 Nginx Web 服务器和 php-fpm 组件。
$ sudo yum install git nginx php-common php-fpm
要为 linux-dash 应用程序配置 Nginx,请创建 /etc/nginx/conf.d/linuxdash.conf
,如下所示。
$ sudo vi /etc/nginx/conf.d/linuxdash.conf
server {
server_name $domain_name;
listen 8080;
root /var/www;
index index.html index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location ~* .(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
try_files $uri =404;
expires max;
access_log off;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location /linux-dash {
index index.html index.php;
}
# PHP-FPM via sockets
location ~ .php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+?.php)(/.*)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
try_files $uri $uri/ /index.php?$args;
include fastcgi_params;
}
}
接下来,通过编辑 /etc/php-fpm.d/www.conf
来配置 php-fpm
。在此文件中,确保设置 listen
、user
和 group
字段,如下所示。您可以保留其余配置不变。
$ sudo vi /etc/php-fpm.d/www.conf
. . .
listen = /var/run/php-fpm.sock
user = nginx
group = nginx
. . .
在 /var/www
下下载并安装 linux-dash
。
$ git clone https://github.com/afaqurk/linux-dash.git
$ sudo cp -r linux-dash/ /var/www/
$ sudo chown -R nginx:nginx /var/www
最后,重新启动 Nginx Web 服务器以及 php-fpm,并将它们设置为开机自动启动。
$ sudo service php-fpm restart
$ sudo service nginx restart
$ sudo chkconfig nginx on
$ sudo chkconfig php-fpm on
在此示例中,我们将 linux-dash 配置为使用 TCP 端口 8080。因此,请确保防火墙没有阻止 TCP 端口 8080
。
使用 linux-dash 监控 Linux 机器
要从网络浏览器访问 linux-dash
,只需在网络浏览器上访问 http://
即可。
下面是 linux-dash 的截图。 Web 仪表板由多个小部件组成,每个小部件都显示特定的系统属性。您可以通过重新排列和/或关闭一些小部件来自定义 Web 仪表板的外观。查看 linux-dash 的一些屏幕截图。


