当前位置: 首页 > 知识库问答 >
问题:

将日志文件流式传输到远程客户端

鲜于阳
2023-03-14

我有一个在远程服务器(debian linux)上运行的Java应用程序。该应用程序将运行时信息记录到文件中。

偶尔,支持人员需要使用客户端工具(不是在服务器上运行,而是在支持人员的桌面上运行)分析日志。然后,该工具需要远程访问

    < li >服务器上的旧日志文件 < li >当前日志文件(实时增长)

我正在搜索一种良好的(=标准,灵活,安全,调试良好等)方式将这些过去和现在的日志消息流式传输到我的客户端工具。

如何做到这一点?

是否存在提供此服务的库?

syslog可以用来做这件事吗?

编辑:出于隐私原因,日志文件应仅存储在远程服务器上,通常不会发送到中央日志服务。

共有2个答案

史烈
2023-03-14

最简单的方法可能是在Linux上设置samba,这样您就可以在日志更新时远程访问它们,而无需复制它们。

您可以使用rsync。这允许您在机器之间安全地复制对文件的更改。即附加文件将仅复制自上次rsync以来的改变。注意:您必须重复运行它才能不断看到更新。

如果可以修改工具来支持SSH,例如通过VFS,那么您就可以像在本地一样访问远程文件。

冯飞鹏
2023-03-14

为什么不使用Log4j的功能,通过TCP向远程服务器发布日志文件呢?Log4j是一个标准的Java日志工具(众所周知/有良好的文档记录),设置远程连接非常简单。

我过去曾使用它来跨网络传输,并在一个通用的可搜索目录结构中整理来自多台计算机的日志文件(当您不知道进程可能在哪里运行时,在网格环境中非常有用)

有关详细信息,请参阅本页。

 类似资料:
  • 如何将日志文件从Windows 7传输到Linux中的HDFS? Windows中的水槽出现错误 我已经在Windows 7(节点1)上安装了“flume-node-0.9.3”。“flumenode”服务正在运行,localhost:35862可以访问 在Windows中,日志文件位于“C:/logs/Weblogic”。log' CentOS Linux(节点2)中的Flume代理也在运行。

  • 问题内容: 我产生了以下孩子:我希望在客户端( 浏览器 )上 一个接一个地 而不是整体接收ping结果。 到目前为止,我已经尝试过了: 然后: 在这两种情况下,浏览器都将等待10次ping操作,然后将结果整体打印出来。我想让他们一个接一个,如何实现呢? (客户只是在拨打电话并用console.log记录结果) 编辑: 尽管我确实相信websockets是实现这一点所必需的,但我只是想知道是否还有其

  • 问题内容: 我设法将文件从客户端大块上传到服务器,但是现在我想实现相反的方式。不幸的是,此部分缺少官方模块页面上的文档。 我要执行以下操作: 向服务器发出流和带有文件名的“下载”事件 服务器应创建一个readstream并将其通过管道传输到客户端发出的流 当客户端到达流时,将出现一个下载弹出窗口,并询问将文件保存在何处 我不想使用简单的文件超链接的原因令人困惑:服务器上的文件已加密并重命名,因此我

  • 问题内容: 我正在使用NodeJ(带有Express),并且试图将zip文件流式传输回客户端。zip中包含的文件不在文件系统上,而是动态创建的。我想将文件内容流式传输到zip并将流式传输回客户端。 IE浏览器,我希望客户端收到: 快速创建1,2,3.txt并将其流式传输到zip文件。这可能吗? 问题答案: 存档器具有一个append方法,使您可以将文本另存为文件。要将数据“流化”给用户,您可以简单

  • 我正在尝试编写同时使用gRPC和REST的服务。实现技术有Java、Spring-Boot和gRPC。使用场景示例如下: 目的是有外部客户端可以通过RESTendpoint和/或通过进行gRPC调用与应用程序交互。在内部,有“网关”服务提供外部接口,并负责在外部客户端和执行实际工作的“域”服务之间传输/路由请求和响应。内部服务将通过gRPC进行通信。 外部客户端不知道如何在内部处理事情,域服务没有

  • 问题内容: 看起来Spring 不能将响应直接流式传输到文件而不将其全部缓存在内存中。使用较新的Spring 5实现此目标的合适方法是什么? 我看到人们已经找到了解决此问题的一些变通方法/技巧,但是我对使用正确的方法更感兴趣。 有许多用于下载二进制数据的示例,但几乎所有示例都将其加载到内存中。 问题答案: 使用最近稳定的Spring WebFlux(截至撰写时为5.2.4.RELEASE): 对我