如何从Web浏览器远程监视Linux服务器和桌面

简介: 当你要监视一台Linux机器时,你会有很多的选择。虽然现在有很多产品质量监控方案(比如 Nagios、 Zabbix、 Zenoss),它们拥有华丽的UI,可扩展监控,易于理解的报告等等,这些方案对于大多数终端用户都太过于强大了。如果你只需检查Linux服务器或桌面的基本状态(比如,CPU负载、内存使用、活跃进程),就请考虑一下linux-dash。

当你要监视一台Linux机器时,你会有很多的选择。虽然现在有很多产品质量监控方案(比如 Nagios、 Zabbix、 Zenoss),它们拥有华丽的UI,可扩展监控,易于理解的报告等等,这些方案对于大多数终端用户都太过于强大了。如果你只需检查Linux服务器或桌面的基本状态(比如,CPU负载、内存使用、活跃进程),就请考虑一下linux-dash


linux-dash是一款面向Linux机器的基于web的轻量级监控面板,可以实时显示不同的系统属性,比如CPU负载、内存使用、磁盘使用、网络速度、网络连接、上下行带宽、登录用户、运行中的进程等等。linux-dash没有后端数据库库来存储长期统计。在任何已有的web服务器(如Apache、Nginx)上运行linux-dash,你就可以用了。这是一个快速又简单的方法来对个人项目进行远程监控。


在这篇教程中,我会描述如何在Linux的Nginx web服务器上设置linux-dash。这里用Nginx,而不是Apache,是因为它更轻量。


在Debian、Ubuntu或者Linux Mint上设置linux-dash

首先,安装带php-fpm的Nginx web服务器。

$ sudo apt-get install git nginx php5-json php5-fpm php5-curl

为linux-dash创建如下Nginx配置文件/etc/nginx/conf.d/linuxdash.conf。 本例中,我们使用8080端口。

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与php-fpm来完成安装。

$ sudo service php5-fpm restart

$ sudo service nginx restart

在CentOS、Fedora、RHEL上设置linux-dash

在CentOS上,需要首先启用EPEL仓库

安装Nginx与php-fpm组件。

$ sudo yum install git nginx php-common php-fpm

为linux-dash程序配置Nginx,如下创建/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。在这个文件中,确保按如下编辑"user", "group" 和 "listen"字段。你可以不改变剩下的配置。

$ sudo vi /etc/php-fpm.d/www.conf

listen = /var/run/php-fpm.sock

user= nginx

group= nginx

在/var/wwwx下载并安装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和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机器

要在web浏览器上访问linux-dash,只需在web浏览器中输入http://X16X:8080/linux-dash/

下面是linux-dash的截图。web面板包含了几个小部件,每个都会显示特性的系统参数。你可以通过重安排并且/或者关闭一些小部件来自定义web面板的外观。这里是一个linux-dash创建者的演示站点。

image.png

image.png

image.png

相关文章
|
1月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
3月前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
80 4
|
1月前
|
人工智能 前端开发 计算机视觉
Inpaint-Web:纯浏览器端实现的开源图像处理工具
在刷短视频时,常看到情侣在景区拍照被路人“抢镜”,男朋友用手机将路人“P”掉,既贴心又有趣。最近我发现了一个纯前端实现的开源项目——inpaint-web,可在浏览器端删除照片中的部分内容,非常酷。该项目基于 WebGPU 和 WASM 技术,支持图像修复与放大,已在 GitHub 上获得 5.1k Star。项目地址:[GitHub](https://github.com/lxfater/inpaint-web)。
60 3
 Inpaint-Web:纯浏览器端实现的开源图像处理工具
|
22天前
|
存储 缓存 前端开发
Web端IM聊天消息该不该用浏览器本地存储?一文即懂!
鉴于目前浏览器技术的进步(主要是HTML5的普及),在Web网页端IM聊天应用的技术选型阶段,很多开发者都会纠结到底该不该像原生移动端IM那样将聊天记录缓存在浏览器的本地,还是像传统Web端即时通讯那样继续存储在服务端?本文将为你简洁明了地讲清楚浏览器本地存储技术(Web Storage),然后你就知道到底该怎么选择了。
26 1
|
29天前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
42 3
|
2月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
53 3
|
3月前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
34 1
|
3月前
|
Web App开发 前端开发 JavaScript
Web前端项目的跨平台桌面客户端打包方案之——CEF框架
Chromium Embedded Framework (CEF) 是一个基于 Google Chromium 项目的开源 Web 浏览器控件,旨在为第三方应用提供嵌入式浏览器支持。CEF 隔离了底层 Chromium 和 Blink 的复杂性,提供了稳定的产品级 API。它支持 Windows、Linux 和 Mac 平台,不仅限于 C/C++ 接口,还支持多种语言。CEF 功能强大,性能优异,广泛应用于桌面端开发,如 QQ、微信、网易云音乐等。CEF 开源且采用 BSD 授权,商业友好,装机量已超 1 亿。此外,GitHub 项目 CefDetector 可帮助检测电脑中使用 CEF
473 3
|
4月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
203 0
|
1月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
下一篇
DataWorks