OpenMetrics 加入 CNCF

导航至

OpenMetrics Logo

上周五,云原生计算基金会 (CNCF) 宣布接受 OpenMetrics 进入 CNCF 沙箱,OpenMetrics 是一种开源指标暴露格式,也是 Prometheus 暴露格式 的演进。

CNCF 是“致力于使云原生计算普及和可持续的开源软件基金会”;他们为各种用于构建“云原生”软件的项目提供家园和支持——即可扩展、持久的分布式系统,通过互联网连接提供功能。第一个从 CNCF“毕业”的项目是 Kubernetes;OpenMetrics 作为“沙箱”项目加入基金会,这是他们对早期阶段工作的分类。

很高兴看到这种努力获得更广泛社区的支持。Prometheus 指标 暴露格式已成为基于拉取指标的事实标准格式,因此很高兴看到该标准被分解为自己的项目,为进一步协作和进一步集成到更广泛的供应商生态系统中打开了大门。

Prometheus 暴露格式是我们长期以来在 TICK Stack 中支持的内容,无论是在 Telegraf(我们的收集代理)中,还是在 Kapacitor(我们的流式和批处理引擎)中。

Telegraf 既可以抓取指标,也可以以 Prometheus 格式暴露指标。以下是通过 /metrics 端点暴露的一些 Telegraf 系统指标的示例

# HELP system_load1 Telegraf collected metric
# TYPE system_load1 gauge
system_load1{host="demo-host.local"} 2.61
# HELP system_load15 Telegraf collected metric
# TYPE system_load15 gauge
system_load15{host="demo-host.local"} 2.19
# HELP system_load5 Telegraf collected metric
# TYPE system_load5 gauge
system_load5{host="demo-host.local"} 2.23
# HELP system_n_cpus Telegraf collected metric
# TYPE system_n_cpus gauge
system_n_cpus{host="demo-host.local"} 4
# HELP system_n_users Telegraf collected metric
# TYPE system_n_users gauge
system_n_users{host="demo-host.local"} 5
# HELP system_uptime Telegraf collected metric
# TYPE system_uptime counter
system_uptime{host="demo-host.local"} 230446

可以通过启用 Prometheus 输入插件 来抓取以 Prometheus 格式暴露的指标,方法是确保您的配置中存在以下部分

# Read metrics from one or many prometheus clients
[[inputs.prometheus]]
  ## An array of urls to scrape metrics from.
  urls = [
    "http://localhost:9100/metrics",
    "http://remotehost.com:9100/metrics",
    "http://192.168.1.199:9100/metrics",
  ]

  ## An array of Kubernetes services to scrape metrics from.
  # kubernetes_services = ["http://my-service-dns.my-namespace:9100/metrics"]

  ## Use bearer token for authorization
  # bearer_token = /path/to/bearer/token

  ## Specify timeout duration for slower prometheus clients (default is 3s)
  # response_timeout = "3s"

  ## Optional TLS Config
  # tls_ca = /path/to/cafile
  # tls_cert = /path/to/certfile
  # tls_key = /path/to/keyfile
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

如果您需要生成新的 Telegraf 配置以与 Prometheus 一起使用,可以使用以下命令,添加您要启用的任何其他插件,例如 系统插件,以 : 分隔,如下所示

$ telegraf --sample-config --input-filter prometheus:system --output-filter prometheus_client

Kapacitor 也可以抓取 Prometheus 风格的端点。您可以在 Kapacitor 抓取和发现 的文档中找到有关此功能的更多信息。

展望未来,InfluxData 将支持 OpenMetrics 格式作为一等公民,并与其他开源公司和组织合作,推动该标准向前发展。那么,我们可以对未来有何期待呢?

了解项目进展的最新信息并参与讨论的最佳方式是通过 OpenMetrics GitHub 页面,特别是 GitHub Issues。目前正在进行许多有趣的讨论,例如 关于如何对指标进行版本控制的讨论

您可以在 此处阅读完整公告