【问题标题】:Micrometer ElasticSearch convert JSON name to KeyMicrometer ElasticSearch 将 JSON 名称转换为 Key
【发布时间】:2021-04-18 14:58:21
【问题描述】:

我的应用程序中有一个千分尺 + 弹簧执行器,它在 kibana 中以这种方式显示:

"name": "jvm_threads_daemon",
    "type": "gauge",
    "cluster": "cluster_app",
    "kubernetes_namespace": "test",
    "kubernetes_pod_name": "fargate-ip-10-121-31-148.ec2.internal",
    "value": 18

但我想转换成这个:

"jvm_threads_daemon": "18",
    "type": "gauge",
    "cluster": "cluster_app",
    "kubernetes_namespace": "test",
    "kubernetes_pod_name": "fargate-ip-10-121-31-148.ec2.internal",
    "value": 18

所以,请注意,我需要将指标作为标签名称,而不是在“名称”中。这可以用微米吗?

查看我的 application.yml:

management:
  endpoints:
    web:
      exposure:
        include: "*"
      base-path: /actuator
      path-mapping.health: health
  endpoint:
    health:
      probes:
        enabled: true
      show-details: always
  metrics:
    export:
      elastic:
        host: "https://elastico.url:443"
        index: "metricbeat-k8s-apps"
        user-name: "elastic"
        password: "xxxx"
        step: 30s
        connect-timeout: 10s
    tags:
      cluster: "cluster_app"
      kubernetes.pod.name: ${NODE_NAME}
      kubernetes.namespace: ${POD_NAMESPACE}

【问题讨论】:

    标签: elasticsearch kibana micrometer spring-actuator


    【解决方案1】:

    您可以扩展/实现自己的ElasticMeterRegistry 并定义自己的format

    但要考虑的一件事:如果您进行所需的更改,您将如何在 Kibana 中查询/过滤/聚合指标?

    【讨论】:

    • Kibana 的有趣之处在于它被设计为使用指标名称作为字段名称,如上面的示例 jvm_threads_daemon...
    • 我不知道为什么它更好:name:jvm_threads_daemon vs. _exists_: jvm_threads_daemon
    猜你喜欢
    • 2016-12-14
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多