2

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 支持的指标的一部分。

4

0 回答 0