2013-01-10 120 views
2

我有一個運行在遠程服務器(debian linux)上的Java應用程序。該應用程序將運行時信息記錄到文件中。將日誌文件流式傳輸到遠程客戶端

偶爾,支持人員需要使用客戶端工具(不在服務器上運行,但在支持桌面上)分析日誌。然後,該工具需要

  1. 舊的日誌文件的遠程訪問服務器
  2. 當前日誌文件上(實時成長)

我在尋找一個良好的(=標準,靈活,安全的,良好的調試等)將這些過去和現在的日誌消息流式傳輸到我的客戶端工具。

怎麼會這樣做呢?

是否存在提供此服務的庫?

syslog可以適應這樣做嗎?

編輯:出於隱私的原因,日誌文件應該只存儲在遠程服務器上,通常不會發送到中央日誌記錄服務。

回答

2

爲什麼不使用Log4j作爲日誌文件發佈者通過TCP發送到遠程服務器的能力? Log4j是一個標準的Java日誌工具(衆所周知/有據可查),並且設置遠程連接非常簡單。

我用這個在過去的跨網絡傳輸和整理記錄來自多臺機器上的文件使用一個普通的搜索目錄結構(在網格環境中非常有用,當你不知道你的程序可以運行)

查看this page瞭解更多詳情。

+0

我懷疑他們希望能夠在臨時基礎上查看另一臺計算機上的文件更改。使用CDFS或NFS:| –

+0

這就是這個提供的。 TCP日誌條目傳輸到遠程進程 –

+0

有趣的,所以我可以說我希望最後幾周的日誌和當前日誌只能根據需要來到我的PC。即當我知道我有問題時。您不希望將日誌發送到每個可能想要查看日誌的PC。 –

0

最簡單的方法很可能是在Linux機器上設置samba,因此您可以遠程訪問日誌,因爲它們在更新時無需複製。


你可以使用rsync。這使您可以安全地將更改複製到計算機之間的文件中。即附加文件只會複製自上次rsync以來的更改。注意:您必須反覆運行以保持看到更新。

如果可以修改工具以支持SSH例如通過VFS,那麼你可以像訪問本地一樣訪問遠程文件。

相關問題