tailf

一个类似linux tail的web版本日志滚动查看工具

码云(https://gitee.com/aqu415/tailf)

CSDN(https://blog.csdn.net/Aqu415/article/details/114419320)

背景

前一段时间由于项目原因,需要经常上服务器看日志;由于没有公共的页面查看与下载,就需要频繁的登录服务器,然后执行一堆命令,最后才能看到日志;
这个过程太繁琐痛苦,网上搜了一圈没有合适的工具,于是自己写了一个简单的日志实时查看的工具;

原理

  1. Websocket + FileAlterationListenerAdaptor:通过监听文件变化,再增量获得变化的内容通过websocket发送给浏览器客户端
  2. 多服务器场景下master与slave之间netty连接(异常后重连逻辑未开发)

gitee地址

https://gitee.com/aqu415/tailf

原理


整体架构:

内部实现:

  1. Websocket + FileAlterationListenerAdaptor:通过监听文件变化,增量获得变化的内容通过websocket发送给浏览器客户端
  2. 多服务器场景下master与slave之间netty连接(异常后重连逻辑未开发)

特性

  1. 支持界面实时查看、搜索日志功能
  2. 支持文件下载
  3. 支持master、slave模式,通过master界面直接查看所有服务器日志(省去多个服务器需要记住多个访问链接的问题)
  4. slave自动部署(未开发)
  5. 日志智能分析(未开发)

本地调试

  • 本地调试如果需要监听多个目录可以通过以下配置,多个目录间以英文 ; 分隔
  • 然后执行 com.xx.log.LogApplication.main 方法即可本地启动;

注:配置文件里的监听目录配置是默认配置,可被启动参数覆盖(如:IDE配置启动参数,或者打成jar包后用 jar 命令启动后的参数)

打包

依赖spring-boot打包插件,打成可执行jar包

服务器上jar包启动

支持监听多个目录

linux:使用springboot参数策略:
java -jar -Dtailf.monitor-path=/usr/logs/tomcat1;/usr/logs/tomcat2 tailf-web-xxx.jar &
或
java -jar tailf-web-xxx.jar --tailf.monitor-path=/usr/logs/tomcat1;/usr/logs/tomcat2 &
具体参数会在下面列表列举或者指定整个配置文件
java -jar tailf-web-xxx.jar --spring.config.location=/usr/local/application.yaml &windows:使用springboot参数策略:
java -jar -Dtailf.monitor-path=/usr/logs/tomcat1;/usr/logs/tomcat2 tailf-web-xxx.jar
或
java -jar tailf-web-1.0-xxx.jar --tailf.monitor-path=d:/tomcat1;d:/tomcat2或者指定整个配置文件
java -jar tailf-web-xxx.jar --spring.config.location=d:/application.yaml
参数名称 备注 属性
tailf.monitor-path 本地监听目录,可以设置多个以 ; 隔开 com.xx.log.properties.AppProperties
tailf.default-show-line-num 默认初始显示内容行数 同上
tailf.web-role 当前应用的角色(master、slave) 同上
tailf.master-netty-host 如果当前应用角色是slave,则需要配置向master web注册IP 同上
tailf.master-netty-port 如果当前应用角色是slave,则需要配置向master web注册netty端口 同上

参考:spring boot参数传递

界面视图

Extjs风格

  • 访问地址:http://localhost:10086/

文件下载

在树节点上右键即可弹出下载菜单

master-slave模式

如果有多台服务器需要进行日志查看,但是又不想记住多个服务器访问地址则可以使用master-slave模式,具体操作如下:

1、master配置

  • 配置当前服务器角色是master
  • 配置master服务器的内网IP(与slave通信会使用)
  • 配置master netty监听端口

2、slave配置

  • 这三个配置除了角色配置成 slave,其他两项都配置成一样的。如下:

3、启动服务

  • 首先启动master

  • 再启动slave(另外启动一个IDE)

master控制台打印slave注册信息:

  • 界面效果:

文件支持下载和搜索

远端服务器日志实时查看工具 Web-tailf相关推荐

  1. 开源服务器日志实时查看系统,开源日志管理系统

    开源日志管理系统 内容精选 换一换 鲲鹏工程师培训及认证为客户提供鲲鹏认证伙伴基于open系开源内核构建的商业软件培训,包含商业软件介绍.特性描述.操作使用.开发指导等内容. 来自:其他 MindX ...

  2. 服务器日志的查看常用命令总结

    身为一介码农,避免不了查看日志,如果自己做的是小项目,日志查询起来比较简单,但是如果日志比较多的时候,查询起来 就会比较复杂,有时候出现一个问题,自己定位错误定位的时间也会比较长,导致开发时间延长.一 ...

  3. 服务器log文件清理,服务器日志切割清理工具(LogCutter)

    对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能.如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求.例如:如何在每个星期六凌 ...

  4. SQL日志文件查看工具(Log Explorer for SQL Server v4.2)

    下载地址:http://download.csdn.net/source/2284248 1.Log Explorer for SQL Server v4.2.1 该软件我比较推荐的 安装完毕后,注册 ...

  5. HTML日志查看器,如何在网页实时查看APP日志

    写在前面 对于一个已经上线的APP,如果没有自己的Log系统.一旦线上出现问题,你就会收到各种领导微信的艾特,各种客户投诉.所以一套自己成熟的Log系统是至关重要的.本文重点还是说局域网下日志实时查看 ...

  6. 自动生成web服务器日志解析规则

    2019独角兽企业重金招聘Python工程师标准>>> 当前web服务器的多样化使得访问日志的数据清洗变得越来越复杂,企业需要投入专业的数据清洗人员编写数据清洗规则(解析规则或者解析 ...

  7. 项目实战:Qt贝塞尔曲线拽托顶点实时显示工具

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  8. 通过Xshell登录远程服务器实时查看log日志

    主要想总结以下几点: 1.如何使用生成密钥的方式来登录Xshell连接远端服务器 2.在远程服务器上如何上传和下载文件(下载log文件到本地) 3.如何实时查看log,提取错误信息 一.  使用生成密 ...

  9. dump文件分析工具_使用这个 Python 工具分析你的 Web 服务器日志文件 | Linux 中国...

    导读:这个 Python 模块可以以多种格式收集网站使用日志并输出良好结构化数据以进行分析. 本文字数:3262,阅读时长大约:4分钟https://linux.cn/article-12512-1. ...

最新文章

  1. js进阶 13-5 jquery队列动画如何实现
  2. 如何在 InfoPath 2003 表单中动态加载数据
  3. Python连接Oracle-常见问题
  4. Android应用神器:高级终端Termux
  5. 引入pingfang SC字体
  6. PROTEL技术大全
  7. HTML加载图片跨域
  8. sqlite转sql2000数据库
  9. 以淘宝网为例,解析大型Java项目架构演进
  10. JAVA内存区域划分
  11. 从 RTL 到 GDS :基于 OpenLANE
  12. 解决问题:UnicodeDecodeError utf-8 codec cant decode byte 0xb5 in position 116:
  13. SSLOJ——P1738.水洼的大小
  14. iOS开发中的Web应用概述
  15. 【日常折腾】Y7000P触控板失灵这件事
  16. win7 桌面计算机不显示器,教你解决win7检测不到第二个显示器的方法
  17. 多宫格视频是什么软件_抖音上的四/多宫格视频是怎么做出来的?多宫格视频一个接一个播放的制作技巧...
  18. 用原生 Audio API 实现一个千千静听
  19. docker容器的通讯——内部访问外部
  20. 基于阈值方法的大津法(OTSU算法)---图像分割

热门文章

  1. 2年的感悟,未来的方向
  2. 记账软件,管理借还款,教你如何登记还款信息
  3. paddle动态图自定义算子(python版)
  4. python和c#做一个简单的有铃声的定时闹钟
  5. HTML窗口大小变化相应页面变化+字体动画显示
  6. xilinxFPGA使用差分信号及差分信号有关的原语
  7. 圣诞节福利,支付宝官方红包!每天可领16.8元红包,直接当钱用
  8. RT_Thread_进程间通讯——消息队列
  9. Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu
  10. 初来乍到,我手写我心