Spring Boot 执行器的 /metrics 返回指标名称列表
{
"names": [
"jvm.gc.pause",
"tomcat.global.received",
"jvm.memory.used",
...
]
}
我想通过弹性搜索指标节拍配置指标聚合。我使用弹性搜索自动发现和 http 模块
metricbeat.autodiscover:
providers:
- type: kubernetes
host: ${HOSTNAME}
templates:
- condition.equals:
kubernetes.labels.app: employee-rewards
config:
- module: http
metricsets: json
period: 10s
hosts: ["${data.host}:8080"]
namespace: "app_metrics"
path: /actuator/metrics/jvm.gc.pause
method: "GET"
- module: http
metricsets: json
period: 10s
hosts: ["${data.host}:8080"]
namespace: "app_metrics"
path: /actuator/metrics/jvm.memory.used
method: "GET"
方法的问题是,当微服务团队添加新指标时,我需要配置指标节拍以包含添加的指标。
相反,有什么方法可以在单个 json 中获取所有指标值?
{
"@timestamp": "2018-08-14T20:16:02.339Z",
"tomcat_global_received_count": 0,
"tomcat_global_request_max_value": 0.3569999933242798,
"tomcat_sessions_active_current_value": 0,
"tomcat_sessions_active_max_value": 0,
"tomcat_sessions_expired_count": 0,
"tomcat_sessions_alive_max_value": 0,
"jvm_memory_committed_value": 854982656,
"jvm_gc_pause_max": 0,
"jvm_gc_pause_count": 4,
"jvm_memory_used_value": 429412576,
"tomcat_global_request_count": 106,
"host": {
"name": "webapp003.my.network.example.com"
},
"jvm_threads_peak_value": 64,
"jvm_memory_max_value": 4518313984
}
我知道执行器支持推送机制,将指标直接推送到弹性搜索。但我不能使用它,因为我想要关于 Kubernetes 环境的其他详细信息作为 metricsbeat 支持的指标的一部分。