如何在Tomcat上运行的Spring REST应用程序上找到未使用的端点?

时间:2018-11-28 02:58:02

标签: java spring tomcat splunk

我们在Tomcat上运行Spring应用程序,并在一段时间内向应用程序添加了多个REST端点。现在,我们希望将其修整并删除GUI不再使用的所有未使用的端点。

我们确实使用了Splunk,但是它只会提供来自Tomcat的localhost_access文件上的日志聚合器的活动端点上的命中数。我们希望找到点击数为0的终点。

最直接的方法是编写某种python脚本,该脚本从Tomcat复制启动数据,并获取所有端点(或手动输入)。然后将它们放入一个哈希映射中,然后浏览最近几个月的Tomcat服务器日志中的本地主机访问文件,并在遇到相应端点时增加一个计数器。然后打印出此哈希图中所有值为0的键。

以上是这样做的可行方法,还是存在更简单的方法?

2 个答案:

答案 0 :(得分:1)

Splunk本质上是一个搜索引擎,并且像其他任何搜索引擎一样,无法找到不存在的内容。没有命中的端点将不会在Splunk中包含数据,因此不会出现在搜索结果中。

解决此类问题的常用方法是从已知对象列表开始,然后减去Splunk发现的对象。结果是未使用对象的列表。您自己用哈希图的想法触及了这个概念。

创建一个CSV文件,其中包含所有端点的列表。我将其称为endpoints.csv。然后在这样的搜索中使用它:

index=foo endpoint=* NOT [ inputlookup endpoint.csv | format ]

答案 1 :(得分:0)

查找未使用的端点的一种方法,请访问access.log,检查几天后会访问所有端点的日志。您将了解在一段时间内未使用哪些端点。