Я использую SCDF с метриками Spring Boot 2.x и сборщиком метрик SCDF для сбора метрик из моего приложения Spring Boot.Я действительно не понимаю логику коллектора в отношении данных aggregateMetrics
.
Когда я выбираю список метрик, собранных для моего потока, у меня есть только тот, который начинается с integration.channel.*
, и поэтому у меня естьтолько значение означает .Я перепробовал все, чтобы другие метрики выглядели как те, которые выставляются конечной точкой /actuator/prometheus
.
Мне кажется, я неправильно понял способ агрегирования метрик.Я заметил, что SCDF автоматически добавляет некоторые свойства к метрикам, и я хотел бы применить эти свойства ко всем моим выставленным метрикам, чтобы собрать их все.
{
"_embedded": {
"streamMetricsList": [
{
"name": "poc-stream",
"applications": [
{
"name": "poc-message-sink",
"instances": [
{
"guid": "poc-stream-poc-message-sink-v7-75b8f4dcff-29fst",
"key": "poc-stream.poc-message-sink.poc-stream-poc-message-sink-v7-75b8f4dcff-29fst",
"properties": {
"spring.cloud.dataflow.stream.app.label": "poc-message-sink",
"spring.application.name": "poc-message-sink",
"spring.cloud.dataflow.stream.name": "poc-stream",
"spring.cloud.dataflow.stream.app.type": "sink",
"spring.cloud.application.guid": "poc-stream-poc-message-sink-v7-75b8f4dcff-29fst",
"spring.cloud.application.group": "poc-stream",
"spring.cloud.dataflow.stream.metrics.version": "2.0"
},
"metrics": [
{
"name": "integration.channel.input.send.mean",
"value": 0,
"timestamp": "2018-10-25T16:34:39.889Z"
}
]
}
],
"aggregateMetrics": [
{
"name": "integration.channel.input.send.mean",
"value": 0,
"timestamp": "2018-10-25T16:34:52.894Z"
}
]
},
...
У меня есть несколько Micrometer
счетчиков, которые я хочуполучить значения с помощью коллектора метрик.Я знаю, что они хорошо видны, потому что я правильно настроил все свойства и даже зашел в запущенный контейнер Docker, чтобы проверить конечные точки.
Я прочитал, что
При развертывании приложенийData Flow устанавливает свойство spring.cloud.stream.metrics.properties, как показано в следующем примере:
spring.cloud.stream.metrics.properties = spring.application.name, spring.application.index, spring.cloud.application. *, spring.cloud.dataflow. *
Значения этих ключей используются в качестве тегов для выполнения агрегации.В случае приложений 2.x эти значения ключей отображаются непосредственно на теги в библиотеке микрометра.Свойство spring.cloud.application.guid можно использовать для отслеживания конкретного экземпляра приложения, сгенерировавшего метрику.
Означает ли это, что мне нужно специально добавить эти свойства в тегивсе мои показатели?Я знаю, что могу сделать это с помощью Bean MeterRegistryCustomizer
, возвращающего следующее: registry -> registry.config().commonTags(tags)
с тегами, имеющими свойства, которые SCDF обычно устанавливает для метрик integration
.Или SCDF добавляет ко ВСЕМ метрикам свои свойства?
Спасибо!