当前位置:首页 期刊杂志

基于thinkphp的nginx日志监控系统

时间:2024-07-28

赵 震,张艺童,龙继元

(西南科技大学计算机科学与技术学院 四川 绵阳 621000)

1 引言

当前,国内外对于服务器日志监控及可视化分析都有一定研究,服务器产生以及应用程序的日志信息都具有极大的研究价值。服务器的运行状态以及状态预测,都可基于日志分析得来。此时,针对日志文件的自动监控系统的设计和实现,就显得尤为重要。它在发现问题、提高系统稳定性、分析系统性能等方面发挥着巨大的作用[1]。

本系统主要采用BSC(Browser-Server-Client)架构对nginx产生的日志进行采集和监控,采集主要采用定时脚本方式进行,将采集后的数据进行有效的划词并存储在mysql数据库中,同时,在划词方式中,系统支持二次开发引入个性化的处理。解决了业务数据的收集难、存储和分析困难的问题[2]。

2 体系设计

日志监控系统主要采用BSC(Browser-Server-Client)架构进行设计,实现了日志数据的采集、分析、存储、展示等功能。系统的体系设计如图1所示。

图1 体系设计图

2.1 主要数据库设计

数据库设计主要分为用户管理、错误日志管理、访问日志管理、应用程序日志管理四个部分。对于应用程序日志管理模块,可根据不同的应用程序日志格式进行特定数据表设计,设计方式同错误和访问日志。访问日志数据表设计如表1所示,用户管理数据表设计如表2所示。

表1 访问日志数据表

表2 用户管理数据表

2.2 后台模块管理

后台模块主要分为用户管理,内容管理,定时任务管理三大模块。用户管理含用户登录,用户注册等功能。内容管理含服务器日志监控、应用程序日志监控。定时任务兼容linux和windows两种环境。windows采用bat方式执行脚本,linux采用cron方式执行脚本,从而采集服务器产生的日志数据。

3 实现应用

3.1 日志监控数据采集

测试环境下,系统采集数据为nginx1.2的error.log和access,log数据,其格式分别如下。

例access.log:(远程地址--访问时间 方式 URL 浏览器信息)

127.0.0.1 --[06/Mar/2018:19:31:16 +0800] "GET/test.php HTTP/1.1" 200 80530 "-" "Mozilla/5.0(Windows NT WOW64) AppleWebKit/537.36(KHTML,like Gecko) Chrome/64.0.3282.186"

例error.log:(时间 错误级别 错误代号 错误详细信息 客户端地址 服务端地址等)

2018/03/06 19:31:16[error]7728#14144:CreateFile()"D:/phpstorm/projects/favicon.ico" failed (2:The system cannot find the file specified),client:127.0.0.1,server:localhost

3.2 数据分析及可视化展示

分析展示,采用数据文本和可视化两种方式进行。部分展示结果如图2。数据文本展示系统采用划词方式进行关键信息的出采集;可视化展示,系统以划词后的关键字为索引,进行分类统计,从而得出不同类型错误或访问信息的比例等,并以多种图表的方式将其展示出来。

图2 可视化展示1

4 结语

本系统主要采用定时读取、划词存储、关键词分析等方式,实现对日志信息的有效分析和可视化展示。系统运行效果稳定,界面友好,配置方便且易于使用,对于服务器管理以及相关应用程序的监控都具有良好的实际应用价值和参考意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!