我会感谢任何有关驼峰指标问题的建议。我使用的是camel spring DSL + prometheus + camel metrics。
骆驼情境:
<bean id="policy" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicy" >
<property name="useJmx" value="true"/>
<property name="jmxDomain" value="custom_metrics"/>
</bean>
...
...
<route id="myRoute" routePolicyRef="policy">
<from uri="direct:myOriginalRoute"/>
<setExchangePattern pattern="InOnly"/>
<to uri="metrics:counter:simple.counter" />
</route>
普罗米修斯配置:
startDelaySecs: 10
ssl: false
lowercaseOutputName: true
lowercaseOutputLabelNames: true
控制台输出:
2018-04-17 13:11:20,306 | INFO | 8]-nio2-thread-7 | ServerSession
| 177 - org.apache.sshd.core - 0.14.0 | Server session created from
/127.0.0.1:56828
2018-04-17 13:11:39,831 | INFO | orter-1-thread-1 | MetricsComponent
| 60 - org.apache.camel.camel-metrics - 2.15.0 | type=COUNTER,
name=simple.counter, count=7
因此,正如您所看到的,我的路线中的指标正在运行,按预期计算(&#34; 7&#34;)。但是在导出的Json中,值不正确:&#34; 1.0&#34;。但是,JVM特定的指标也存在,自定义指标名称也只有,我的自定义指标值只缺失。
导出JSON(curl localhost:5050 / metrics):
jvm_memory_pool_bytes_max{pool="Code Cache",} 2.5165824E8
jvm_memory_pool_bytes_max{pool="Metaspace",} -1.0
jvm_memory_pool_bytes_max{pool="Compressed Class Space",} 1.073741824E9
jvm_memory_pool_bytes_max{pool="PS Eden Space",} 8.50395136E8
jvm_memory_pool_bytes_max{pool="PS Survivor Space",} 1.0747904E8
jvm_memory_pool_bytes_max{pool="PS Old Gen",} 2.147483648E9
...
...
org_apache_camel_mycomponent_singleton{type="endpoints",
name="\"metrics://counter:simple.counter\"",} 1.0
有什么想法吗?谢谢!