遠端伺服器日誌實時檢視工具 Web-tailf
阿新 • • 發佈:2021-08-07
伺服器日誌檢視
整體架構:
tailf
一個類似linux tail的web版本日誌滾動檢視工具
碼雲(https://gitee.com/aqu415/tailf)
github同步(https://github.com/aqu415/tailf)
CSDN(https://blog.csdn.net/Aqu415/article/details/114419320)
背景
前一段時間由於專案原因,需要經常上伺服器看日誌;由於沒有公共的頁面檢視與下載,就需要頻繁的登入伺服器,然後執行一堆命令,最後才能看到日誌;
這個過程太繁瑣痛苦,網上搜了一圈沒有合適的工具,於是自己寫了一個簡單的日誌實時檢視的工具;
原理
整體架構:
內部原理:
- Websocket + FileAlterationListenerAdaptor:通過監聽檔案變化,增量獲得變化的內容通過websocket傳送給瀏覽器客戶端
- 多伺服器場景下master與slave之間netty連線(異常後重連邏輯未開發)
特性
- 支援介面實時檢視、搜尋日誌功能
- 支援檔案下載
- 支援master、slave模式,通過master介面直接檢視所有伺服器(master+slave)的日誌,解決需要記住多個連結的問題
- slave自動部署到伺服器(規劃中,未開發)
- 日誌智慧分析(規劃中,未開發)
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註冊資訊:
- 介面效果:
支援檔案下載和內容搜尋