XXX服务器 网页监控查看登陆用户、登陆时间、登陆IP、在线时间、流量统计等信息

之前记录了XXX服务器端怎样查看登陆用户、登陆时间、登陆IP、在线时间、流量统计等信息,保存下来后在/var/log里边一个文本里,查看的时候需要SSH连接到服务器通过cat,tail等文本文件查看器查看,不够方便。我的这个服务器同时跑着我的博客,LAMP方案,一直在思考如果能网页端查看就太棒了。

之前的方案在这里:https://shuspieler.com/blog/756/

就在刚才想到了一个迂回解决方案,显示效果稍微有点low,但是能看到哪个用户在线,能查看历史连接,以及标题中所有的那些信息,凑合着已经解决了我的需求。具体解决办法如下:

(默认我认为读者也配置好了http服务器,不一定是apache和PHP,其他的理论上也可以)

通过下边命令将log文件软连接到网页文件夹:

sudo ln -s /var/log/XXX-ppp0.log /var/www/html/

之后,通过浏览器尝试打开 http://服务器IP/XXX-ppp2.log 提示Forbidden禁止连接。这是预想到的,因为权限问题,运行apache的用户没有权限读取这个log文件。

通过ls -l 查看/var/log/XXX-ppp0.log得知这个文件属于root组的root用户。apache默认用户是www-data,为何使这个用户有读取权限,我的解决办法是将XXX-ppp0.log换成www-data所在的组,也就是同名的www-data组,同时将XXX-ppp0.log权限设置成组成员可读,命令如下:

sudo chgrp www-data /var/log/XXX-ppp0.log
sudo chmod g+r /var/log/XXX-ppp0.log

第一句将XXX-ppp0.log的组换成了www-data,第二个命令赋予了这个文件组成员可读的权限。

之后查看文件权限长这样:

第二个r代表了组成员有读取权限,并且这个文件还属于root,但是组换成了www-data。

之后通过浏览器访问下边的页面即可看XXX用户情况,多个ppp的log是放之多用户冲突:

http://服务器IP/XXX-ppp0.log

根据上篇教程贴可知,如果用户在线,日志中之写入了登陆信息,当用户离线,则写入离开时间以及流量用量等信息。

****************************************************
username: XXX
clientIP: XXX.XXX.XXX.XXX
device: ppp0
xxxIP: 172.16.0.1
assignIP: 172.16.0.10
logintime: 2018-06-10_17:11:20

如果打开那个网页在线,说明当前XXX正在线,如果离线,则打开网页显示如下:

****************************************************
username: XXX
clientIP: XXX.XXX.XXX.XXX
device: ppp0
xxxIP: 172.16.0.1
assignIP: 172.16.0.10
logintime: 2018-06-10_17:11:20
downtime: 2018-06-10_17:11:21
bytes sent: 3272 B
bytes received: 3626 B
bytes sum: 0 MB
average speed: 6.73 KB/s
connect time: 1 S
****************************************************

这样就都达了查看用户是否在线的功能,以及网页查看XXX使用情况的功能。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.