glances实现服务器资源监控
glances实现服务器资源监控
在这篇文章中我将会传授使用glances10min搭建一个服务器性能实时监控系统的车技~!
准备工作
- 什么是glances
glances是一个由python实现的类似top
或htop
的服务器性能监控工具,区别在于glances提供的信息和可使用的参数更多,具体其中包括信息:
- CPU 使用率
- 内存使用情况
- 内核统计信息和运行队列信息
- 磁盘 I/O 速度、传输和读/写比率
- 文件系统中的可用空间
- 磁盘适配器
- 网络 I/O 速度、传输和读/写比率
- 页面空间和页面速度
- 消耗资源最多的进程
- 计算机信息和系统资源
安装glances
建议安装py2.7.x下的glances,原因是由于在搭建glances的web server环境时py3下的glances的配套bottle框架貌似没有完全兼容(我在我的mac测试未通过)出现字符编码错误
1
pip install glances
在命令行中使用glances
安装完成后直接在终端下执行命令
1 | glances |
如果出现类似这样的画面,那么恭喜你,你的glances工具就算是安装好了
当然glances的用法远不止如此,更多的glances用法及命令行参数释义,请查阅官方的doc
搭建glances实时监控web服务
安装bottle
glances的web服务需要和bottle框架配合才能使用,所以需要先安装bottle,同样是建议安装py2.7.x版本
1
pip install bottle
启动glances服务
1
glances -w
此时终端上就会有相应的输出,你可以根据终端提示在浏览器端进行访问,页面如下
服务器上的简单部署
由于bottle也是符合WSGI规范的web应用,所以部署思路和其它WSGI应用如Django,Flask相同:使用nginx作为反向代理将请求转发至glances服务端口即可
部署前的工作
上文说得全部
nginx
- screen
开始部署
i. 进入screen,然后开启glances服务
1
2screen -S glances # 新建一个名叫一个[glances]的任务session
glances -w # 开启glances服务然后Ctrl + a, Ctrl + d 将glances任务Detached掉
ii. 配置nginx
1)我们肯定不希望自己服务器的信息被别人知道,所以要使用nginx提供的认证功能
我以自己的实际部署情况为例
1
2
3
4
5
6
7
8# 请使用带有root身份的用户登录
➜ cd /etc/nginx/passwd # 进入自己密码文件所在目录
➜ htpasswd -c ./auth.txt test # 新建一个test用户
New password: # 输入密码
Re-type new password:
Adding password for user test
➜ cat auth.txt # 查看文件信息
test:$apr1$xQWpR2dM$228RMBelnZn.8o3GPE7E/12)编写nginx配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13server {
listen 80;
server_name [your domain];
auth_basic "Please input password";
auth_basic_user_file /etc/nginx/passwd/auth.txt;
location / {
#include uwsgi_params;
proxy_pass http://127.0.0.1:61208;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
}
}3)检查nginx语法然后重启nginx
1
2sudo nginx -t
sudo systemctl restart nginx测试
接下来你就可以测试你的nginx认证和性能监控是否正常运行了
认证成功之后就可以看到之前类似本机的web测试页面了,如果出错了,你可以进入screen查看报错原因
怎么样,有没有觉得很easy呢~😋😋😋