SpringCloud 指标发射器
Spring Boot Actuator为Micrometer提供依赖项管理和自动配置,Micrometer是一种支持众多监视系统的应用程序度量外观。
Spring Cloud Stream提供了将任何可用的基于千分尺的度量标准发送到绑定目标的支持,从而允许从流应用程序定期收集度量标准数据,而无需依赖于轮询各个端点。
通过定义spring.cloud.stream.bindings.applicationMetrics.destination
属性来激活“度量标准发射器”,该属性指定当前绑定程序用于发布度量标准消息的绑定目标的名称。
例如:
spring.cloud.stream.bindings.applicationMetrics.destination=myMetricDestination
前面的示例指示绑定程序绑定到myMetricDestination
(即,Rabbit交换,Kafka主题等)。
以下属性可用于自定义指标的发射:
- spring.cloud.stream.metrics.key
发出的度量标准的名称。每个应用程序的唯一值。
默认值:
${spring.application.name:${vcap.application.name:${spring.config.name:application}}}
- spring.cloud.stream.metrics.properties
允许白名单应用程序属性添加到度量有效负载
默认值:null。
- spring.cloud.stream.metrics.meter-filter
控制要捕获的“仪表”的模式。例如,指定
spring.integration.*
将捕获名称以spring.integration.
开头的仪表的度量标准信息默认值:捕获所有“仪表”。
- spring.cloud.stream.metrics.schedule-interval
控制发布度量标准数据的速率的时间间隔。
默认值:1分钟
考虑以下:
java -jar time-source.jar \ --spring.cloud.stream.bindings.applicationMetrics.destination=someMetrics \ --spring.cloud.stream.metrics.properties=spring.application** \ --spring.cloud.stream.metrics.meter-filter=spring.integration.*
下面的示例显示由于上述命令而发布到绑定目标的数据的有效负载:
{ "name": "application", "createdTime": "2018-03-23T14:48:12.700Z", "properties": { }, "metrics": [ { "id": { "name": "spring.integration.send", "tags": [ { "key": "exception", "value": "none" }, { "key": "name", "value": "input" }, { "key": "result", "value": "success" }, { "key": "type", "value": "channel" } ], "type": "TIMER", "description": "Send processing time", "baseUnit": "milliseconds" }, "timestamp": "2018-03-23T14:48:12.697Z", "sum": 130.340546, "count": 6, "mean": 21.72342433333333, "upper": 116.176299, "total": 130.340546 } ] }
鉴于在迁移到Micrometer后Metric消息的格式略有变化,发布的消息还将STREAM_CLOUD_STREAM_VERSION
标头设置为2.x
,以帮助区分Metric消息和旧版本的Spring Cloud Stream 。
更多建议: