1. 程式人生 > 其它 >遠端伺服器日誌實時檢視工具 Web-tailf

遠端伺服器日誌實時檢視工具 Web-tailf

伺服器日誌檢視

tailf

一個類似linux tail的web版本日誌滾動檢視工具

碼雲(https://gitee.com/aqu415/tailf)

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

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

背景

前一段時間由於專案原因,需要經常上伺服器看日誌;由於沒有公共的頁面檢視與下載,就需要頻繁的登入伺服器,然後執行一堆命令,最後才能看到日誌;
這個過程太繁瑣痛苦,網上搜了一圈沒有合適的工具,於是自己寫了一個簡單的日誌實時檢視的工具;

原理


整體架構:

內部原理:

  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 點我起飛

本地除錯步驟

  • 將程式碼clone到本地,專案採用的框架是 spring-boot
  • 本地除錯如果需要監聽多個目錄可以通過以下截圖裡的配置,多個目錄間以英文 ; 分隔
  • 然後執行 com.xx.log.LogApplication.main 方法即可本地啟動;

注:配置檔案裡的監聽目錄配置是預設配置,可被啟動引數覆蓋(如:IDE配置啟動引數,或者打成jar包後用 jar 命令啟動後的引數)

打包

依賴spring-boot打包外掛,打成可執行jar包

伺服器上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模式,具體操作如下:

1、master配置

  • 配置當前伺服器角色是master
  • 配置master伺服器的內網IP(與slave通訊會使用)
  • 配置master netty監聽埠

2、slave配置

  • 這三個配置除了角色配置成 slave,其他兩項都配置成一樣的。如下:

3、啟動服務

  • 首先啟動master
  • 再啟動slave(另外啟動一個IDE)

master控制檯列印slave註冊資訊:

  • 介面效果:

支援檔案下載和內容搜尋