我将来自camel-metrics的指标数据发送到AWS CloudWatch。在这样做时,一些骆驼路线(收集指标,处理错误)会扭曲我的数据。
所以我希望这些路由仍然有用,但要从Camel Metrics中排除。是否有选项/属性可以这样做?我没有发现任何与此相关的内容。
我的另一个猜测是Camel Metrics有一个Interceptor SpringBean,它收集数据并保存到JMX。如果我可以覆盖该方法并手动排除不必要的路线,那也没关系。那么有这样的拦截器,它的名称是什么?
修改
我找到了MetricsRoutePolicyFactory - 它为路由创建了指标策略。我从指标策略中筛选出不必要的路由,因此不会收集它们,但不知何故它们仍然可以访问jmx。
EDIT2:
我发现,默认情况下,Camel会将指标保存到JMX(至少我使用的是:路由和上下文),因此它与camel-metrics无关。
答案 0 :(得分:2)
Camel JMX存储所有路由和CamelContext等的JMX数据。您不能仅仅为此路由说明,而不是为此。有一个JIRA票AFAIR关于每条路线能够打开JMX。但今天没有实施。
然而,另一种方法是将Camel JMX配置为仅在已明确指定id的情况下注册mbeans。然后,您可以为要监视的路由使用assign id。然后保留指定路由ID的其他路由。但是,如果您还需要处理器的JMX统计信息,则还需要为它们分配ID。
请参阅选项 onlyRegisterProcessorWithCustomId http://camel.apache.org/camel-jmx.html