我有一个驻留在多个站点上的多个服务器上的 Java EE 应用程序。
应用程序的每个实例都在本地生成日志。
Java EE 应用程序还通过 SOAP/HTTP 与 IBM Mainframe CICS 应用程序进行通信。
这些 CICS 应用程序在多个站点上的多个大型机 LPAR 上的多个 CICS 区域中执行。
与 Java EE 应用程序一样,CICS 应用程序在本地生成日志。
尝试解决问题非常耗时。这需要支持人员手动登录到 UNIX 服务器和/或大型机 LPARS 来跟踪特定问题的所有相关日志。
我们正在研究的一种解决方案是创建一个从 UNIX 和大型机收集所有分布式日志的单点。
我们正在研究的另一个领域是是否有可能将客户端流量驱动到指定的 Java EE 服务器和 IBM Mainframe LAPS,直至特定的应用程序服务器节点和单个 IBM CICS 区域。
我们只想为“合成”客户呼叫(例如由我们的支持人员生成的呼叫)执行此操作,而不是“真实”客户流量。
这可能吗?
例如,假设我们有 10 台 UNIX 服务器分布在两个地理站点上,如下所示:-
Geo One: UNIX_1, UNIX_3, UNIX_5, UNIX_7, UNIX_9
Geo Two: UNIX_2, UNIX_4, UNIX_6, UNIX_8, UNIX_0
四个 IBM 大型机 lpar 在两个两个地理位置如下:-
Geo One: lpar_a, lpar_c
Geo Two: lpar_b, lpar_d
每个 lpar 有 8 个 cics 区域
cicsa_1, cicsa_2... cicsa_8
cicsb_1, cicsb_2... cicsb_8
cicsc_1, cicsc_2... cicsc_8
cicsd_1, cicsd_2... cicsd_8
我们希望为我们的合成流量定位一条单一路线
unix_5 > lpar_b, > cicsb_6
这样我们就知道在所有平台上在哪里寻找日志输出
更新 - 0001
“合成流量”是指我们的支持人员会向我们的后端 API 进行客户端调用,而不是“真正的”前端用户。
如果我们的支持人员可以指定这些合成调用经过的确切路线,他们将确切知道在每个步骤中要搜索哪些日志文件。
这些日志文件每个都非常大,有 10 多 MB,其中有很多
例如,我们的一个应用程序在 64 台 UNIX 物理服务器上运行,分布在 2 个地理位置。每个 UNIX 服务器托管多个应用服务器节点,每个节点产生多个日志文件,每个日志文件为 10MB+。日志文件会翻转,因此日志输出会很快丢失。