0

解释:

  • 我在一个 EC2 实例上部署了一个可执行 Jar,它可以手动运行以在端口 80 上侦听代理流量
  • 我在另一个 EC2 实例上有一个 Spring 应用程序,它访问了第三方服务器上的网站

这两台机器之间的连接:

Spring应用程序设置,即B告诉第三方服务器打开一个网站并使用A作为代理,这会导致在A上生成网络调用日志。

我想要做的是:对于我从 B 发送到第三方服务器的每个请求,我希望将 A 上生成的网络日志传输到 B

我尝试了什么:

  1. 一种方法是轮换 A 上的日志并写入 S3,然后应用程序从 S3 中选择并处理它们
  2. ssh 进入 A 并 grep 日志文件,但这会阻止 JAR 侦听新流量并且卡住

我在找什么:

一种实时解决方案,一旦日志显示在 AI 上,希望它们被移植到 B 而无需停止 A 的侦听工作

4

2 回答 2

0

正如 Kevin 提到的,您可以在 EC2 实例上设置 Splunk Indexer 并使用它来聚合来自 A 和 B 以及任何其他来源的日志集合,然后使用 Splunk Search 语言“近乎实时地搜索此日志数据” “,将各种系统中的事件关联在一起,创建自定义仪表板,设置主动警报等......

http://www.splunk.com/

至于将这些数据从您的系统获取到 Splunk Indexer 的机制:

1) 使用 Splunk Universal Forwarder 监控日志输出并将其转发到您的 Splunk Indexer,http://www.splunk.com/download/universalforwarder

2) 由于您的系统是基于 Java 的,SplunkJavaLogging 具有 log4j/logback/jdk 附加程序,您可以无缝连接到您的日志记录配置,以将日志事件转发到您的 Splunk 索引器:https ://github.com/damiendallimore/SplunkJavaLogging

3) 使用 Splunk Java SDK,http ://dev.splunk.com/view/java-sdk/SP-CAAAECN,通过 HTTP REST 或 Raw TCP 将日志事件输入到 Splunk Indexer

于 2012-08-13T05:50:53.447 回答
0

我不确定您正在运行什么操作系统,但如果您正在运行 nix 变体,您可以安装 syslog-ng 而不是 syslog 或 rsyslog,它能够记录本地和外部事件。在这种情况下,我将设置一个中央日志服务器,它侦听来自服务器 a 和服务器 b 的日志。

另一种选择是 syslog-ng 不是您想要的,您可以在服务器上安装 splunk,并让它从您要集中记录的每台服务器上的 splunk 报告器中获取日志。

希望这可以帮助。

于 2012-08-10T00:46:00.307 回答