手里如果有多个VPS服务器的话,一一去查看各个VPS主机的在线状态显然会比较麻烦,这时我们就需要一个服务器在线状态监控程序。例如,一些主机商或者服务商一般都会在自己的官网上列出自己的服务器是否宕机的监控,这对于用户是一个很好体验。
事实上现在市场上已经有不少的服务器在线状态监控第三方服务平台,常见的360云监控,百度云观测,DNSPod监控,阿里云监控等就已经不错了,但是第三方的监控可能无法满足自己多个服务器监控的需要,所以我们就想到了自建服务器状态监控系统。
本篇文章将要分享的三个脚本:ServerStatus,Stat Hub,Workerman vmstat,都可以帮你快速搭建一个多服务器在线状态监控平台,ServerStatus自动安装Caddy并配置好HTTP服务的,然后接收各个客户端实时发来的信息并通过网站显示出来。
Stat Hub是一个帮您收集并展示众多服务器状态的服务,优点在于可以设置密码,支持SSL安全,支持域名访问。Workerman vmstat则是将vmstat命令的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况直接动态地输出到网页,方便查看,很形象。
如果你是想监控VPS主机的内存、CPU、系统负载等实时情况,你还可以试试以下三个监控工具:
- 1、自动绘图:Munin强大的服务器性能状态监控软件-多节点监控自动收集数据并绘图
- 2、VPS服务器系统状态信息监控工具Glances和NodeQuery:实时检测VPS在线状态
- 3、网站宕机和服务器运行状况提醒:百度云监控BCM,百度云观测,360网站服务监控
用好这三个脚本轻松搭建服务器状态在线监控-ServerStatus,Stat Hub,Vmstat
1、ServerStatus项目:
- 1、优化版:https://github.com/ToyoDAdoubi/ServerStatus-Toyo
- 2、汉化版:https://github.com/tenyue/ServerStatus
- 3、备份:https://github.com/freehao123/ServerStatus-Toyo
2、建议下载ServerStatus优化版本,支持一键安装部署,省去了你手动编辑配置的麻烦。系统要求:CentOS 7 / Debian 7+ / Ubuntu 14.04 + 。需要 Python 2.7版本以上才可以正常运行,如果不是那么请升级( python -V 查看版本)。
3、注意:CentOS6 系统默认的Python版本是2.6,版本太低,使用客户端会出问题,请升级Python或者更换系统。安装命令如下:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/status.sh && chmod +x status.sh #备用 wget -N --no-check-certificate https://www.ucblog.net/status.sh && chmod +x status.sh |
4、下载好了后,执行命令显示服务端安装与配置菜单:bash status.sh s。首先使用请输入1开始安装ServerStatus。
5、安装时ServerStatus会询问你设置服务端的域名(如果要使用域名,请先将域名解析到你的服务器IP上),如果使用IP访问可以直接回车。最后是设置一个访问端口,默认的是8888。
6、最后,就是询问是否由脚本自动配置好HTTP服务,一般地来说就是选择Y。
7、如下所示ServerStatus安装成功了。
1、初始配置ServerStatus时,先进入到服务器菜单然后选择 :设置 服务端配置。
2、接着选择添加节点配置。
3、这里就可以为你的服务器客户端设置一个账号、密码,同时填写节点的类型、位置、节点名称等,你可以直接输入中文。(点击放大)
4、配置好服务器客户端。进入到你要监控的VPS主机那里,按照上面的方法执行安装ServerStatus,然后执行命令调出客户端菜单:bash status.sh c,选择安装客户端。
5、填写你的客户端的IP地址,输入你刚刚在服务端那边设置好的账号与密码。
6、稍等一会儿,就可以成功安装好ServerStatus客户端了。
7、打开你的VPS服务端IP+端口号的形式,你就可以成功运行ServerStatus,同时你也可以看到刚刚添加好的监控端的服务器状态了。(点击放大)
8、ServerStatus操作的管理命令如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
客户端: 启动:service status-client start 停止:service status-client stop 重启:service status-client restart 查看状态:service status-client status 服务端: 启动:service status-server start 停止:service status-server stop 重启:service status-server restart 查看状态:service status-server status Caddy(HTTP服务): 启动:service caddy start 停止:service caddy stop 重启:service caddy restart 查看状态:service caddy status |
9、如果你想修改ServerStatus的文件,你可以进入目录中进行相应的调整。
1 2 3 4 5 6 |
Caddy配置文件:/usr/local/caddy/caddy 安装目录:/usr/local/ServerStatus 网页文件:/usr/local/ServerStatus/web 配置文件:/usr/local/ServerStatus/server/config.json 客户端查看日志:tail -f tmp/serverstatus_client.log 服务端查看日志:tail -f /tmp/serverstatus_server.log |
1、Stat Hub项目:
- 1、项目:https://github.com/likexian/stathub-go
- 2、备用:https://github.com/freehao123/stathub-go
2、Stat Hub 是一个帮您收集并展示众多服务器状态的脚本。它由两部分组成,一是服务端,用于接收、储存和展示状态;另一个是客户端,它用于收集并发送状态到服务端。安装命令如下:
1 2 3 4 5 |
Linux (如果有curl) curl --insecure https://raw.githubusercontent.com/likexian/stathub-go/master/setup.sh | sh Linux (如果有wget) wget --no-check-certificate -O - https://raw.githubusercontent.com/likexian/stathub-go/master/setup.sh | sh |
3、如下图表示Stat Hub安装成功了。
4、用你的浏览器访问:https://ip:15944,点击信任证书,然后输入密码:likexian。
5、这个就是Stat Hub 的监控界面,在这里你可以看到VPS的内存、CPU、IO、系统负载等情况。(点击放大)
6、修改密码和获得客户端安装地址。修改默认密码可以点击右上角的密码。点击“help”可以得到Stat Hub 客户端安装地址。
7、Stat Hub 会给出客户端的安装地址,你直接复制就行了。
8、然后到你的客户端的VPS那里执行该安装命令,确定安装完成。
9、稍等一会儿,刷新你的监控界面,你就可以看到刚刚添加的VPS主机的在线状态了。
四、服务器状态在线监控脚本三:workerman-vmstat安装使用
1、workerman-vmstat项目:
- 1、项目主页:https://github.com/walkor/workerman-vmstat
- 2、备用:https://github.com/freehao123/workerman-vmstat
2、workerman-vmstat安装命令如下:
1 2 3 |
git clone https://github.com/walkor/workerman-vmstat cd workerman-vmstat composer install |
3、最后执行启动命令:php start.php start -d,打开http://ip:55555或者http://域名:55555,就可以看到如下动态形象的服务器在线状态监控了。(点击放大)
4、出现bash: composer: command not found Installation,解决办法:
1 2 3 4 |
下载 composer curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer composer -V 如果有结果就表示安装成功了。 |
5、如果没有数据,请检查一下你的Linux防火墙的规则有没有开启55555端口。添加端口到防火墙规则中方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
查看状态: iptables -L -n 方法1: 使用iptables开放如下端口 /sbin/iptables -I INPUT -p tcp --dport 55555 -j ACCEPT 保存 /etc/rc.d/init.d/iptables save 重启服务 service iptables restart 查看需要打开的端口是否生效? /etc/init.d/iptables status 方法2: 直接编辑/etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 55555 -j ACCEPT 保存在前面部分 再重启: service iptables restart |
1、与第三方的服务器监控服务相比,自建服务器状态监控制定制性更高,同时又可以根据自己的需要来修改VPS监控的指标,对于提升产品体验有很大的帮助。
2、当然,自建服务器在线监控也存在一定的弊端,例如服务端的网络不稳定,会导致监控数据不准确,同时监控指标简单,不能存储和形成系统化的数据分析。