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

tailf

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

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

github同步(https://github.com/aqu415/tailf)git

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

背景

前一段时间因为项目缘由,须要常常上服务器看日志;因为没有公共的页面查看与下载,就须要频繁的登陆服务器,而后执行一堆命令,最后才能看到日志;
这个过程太繁琐痛苦,网上搜了一圈没有合适的工具,因而本身写了一个简单的日志实时查看的工具;web

原理


总体架构:

在这里插入图片描述

内部原理:spring

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

特性

  1. 支持界面实时查看、搜索日志功能
  2. 支持文件下载
  3. 支持master、slave模式,经过master界面直接查看全部服务器(master+slave)的日志,解决须要记住多个连接的问题
  4. slave自动部署到服务器(规划中,未开发)
  5. 日志智能分析(规划中,未开发)

gitee地址

https://gitee.com/aqu415/tailf 点我起飞windows

本地调试步骤

  • 将代码clone到本地,项目采用的框架是 spring-boot
  • 本地调试若是须要监听多个目录能够经过如下截图里的配置,多个目录间以英文 ; 分隔
  • 而后执行 com.xx.log.LogApplication.main 方法便可本地启动;

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

在这里插入图片描述

打包

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

在这里插入图片描述

服务器上jar包启动

支持监听多个目录服务器

linux后台运行:
nohup java -jar tailf-web-1.0-xxx.jar "/usr/logs/tomcat1" "/usr/logs/tomcat2" &
or
java -jar tailf-web-1.0-xxx.jar "/usr/logs/tomcat1" "/usr/logs/tomcat2" &

windows窗口启动
java -jar tailf-web-1.0-xxx.jar "/usr/logs/tomcat1" "/usr/logs/tomcat2"

效果

Extjs风格

在这里插入图片描述

文件下载

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

在这里插入图片描述

master-slave模式

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

一、master配置

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

在这里插入图片描述

二、slave配置

  • 这三个配置除了角色配置成 slave,其余两项都配置成同样的。以下:

在这里插入图片描述

三、启动服务

  • 首先启动master

在这里插入图片描述

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

master控制台打印slave注册信息:
在这里插入图片描述

  • 界面效果:

在这里插入图片描述

支持文件下载和内容搜索

相关文章
相关标签/搜索