遠端服務器日誌實時查看工具 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註冊信息:
在這裏插入圖片描述

  • 界面效果:

在這裏插入圖片描述

支持文件下載和內容搜索

相關文章
相關標籤/搜索