2017-10-11 58 views
2

我将度量标准数据从camel-metrics发送到AWS CloudWatch。虽然这样做一些骆驼路线(收集指标,处理错误)扭曲了我的数据。如何忽略骆驼指标的路线?

所以我希望这些路线仍然有效,但是要从骆驼指标中排除。有没有一个选项/属性可以这样做?我没有找到与此相关的任何内容。

我的另一个猜测是,骆驼度量有一个拦截器SpringBean收集数据并保存到JMX。如果我可以重写该方法并手工排除不必要的路线,那也可以。那么有没有这样的拦截器,它的名字是什么?

编辑:

我发现MetricsRoutePolicyFactory - 这创造了路由指标政策。我从度量策略中筛选出不必要的路由,所以它们不会被收集,但不知何故它们仍然可以使用jmx。

EDIT2:

我想通了,那骆驼节约指标,默认情况下JMX,(至少那些我使用:路线,和上下文),所以它无关,与骆驼指标。

+0

选项onlyRegisterProcessorWithCustomId为什么不自己过滤那些不必要的途径,例如从骆驼指标 - >过滤器 - > AWS CW –

+0

@ClausIbsen因为骆驼指标保存的指标整个背景,我也监测。而且这些metics在JMX中被错误处理程序等扭曲。 – godzsa

回答

2

Camel JMX存储所有路由和CamelContext等的JMX数据。你不能只说这个路由,而不是这个。有关于能够打开每条路线JMX的JIRA票AFAIR。但今天它没有实施。

但是,另一种方法是将Camel JMX配置为仅在已明确分配标识的情况下注册mbeans。然后,您可以为要监控的路线使用分配ID。然后使用分配的路线ID保留其他路线。但是,如果您还需要处理器的JMX统计信息,则还需要为它们分配ID。

看到 http://camel.apache.org/camel-jmx.html

+0

谢谢!你能帮我解决吗?我如何只将RegisterProcessorWithCustomId添加到Spring?我猜这有一个前缀,但我不确定是什么,我无法从文档中看到它 – godzsa

+0

它似乎不适用于我的系统属性。我可以在MBeans的JMX中将IDless路由看作“route1”,“route2”... – godzsa